gem5 v24.0.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 57 of file local_memory_pipeline.hh.
gem5::LocalMemPipeline::LocalMemPipeline | ( | const ComputeUnitParams & | p, |
ComputeUnit & | cu ) |
Definition at line 45 of file local_memory_pipeline.cc.
void gem5::LocalMemPipeline::exec | ( | ) |
Definition at line 52 of file local_memory_pipeline.cc.
References gem5::Shader::coissue_return, computeUnit, gem5::Wavefront::computeUnit, DPRINTF, gem5::ComputeUnit::getTokenManager(), lmIssuedRequests, lmQueueSize, lmReturnedRequests, gem5::ComputeUnit::locMemToVrfBus, gem5::ArmISA::m, gem5::WaitClass::rdy(), gem5::TokenManager::recvTokens(), gem5::Shader::ScheduleAdd(), gem5::ComputeUnit::sendToLds(), gem5::WaitClass::set(), gem5::ComputeUnit::shader, gem5::ComputeUnit::vectorSharedMemUnit, gem5::ComputeUnit::vrf, and gem5::MipsISA::w.
Referenced by gem5::ComputeUnit::exec().
|
inline |
Definition at line 62 of file local_memory_pipeline.hh.
References lmReturnedRequests.
|
inline |
Definition at line 82 of file local_memory_pipeline.hh.
References gem5::LocalMemPipeline::LocalMemPipelineStats::loadVrfBankConflictCycles, and stats.
|
inline |
Definition at line 74 of file local_memory_pipeline.hh.
References lmIssuedRequests, and lmQueueSize.
Referenced by gem5::ComputeUnit::isDone().
|
inline |
Definition at line 68 of file local_memory_pipeline.hh.
References lmQueueSize, and lmReturnedRequests.
Referenced by gem5::ComputeUnit::isDone().
void gem5::LocalMemPipeline::issueRequest | ( | GPUDynInstPtr | gpuDynInst | ) |
Definition at line 127 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 79 of file local_memory_pipeline.hh.
References _name.
|
private |
Definition at line 89 of file local_memory_pipeline.hh.
Referenced by name().
|
private |
Definition at line 88 of file local_memory_pipeline.hh.
Referenced by exec().
|
private |
Definition at line 94 of file local_memory_pipeline.hh.
Referenced by exec(), isLMReqFIFOWrRdy(), and issueRequest().
|
private |
Definition at line 90 of file local_memory_pipeline.hh.
Referenced by exec(), isLMReqFIFOWrRdy(), and isLMRespFIFOWrRdy().
|
private |
Definition at line 98 of file local_memory_pipeline.hh.
Referenced by exec(), getLMRespFIFO(), and isLMRespFIFOWrRdy().
|
protected |
Referenced by incLoadVRFBankConflictCycles().