memory-modeling|Details on how memory is modeled in gem5-gpu
gem5-gpu’s Memory Simulation
gem5-gpu在很大程度上避開了GPGPU-Sim的單獨功能模擬,而是使用了gem5的執行中執行模型。因此,當執行存儲/加載時,內存會被更新/讀取。沒有單獨的功能路徑。(順便說一句,這并不是嚴格正確的。由于Ruby的一些特性,內存是在功能上模擬的,而不是保存在緩存層次結構中。但是,對于你看待模擬器的方式來說,這根本不重要。)
gem5-gpu使用Ruby來建模大多數計算單元(CU)的內存訪問的功能和時序,包括負載-存儲管道、地址合并、虛擬地址轉換和緩存仲裁邏輯。這種細致的建模使得gem5-gpu能夠更好地捕捉CPU和GPU之間的交互,而gem5的內存系統模型則沒有專門針對GPU的優化。
Lifetime of a memory access
Here is a trace of a memory operation through gem5: - GPGPU-Sim executes a ld/st (see gpgpu-sim/gpgpu-sim/shader.cc: ldst_unit