Go to the documentation of this file.
45 #ifndef __MEM_CACHE_MSHR_QUEUE_HH__
46 #define __MEM_CACHE_MSHR_QUEUE_HH__
78 MSHRQueue(
const std::string &_label,
int num_entries,
int reserve,
97 Tick when_ready,
Counter order,
bool alloc_on_fill);
158 #endif //__MEM_CACHE_MSHR_QUEUE_HH__
int allocated
The number of currently allocated entries.
MSHR ::List readyList
Holds pointers to entries that haven't been sent downstream.
bool forceDeallocateTarget(MSHR *mshr)
Deallocate top target, possibly freeing the MSHR.
void markPending(MSHR *mshr)
Mark an in service entry as pending, used to resend a request.
uint64_t Tick
Tick count type.
void moveToFront(MSHR *mshr)
Moves the MSHR to the front of the pending list if it is not in service.
const int numReserve
The number of entries to hold as a temporary overflow space.
int64_t Counter
Statistics counter type.
void delay(MSHR *mshr, Tick delay_ticks)
Adds a delay to the provided MSHR and moves MSHRs that will be ready earlier than this entry to the t...
const int numEntries
The total number of entries in this queue.
const int demandReserve
The number of entries to reserve for future demand accesses.
bool canPrefetch() const
Returns true if sufficient mshrs for prefetch.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
MSHR * allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter order, bool alloc_on_fill)
Allocates a new MSHR for the request and size.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
A high-level queue interface, to be used by both the MSHR queue and the write buffer.
bool havePending() const
Returns true if the pending list is not empty.
MSHRQueue(const std::string &_label, int num_entries, int reserve, int demand_reserve)
Create a queue with a given number of entries.
A Class for maintaining a list of pending and allocated memory requests.
void markInService(MSHR *mshr, bool pending_modified_resp)
Mark the given MSHR as in service.
Miss Status and handling Register.
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17