49 #ifndef __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
50 #define __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
68 template<
typename Entry>
95 void print(std::ostream &
os,
int verbosity,
96 const std::string &prefix)
const;
183 const std::string &prefix =
"")
const;
190 std::string
print()
const;
193 #endif // __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
Target * getTarget()
Returns a reference to the first target.
void print(std::ostream &os, int verbosity, const std::string &prefix) const
int getNumTargets() const
Returns the current number of allocated targets.
TargetList targets
List of all requests that match the address.
A write queue for all eviction packets, i.e.
WriteQueueEntry()
A simple constructor.
List::iterator Iterator
WriteQueueEntry list iterator.
bool sendPacket(Cache &cache)
Send this queue entry as a downstream packet, with the exact behaviour depending on the specific entr...
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.
std::string print() const
A no-args wrapper of print(std::ostream...) meant to be invoked from DPRINTFs avoiding string overhea...
const Tick readyTime
Time when request is ready to be serviced.
void deallocate()
Mark this entry as free.
A template-policy based cache.
bool checkFunctional(PacketPtr pkt)
Tick curTick()
The current simulated tick.
uint64_t Tick
Tick count type.
Target(PacketPtr _pkt, Tick _readyTime, Counter _order)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool checkFunctional(PacketPtr pkt)
int64_t Counter
Statistics counter type.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
Abstract base class for objects which support being printed to a stream for debugging.
std::list< WriteQueueEntry * > List
A list of write queue entriess.
const Tick recvTime
Time when request was received (for stats)
A queue entry base class, to be used by both the MSHRs and write-queue entries.
Iterator readyIter
Pointer to this entry on the ready list.
bool hasTargets() const
Returns true if there are targets left.
void popTarget()
Pop first target.
const PacketPtr pkt
Pending request packet.
Iterator allocIter
Pointer to this entry on the allocated list.
void allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter _order)
Allocate a miss to this entry.
const Counter order
Global order (for memory consistency mgmt)
void add(PacketPtr pkt, Tick readyTime, Counter order)