gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::ScalarMemPipeline Class Reference

#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)
 
void injectScalarMemFence (GPUDynInstPtr gpuDynInst, bool kernelMemSync, RequestPtr req)
 
bool isGMLdRespFIFOWrRdy () const
 
bool isGMStRespFIFOWrRdy () const
 
bool isGMReqFIFOWrRdy (uint32_t pendReqs=0) const
 
const std::string & name () const
 
void printProgress ()
 

Private Attributes

ComputeUnitcomputeUnit
 
const std::string _name
 
int queueSize
 
int inflightStores
 
int inflightLoads
 
std::queue< GPUDynInstPtrissuedRequests
 
std::queue< GPUDynInstPtrreturnedStores
 
std::queue< GPUDynInstPtrreturnedLoads
 

Detailed Description

Definition at line 59 of file scalar_memory_pipeline.hh.

Constructor & Destructor Documentation

◆ ScalarMemPipeline()

gem5::ScalarMemPipeline::ScalarMemPipeline ( const ComputeUnitParams & p,
ComputeUnit & cu )

Member Function Documentation

◆ exec()

◆ getGMLdRespFIFO()

std::queue< GPUDynInstPtr > & gem5::ScalarMemPipeline::getGMLdRespFIFO ( )
inline

Definition at line 67 of file scalar_memory_pipeline.hh.

References returnedLoads.

◆ getGMReqFIFO()

std::queue< GPUDynInstPtr > & gem5::ScalarMemPipeline::getGMReqFIFO ( )
inline

Definition at line 65 of file scalar_memory_pipeline.hh.

References issuedRequests.

◆ getGMStRespFIFO()

std::queue< GPUDynInstPtr > & gem5::ScalarMemPipeline::getGMStRespFIFO ( )
inline

Definition at line 66 of file scalar_memory_pipeline.hh.

References returnedStores.

◆ injectScalarMemFence()

void gem5::ScalarMemPipeline::injectScalarMemFence ( GPUDynInstPtr gpuDynInst,
bool kernelMemSync,
RequestPtr req )

◆ isGMLdRespFIFOWrRdy()

bool gem5::ScalarMemPipeline::isGMLdRespFIFOWrRdy ( ) const
inline

Definition at line 75 of file scalar_memory_pipeline.hh.

References queueSize, and returnedLoads.

◆ isGMReqFIFOWrRdy()

bool gem5::ScalarMemPipeline::isGMReqFIFOWrRdy ( uint32_t pendReqs = 0) const
inline

Definition at line 87 of file scalar_memory_pipeline.hh.

References issuedRequests, and queueSize.

◆ isGMStRespFIFOWrRdy()

bool gem5::ScalarMemPipeline::isGMStRespFIFOWrRdy ( ) const
inline

Definition at line 81 of file scalar_memory_pipeline.hh.

References queueSize, and returnedStores.

◆ issueRequest()

◆ name()

const std::string & gem5::ScalarMemPipeline::name ( ) const
inline

Definition at line 92 of file scalar_memory_pipeline.hh.

References _name.

Referenced by ScalarMemPipeline().

◆ printProgress()

void gem5::ScalarMemPipeline::printProgress ( )

Definition at line 248 of file scalar_memory_pipeline.cc.

References issuedRequests, returnedLoads, and returnedStores.

Member Data Documentation

◆ _name

const std::string gem5::ScalarMemPipeline::_name
private

Definition at line 98 of file scalar_memory_pipeline.hh.

Referenced by name(), and ScalarMemPipeline().

◆ computeUnit

ComputeUnit& gem5::ScalarMemPipeline::computeUnit
private

Definition at line 97 of file scalar_memory_pipeline.hh.

Referenced by exec(), injectScalarMemFence(), and ScalarMemPipeline().

◆ inflightLoads

int gem5::ScalarMemPipeline::inflightLoads
private

Definition at line 104 of file scalar_memory_pipeline.hh.

Referenced by exec(), and ScalarMemPipeline().

◆ inflightStores

int gem5::ScalarMemPipeline::inflightStores
private

Definition at line 103 of file scalar_memory_pipeline.hh.

Referenced by exec(), and ScalarMemPipeline().

◆ issuedRequests

std::queue<GPUDynInstPtr> gem5::ScalarMemPipeline::issuedRequests
private

◆ queueSize

int gem5::ScalarMemPipeline::queueSize
private

◆ returnedLoads

std::queue<GPUDynInstPtr> gem5::ScalarMemPipeline::returnedLoads
private

◆ returnedStores

std::queue<GPUDynInstPtr> gem5::ScalarMemPipeline::returnedStores
private

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

Generated on Mon May 26 2025 09:19:25 for gem5 by doxygen 1.13.2