46#ifndef __MEM_CACHE_QUEUE_ENTRY_HH__
47#define __MEM_CACHE_QUEUE_ENTRY_HH__
68 template <
class Entry>
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
Interface for things with names.
virtual std::string name() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
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.
const Tick readyTime
Time when request is ready to be serviced.
const Tick recvTime
Time when request was received (for stats)
PacketPtr pkt
Pending request packet.
const Counter order
Global order (for memory consistency mgmt)
A queue entry base class, to be used by both the MSHRs and write-queue entries.
bool _isUncacheable
True if the entry is uncacheable.
bool isUncacheable() const
virtual bool sendPacket(BaseCache &cache)=0
Send this queue entry as a downstream packet, with the exact behaviour depending on the specific entr...
virtual bool matchBlockAddr(const PacketPtr pkt) const =0
Check if entry contains a packet that corresponds to the one being looked for.
unsigned blkSize
Block size of the cache.
virtual bool matchBlockAddr(const Addr addr, const bool is_secure) const =0
Check if entry corresponds to the one being looked for.
virtual bool conflictAddr(const QueueEntry *entry) const =0
Check if given entry's packets conflict with this' entries packets.
virtual Target * getTarget()=0
Returns a pointer to the first target.
Addr blkAddr
Block aligned address.
Counter order
Order number assigned to disambiguate writes and misses.
bool inService
True if the entry has been sent downstream.
QueueEntry(const std::string &name)
bool isSecure
True if the entry targets the secure memory space.
Tick readyTime
Tick when ready to issue.
A high-level queue interface, to be used by both the MSHR queue and the write buffer.
double Counter
All counters are of 64-bit values.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Tick curTick()
The universal simulation clock.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint64_t Tick
Tick count type.
Declaration of the Packet class.
A virtual base opaque structure used to hold state associated with the packet (e.g....