Go to the documentation of this file.
46 #ifndef __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
47 #define __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
71 template<
typename Entry>
83 void print(std::ostream &
os,
int verbosity,
84 const std::string &prefix)
const;
171 const std::string &prefix =
"")
const override;
178 std::string
print()
const;
185 #endif // __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
void allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter _order)
Allocate a miss to this entry.
A queue entry is holding packets that will be serviced as soon as resources are available.
void print(std::ostream &os, int verbosity, const std::string &prefix) const
uint64_t Tick
Tick count type.
bool hasTargets() const
Returns true if there are targets left.
bool sendPacket(BaseCache &cache) override
Send this queue entry as a downstream packet, with the exact behaviour depending on the specific entr...
bool matchBlockAddr(const Addr addr, const bool is_secure) const override
Check if entry corresponds to the one being looked for.
int64_t Counter
Statistics counter type.
bool conflictAddr(const QueueEntry *entry) const override
Check if given entry's packets conflict with this' entries packets.
List::iterator Iterator
WriteQueueEntry list iterator.
Iterator readyIter
Pointer to this entry on the ready list.
int getNumTargets() const
Returns the current number of allocated targets.
Abstract base class for objects which support being printed to a stream for debugging.
void deallocate()
Mark this entry as free.
Target * getTarget() override
Returns a reference to the first target.
Iterator allocIter
Pointer to this entry on the allocated list.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool trySatisfyFunctional(PacketPtr pkt)
void popTarget()
Pop first target.
Tick readyTime
Tick when ready to issue.
Counter order
Order number assigned to disambiguate writes and misses.
A write queue for all eviction packets, i.e.
std::string print() const
A no-args wrapper of print(std::ostream...) meant to be invoked from DPRINTFs avoiding string overhea...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
WriteQueueEntry()
A simple constructor.
A high-level queue interface, to be used by both the MSHR queue and the write buffer.
bool trySatisfyFunctional(PacketPtr pkt)
A queue entry base class, to be used by both the MSHRs and write-queue entries.
TargetList targets
List of all requests that match the address.
std::list< WriteQueueEntry * > List
A list of write queue entriess.
void add(PacketPtr pkt, Tick readyTime, Counter order)
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17