32#ifndef __GLOBAL_MEMORY_PIPELINE_HH__
33#define __GLOBAL_MEMORY_PIPELINE_HH__
41#include "params/ComputeUnit.hh"
GPUDynInstPtr getNextReadyResp()
Find the next ready response to service.
void completeRequest(GPUDynInstPtr gpuDynInst)
once a memory request is finished we remove it from the buffer.
void issueRequest(GPUDynInstPtr gpuDynInst)
Issues a request to the pipeline (i.e., enqueue it in the request buffer).
bool outstandingReqsCheck(GPUDynInstPtr mp) const
void handleResponse(GPUDynInstPtr gpuDynInst)
This method handles responses sent to this GM pipeline by the CU.
bool isGMReqFIFOWrRdy(uint32_t pendReqs=0) const
void acqCoalescerToken(GPUDynInstPtr mp)
void incLoadVRFBankConflictCycles(int num_cycles)
GlobalMemPipeline(const ComputeUnitParams &p, ComputeUnit &cu)
std::map< uint64_t, std::pair< GPUDynInstPtr, bool > > gmOrderedRespBuffer
std::queue< GPUDynInstPtr > gmIssuedRequests
ComputeUnit & computeUnit
bool coalescerReady(GPUDynInstPtr mp) const
const std::string & name() const
gem5::GlobalMemPipeline::GlobalMemPipelineStats stats
This is a simple scalar statistic, like a counter.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< GPUDynInst > GPUDynInstPtr
Declaration of Statistics objects.
statistics::Scalar loadVrfBankConflictCycles
GlobalMemPipelineStats(statistics::Group *parent)