gem5  v20.1.0.0
Public Member Functions | Private Attributes | List of all members
LocalMemPipeline Class Reference

#include <local_memory_pipeline.hh>

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 regStats ()
 
void incLoadVRFBankConflictCycles (int num_cycles)
 

Private Attributes

ComputeUnitcomputeUnit
 
const std::string _name
 
int lmQueueSize
 
Stats::Scalar loadVrfBankConflictCycles
 
std::queue< GPUDynInstPtrlmIssuedRequests
 
std::queue< GPUDynInstPtrlmReturnedRequests
 

Detailed Description

Definition at line 55 of file local_memory_pipeline.hh.

Constructor & Destructor Documentation

◆ LocalMemPipeline()

LocalMemPipeline::LocalMemPipeline ( const ComputeUnitParams *  p,
ComputeUnit cu 
)

Definition at line 44 of file local_memory_pipeline.cc.

Member Function Documentation

◆ exec()

void LocalMemPipeline::exec ( )

◆ getLMRespFIFO()

std::queue<GPUDynInstPtr>& LocalMemPipeline::getLMRespFIFO ( )
inline

Definition at line 60 of file local_memory_pipeline.hh.

References lmReturnedRequests.

◆ incLoadVRFBankConflictCycles()

void LocalMemPipeline::incLoadVRFBankConflictCycles ( int  num_cycles)
inline

Definition at line 81 of file local_memory_pipeline.hh.

References loadVrfBankConflictCycles.

◆ isLMReqFIFOWrRdy()

bool LocalMemPipeline::isLMReqFIFOWrRdy ( uint32_t  pendReqs = 0) const
inline

Definition at line 72 of file local_memory_pipeline.hh.

References lmIssuedRequests, and lmQueueSize.

Referenced by ComputeUnit::isDone().

◆ isLMRespFIFOWrRdy()

bool LocalMemPipeline::isLMRespFIFOWrRdy ( ) const
inline

Definition at line 66 of file local_memory_pipeline.hh.

References lmQueueSize, and lmReturnedRequests.

Referenced by ComputeUnit::isDone().

◆ issueRequest()

void LocalMemPipeline::issueRequest ( GPUDynInstPtr  gpuDynInst)

Definition at line 121 of file local_memory_pipeline.cc.

References curTick(), and lmIssuedRequests.

◆ name()

const std::string& LocalMemPipeline::name ( ) const
inline

Definition at line 77 of file local_memory_pipeline.hh.

References _name.

Referenced by regStats().

◆ regStats()

void LocalMemPipeline::regStats ( )

Member Data Documentation

◆ _name

const std::string LocalMemPipeline::_name
private

Definition at line 88 of file local_memory_pipeline.hh.

Referenced by name().

◆ computeUnit

ComputeUnit& LocalMemPipeline::computeUnit
private

Definition at line 87 of file local_memory_pipeline.hh.

Referenced by exec().

◆ lmIssuedRequests

std::queue<GPUDynInstPtr> LocalMemPipeline::lmIssuedRequests
private

Definition at line 93 of file local_memory_pipeline.hh.

Referenced by exec(), isLMReqFIFOWrRdy(), and issueRequest().

◆ lmQueueSize

int LocalMemPipeline::lmQueueSize
private

Definition at line 89 of file local_memory_pipeline.hh.

Referenced by exec(), isLMReqFIFOWrRdy(), and isLMRespFIFOWrRdy().

◆ lmReturnedRequests

std::queue<GPUDynInstPtr> LocalMemPipeline::lmReturnedRequests
private

Definition at line 97 of file local_memory_pipeline.hh.

Referenced by exec(), getLMRespFIFO(), and isLMRespFIFOWrRdy().

◆ loadVrfBankConflictCycles

Stats::Scalar LocalMemPipeline::loadVrfBankConflictCycles
private

Definition at line 90 of file local_memory_pipeline.hh.

Referenced by incLoadVRFBankConflictCycles(), and regStats().


The documentation for this class was generated from the following files:

Generated on Wed Sep 30 2020 14:02:26 for gem5 by doxygen 1.8.17