|
gem5 [DEVELOP-FOR-25.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) |
| 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 | |
| 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 59 of file scalar_memory_pipeline.hh.
| gem5::ScalarMemPipeline::ScalarMemPipeline | ( | const ComputeUnitParams & | p, |
| ComputeUnit & | cu ) |
Definition at line 45 of file scalar_memory_pipeline.cc.
References _name, computeUnit, inflightLoads, inflightStores, name(), gem5::MipsISA::p, and queueSize.
| void gem5::ScalarMemPipeline::exec | ( | ) |
Definition at line 54 of file scalar_memory_pipeline.cc.
References computeUnit, DPRINTF, inflightLoads, inflightStores, issuedRequests, gem5::ArmISA::m, gem5::ArmISA::mp, queueSize, returnedLoads, returnedStores, and gem5::MipsISA::w.
|
inline |
Definition at line 67 of file scalar_memory_pipeline.hh.
References returnedLoads.
|
inline |
Definition at line 65 of file scalar_memory_pipeline.hh.
References issuedRequests.
|
inline |
Definition at line 66 of file scalar_memory_pipeline.hh.
References returnedStores.
| void gem5::ScalarMemPipeline::injectScalarMemFence | ( | GPUDynInstPtr | gpuDynInst, |
| bool | kernelMemSync, | ||
| RequestPtr | req ) |
Definition at line 165 of file scalar_memory_pipeline.cc.
References computeUnit, gem5::curTick(), gem5::Request::INV_L1, gem5::Request::KERNEL, gem5::MemCmd::MemSyncReq, and gem5::Packet::pushSenderState().
|
inline |
Definition at line 75 of file scalar_memory_pipeline.hh.
References queueSize, and returnedLoads.
|
inline |
Definition at line 87 of file scalar_memory_pipeline.hh.
References issuedRequests, and queueSize.
|
inline |
Definition at line 81 of file scalar_memory_pipeline.hh.
References queueSize, and returnedStores.
| void gem5::ScalarMemPipeline::issueRequest | ( | GPUDynInstPtr | gpuDynInst | ) |
Definition at line 147 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 92 of file scalar_memory_pipeline.hh.
References _name.
Referenced by ScalarMemPipeline().
| void gem5::ScalarMemPipeline::printProgress | ( | ) |
Definition at line 248 of file scalar_memory_pipeline.cc.
References issuedRequests, returnedLoads, and returnedStores.
|
private |
Definition at line 98 of file scalar_memory_pipeline.hh.
Referenced by name(), and ScalarMemPipeline().
|
private |
Definition at line 97 of file scalar_memory_pipeline.hh.
Referenced by exec(), injectScalarMemFence(), and ScalarMemPipeline().
|
private |
Definition at line 104 of file scalar_memory_pipeline.hh.
Referenced by exec(), and ScalarMemPipeline().
|
private |
Definition at line 103 of file scalar_memory_pipeline.hh.
Referenced by exec(), and ScalarMemPipeline().
|
private |
Definition at line 108 of file scalar_memory_pipeline.hh.
Referenced by exec(), getGMReqFIFO(), isGMReqFIFOWrRdy(), issueRequest(), and printProgress().
|
private |
Definition at line 99 of file scalar_memory_pipeline.hh.
Referenced by exec(), isGMLdRespFIFOWrRdy(), isGMReqFIFOWrRdy(), isGMStRespFIFOWrRdy(), and ScalarMemPipeline().
|
private |
Definition at line 116 of file scalar_memory_pipeline.hh.
Referenced by exec(), getGMLdRespFIFO(), isGMLdRespFIFOWrRdy(), and printProgress().
|
private |
Definition at line 112 of file scalar_memory_pipeline.hh.
Referenced by exec(), getGMStRespFIFO(), isGMStRespFIFOWrRdy(), and printProgress().