Go to the documentation of this file.
40 #ifndef __MEM_QOS_Q_POLICY_HH__
41 #define __MEM_QOS_Q_POLICY_HH__
44 #include <unordered_set>
47 #include "params/QoSMemCtrl.hh"
127 PacketQueue::iterator
148 PacketQueue::iterator
151 return queue->begin();
176 PacketQueue::iterator
void enqueuePacket(PacketPtr pkt) override
This method is called by the memory controller after it enqueues a packet.
std::deque< PacketPtr > PacketQueue
The QoS::MemCtrl is a base class for Memory objects which support QoS - it provides access to a set o...
virtual PacketQueue::iterator selectPacket(PacketQueue *queue)=0
Policy selector.
A packet queue is a class that holds deferred packets and later sends them using the associated CPU-s...
Least Recently Granted Queue Policy It selects packets from the queue with a round robin-like policy:...
QueuePolicy(const QoSMemCtrlParams *p)
MemCtrl * memCtrl
Pointer to parent memory controller implementing the policy.
virtual void enqueuePacket(PacketPtr pkt)
This method is called by the memory controller after it enqueues a packet.
static QueuePolicy * create(const QoSMemCtrlParams *p)
This factory method is used for generating the queue policy.
std::list< RequestorID > toServe
Support structure for lrg algorithms: keeps track of serviced requestors, always serve the front elem...
FifoQueuePolicy(const QoSMemCtrlParams *p)
The memory controller is a single-channel memory controller capturing the most important timing const...
PacketQueue::iterator selectPacket(PacketQueue *queue) override
Implements FCFS packet select policy.
LifoQueuePolicy(const QoSMemCtrlParams *p)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Last In First Out Queue Policy.
First In First Out Queue Policy.
PacketQueue::iterator selectPacket(PacketQueue *queue) override
Implements LRG packet select policy.
LrgQueuePolicy(const QoSMemCtrlParams *p)
PacketQueue::iterator selectPacket(PacketQueue *queue) override
Implements LIFO packet select policy.
void setMemCtrl(MemCtrl *mem)
Setting a pointer to the Memory Controller implementing the policy.
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17