gem5
v21.1.0.0
|
#include <scalar_memory_pipeline.hh>
Public Member Functions | |
ScalarMemPipeline (const ComputeUnitParams &p, ComputeUnit &cu) | |
void | exec () |
std::queue< GPUDynInstPtr > & | getGMReqFIFO () |
std::queue< GPUDynInstPtr > & | getGMStRespFIFO () |
std::queue< GPUDynInstPtr > & | getGMLdRespFIFO () |
void | issueRequest (GPUDynInstPtr gpuDynInst) |
bool | isGMLdRespFIFOWrRdy () const |
bool | isGMStRespFIFOWrRdy () const |
bool | isGMReqFIFOWrRdy (uint32_t pendReqs=0) const |
const std::string & | name () const |
Private Attributes | |
ComputeUnit & | computeUnit |
const std::string | _name |
int | queueSize |
int | inflightStores |
int | inflightLoads |
std::queue< GPUDynInstPtr > | issuedRequests |
std::queue< GPUDynInstPtr > | returnedStores |
std::queue< GPUDynInstPtr > | returnedLoads |
Definition at line 60 of file scalar_memory_pipeline.hh.
gem5::ScalarMemPipeline::ScalarMemPipeline | ( | const ComputeUnitParams & | p, |
ComputeUnit & | cu | ||
) |
Definition at line 47 of file scalar_memory_pipeline.cc.
void gem5::ScalarMemPipeline::exec | ( | ) |
Definition at line 56 of file scalar_memory_pipeline.cc.
References gem5::Shader::coissue_return, computeUnit, gem5::ComputeUnit::cu_id, DPRINTF, inflightLoads, inflightStores, issuedRequests, gem5::ArmISA::m, gem5::ArmISA::mp, queueSize, gem5::WaitClass::rdy(), returnedLoads, returnedStores, gem5::ComputeUnit::scalarMemToSrfBus, gem5::ComputeUnit::scalarMemUnit, gem5::Shader::ScheduleAdd(), gem5::WaitClass::set(), gem5::ComputeUnit::shader, and gem5::MipsISA::w.
Referenced by gem5::ComputeUnit::exec().
|
inline |
Definition at line 68 of file scalar_memory_pipeline.hh.
References returnedLoads.
|
inline |
Definition at line 66 of file scalar_memory_pipeline.hh.
References issuedRequests.
|
inline |
Definition at line 67 of file scalar_memory_pipeline.hh.
References returnedStores.
|
inline |
Definition at line 73 of file scalar_memory_pipeline.hh.
References queueSize, and returnedLoads.
|
inline |
Definition at line 85 of file scalar_memory_pipeline.hh.
References issuedRequests, and queueSize.
Referenced by gem5::ScheduleStage::dispatchReady().
|
inline |
Definition at line 79 of file scalar_memory_pipeline.hh.
References queueSize, and returnedStores.
void gem5::ScalarMemPipeline::issueRequest | ( | GPUDynInstPtr | gpuDynInst | ) |
Definition at line 148 of file scalar_memory_pipeline.cc.
References issuedRequests, gem5::Wavefront::outstandingReqs, gem5::Wavefront::scalarOutstandingReqsRdGm, gem5::Wavefront::scalarOutstandingReqsWrGm, gem5::Wavefront::scalarRdGmReqsInPipe, gem5::Wavefront::scalarWrGmReqsInPipe, and gem5::Wavefront::validateRequestCounters().
|
inline |
Definition at line 90 of file scalar_memory_pipeline.hh.
References _name.
|
private |
Definition at line 94 of file scalar_memory_pipeline.hh.
Referenced by name().
|
private |
Definition at line 93 of file scalar_memory_pipeline.hh.
Referenced by exec().
|
private |
Definition at line 100 of file scalar_memory_pipeline.hh.
Referenced by exec().
|
private |
Definition at line 99 of file scalar_memory_pipeline.hh.
Referenced by exec().
|
private |
Definition at line 104 of file scalar_memory_pipeline.hh.
Referenced by exec(), getGMReqFIFO(), isGMReqFIFOWrRdy(), and issueRequest().
|
private |
Definition at line 95 of file scalar_memory_pipeline.hh.
Referenced by exec(), isGMLdRespFIFOWrRdy(), isGMReqFIFOWrRdy(), and isGMStRespFIFOWrRdy().
|
private |
Definition at line 112 of file scalar_memory_pipeline.hh.
Referenced by exec(), getGMLdRespFIFO(), and isGMLdRespFIFOWrRdy().
|
private |
Definition at line 108 of file scalar_memory_pipeline.hh.
Referenced by exec(), getGMStRespFIFO(), and isGMStRespFIFOWrRdy().