gem5
v21.1.0.0
|
#include <local_memory_pipeline.hh>
Classes | |
struct | LocalMemPipelineStats |
Public Member Functions | |
LocalMemPipeline (const ComputeUnitParams &p, ComputeUnit &cu) | |
void | exec () |
std::queue< GPUDynInstPtr > & | getLMRespFIFO () |
void | issueRequest (GPUDynInstPtr gpuDynInst) |
bool | isLMRespFIFOWrRdy () const |
bool | isLMReqFIFOWrRdy (uint32_t pendReqs=0) const |
const std::string & | name () const |
void | incLoadVRFBankConflictCycles (int num_cycles) |
Protected Attributes | |
gem5::LocalMemPipeline::LocalMemPipelineStats | stats |
Private Attributes | |
ComputeUnit & | computeUnit |
const std::string | _name |
int | lmQueueSize |
std::queue< GPUDynInstPtr > | lmIssuedRequests |
std::queue< GPUDynInstPtr > | lmReturnedRequests |
Definition at line 59 of file local_memory_pipeline.hh.
gem5::LocalMemPipeline::LocalMemPipeline | ( | const ComputeUnitParams & | p, |
ComputeUnit & | cu | ||
) |
Definition at line 47 of file local_memory_pipeline.cc.
void gem5::LocalMemPipeline::exec | ( | ) |
Definition at line 54 of file local_memory_pipeline.cc.
References gem5::Shader::coissue_return, computeUnit, DPRINTF, lmIssuedRequests, lmQueueSize, lmReturnedRequests, gem5::ComputeUnit::locMemToVrfBus, gem5::ArmISA::m, gem5::WaitClass::rdy(), gem5::Shader::ScheduleAdd(), gem5::ComputeUnit::sendToLds(), gem5::WaitClass::set(), gem5::ComputeUnit::shader, gem5::ComputeUnit::vectorSharedMemUnit, and gem5::MipsISA::w.
Referenced by gem5::ComputeUnit::exec().
|
inline |
Definition at line 64 of file local_memory_pipeline.hh.
References lmReturnedRequests.
|
inline |
Definition at line 84 of file local_memory_pipeline.hh.
References gem5::LocalMemPipeline::LocalMemPipelineStats::loadVrfBankConflictCycles, and stats.
|
inline |
Definition at line 76 of file local_memory_pipeline.hh.
References lmIssuedRequests, and lmQueueSize.
Referenced by gem5::ComputeUnit::isDone().
|
inline |
Definition at line 70 of file local_memory_pipeline.hh.
References lmQueueSize, and lmReturnedRequests.
Referenced by gem5::ComputeUnit::isDone().
void gem5::LocalMemPipeline::issueRequest | ( | GPUDynInstPtr | gpuDynInst | ) |
Definition at line 124 of file local_memory_pipeline.cc.
References gem5::curTick(), lmIssuedRequests, gem5::Wavefront::outstandingReqs, gem5::Wavefront::outstandingReqsRdLm, gem5::Wavefront::outstandingReqsWrLm, gem5::Wavefront::rdLmReqsInPipe, gem5::Wavefront::validateRequestCounters(), and gem5::Wavefront::wrLmReqsInPipe.
|
inline |
Definition at line 81 of file local_memory_pipeline.hh.
References _name.
|
private |
Definition at line 91 of file local_memory_pipeline.hh.
Referenced by name().
|
private |
Definition at line 90 of file local_memory_pipeline.hh.
Referenced by exec().
|
private |
Definition at line 96 of file local_memory_pipeline.hh.
Referenced by exec(), isLMReqFIFOWrRdy(), and issueRequest().
|
private |
Definition at line 92 of file local_memory_pipeline.hh.
Referenced by exec(), isLMReqFIFOWrRdy(), and isLMRespFIFOWrRdy().
|
private |
Definition at line 100 of file local_memory_pipeline.hh.
Referenced by exec(), getLMRespFIFO(), and isLMRespFIFOWrRdy().
|
protected |
Referenced by incLoadVRFBankConflictCycles().