46 #ifndef __MEM_CACHE_QUEUE_ENTRY_HH__ 47 #define __MEM_CACHE_QUEUE_ENTRY_HH__ 64 template <
class Entry>
99 : recvTime(
curTick()), readyTime(ready_time), order(_order),
120 : readyTime(0), _isUncacheable(false),
121 inService(false), order(0), blkAddr(0), blkSize(0), isSecure(false)
167 #endif // __MEM_CACHE_QUEUE_ENTRY_HH__ bool isSecure
True if the entry targets the secure memory space.
bool inService
True if the entry has been sent downstream.
Tick readyTime
Tick when ready to issue.
Counter order
Order number assigned to disambiguate writes and misses.
A high-level queue interface, to be used by both the MSHR queue and the write buffer.
bool isUncacheable() const
Tick curTick()
The current simulated tick.
uint64_t Tick
Tick count type.
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const Tick readyTime
Time when request is ready to be serviced.
int64_t Counter
Statistics counter type.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
A virtual base opaque structure used to hold state associated with the packet (e.g., an MSHR), specific to a SimObject that sees the packet.
A queue entry is holding packets that will be serviced as soon as resources are available.
Target(PacketPtr _pkt, Tick ready_time, Counter _order)
Default constructor.
A queue entry base class, to be used by both the MSHRs and write-queue entries.
virtual bool matchBlockAddr(const Addr addr, const bool is_secure) const =0
Check if entry corresponds to the one being looked for.
Addr blkAddr
Block aligned address.
Declaration of the Packet class.
const PacketPtr pkt
Pending request packet.
const Tick recvTime
Time when request was received (for stats)
virtual bool sendPacket(BaseCache &cache)=0
Send this queue entry as a downstream packet, with the exact behaviour depending on the specific entr...
const Counter order
Global order (for memory consistency mgmt)
virtual bool conflictAddr(const QueueEntry *entry) const =0
Check if given entry's packets conflict with this' entries packets.
unsigned blkSize
Block size of the cache.
virtual Target * getTarget()=0
Returns a pointer to the first target.
bool _isUncacheable
True if the entry is uncacheable.