Lines Matching defs:ROB

52 #include "debug/ROB.hh"
58 ROB<Impl>::ROB(O3CPU *_cpu, DerivO3CPUParams *params)
68 //Set Max Entries to Total ROB Capacity
74 DPRINTF(Fetch, "ROB sharing policy set to Partitioned\n");
79 //Divide ROB up evenly
85 DPRINTF(Fetch, "ROB sharing policy set to Threshold\n");
104 ROB<Impl>::resetState()
114 // Initialize the "universal" ROB head & tail point to invalid
122 ROB<Impl>::name() const
129 ROB<Impl>::setActiveThreads(list<ThreadID> *at_ptr)
131 DPRINTF(ROB, "Setting active threads list pointer.\n");
137 ROB<Impl>::drainSanityCheck() const
146 ROB<Impl>::takeOverFrom()
153 ROB<Impl>::resetEntries()
176 ROB<Impl>::entryAmount(ThreadID num_threads)
187 ROB<Impl>::countInsts()
199 ROB<Impl>::countInsts(ThreadID tid)
206 ROB<Impl>::insertInst(const DynInstPtr &inst)
212 DPRINTF(ROB, "Adding inst PC %s to the ROB.\n", inst->pcState());
220 //Set Up head iterator if this is the 1st instruction in the ROB
238 DPRINTF(ROB, "[tid:%i] Now has %d instructions.\n", tid, threadEntries[tid]);
243 ROB<Impl>::retireHead(ThreadID tid)
249 // Get the head ROB instruction by copying it and remove it from the list
257 DPRINTF(ROB, "[tid:%i] Retiring head instruction, "
267 //Update "Global" Head of ROB
271 // retired is the only instruction in the ROB; otherwise the tail
278 ROB<Impl>::isHeadReady(ThreadID tid)
290 ROB<Impl>::canCommit()
292 //@todo: set ActiveThreads through ROB or CPU
309 ROB<Impl>::numFreeEntries()
316 ROB<Impl>::numFreeEntries(ThreadID tid)
323 ROB<Impl>::doSquash(ThreadID tid)
326 DPRINTF(ROB, "[tid:%i] Squashing instructions until [sn:%llu].\n",
332 DPRINTF(ROB, "[tid:%i] Done squashing instructions.\n",
349 DPRINTF(ROB, "[tid:%i] Squashing instruction PC %s, seq num %i.\n",
362 DPRINTF(ROB, "Reached head of instruction list while "
382 // Check if ROB is done squashing.
384 DPRINTF(ROB, "[tid:%i] Done squashing instructions.\n",
400 ROB<Impl>::updateHead()
405 // @todo: set ActiveThreads through ROB or CPU
442 ROB<Impl>::updateTail()
480 ROB<Impl>::squash(InstSeqNum squash_num, ThreadID tid)
483 DPRINTF(ROB, "Does not need to squash due to being empty "
490 DPRINTF(ROB, "Starting to squash within the ROB.\n");
510 ROB<Impl>::readHeadInst(ThreadID tid)
525 ROB<Impl>::readTailInst(ThreadID tid)
535 ROB<Impl>::regStats()
540 .desc("The number of ROB reads");
544 .desc("The number of ROB writes");
549 ROB<Impl>::findInst(ThreadID tid, InstSeqNum squash_inst)