Current gem5-gpu Software Architecture
这是当前gem5-gpu软件架构的示意图。
Ruby是在gem5-gpu上下文中用于处理CPU和GPU之间内存访问的高度可配置的内存系统
CudaCore (src/gpu/gpgpu-sim/cuda_core.*, src/gpu/gpgpu-sim/CudaCore.py)
Wrapper for GPGPU-Sim shader_core_ctx (gpgpu-sim/gpgpu-sim/shader.h)
- Sends instruction, global and const memory requests to Ruby cache hierarchy
- Data memory accesses: Receives global and const data requests from GPGPU-Sim ldst_unit when a warp instruction is issued to it and the ldst_unit cycles (i.e. after ld_exec for the warp instruction)
- Issues per-thread data requests to ShaderLSQ, which coalesces and sends reads and writes to Ruby
- Reads and writes shader_core_ctx registers f