summaryrefslogtreecommitdiff
path: root/src/cpu/o3/rob_impl.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-04-04 20:50:49 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-04-04 20:50:49 +0000
commita664017c2a839279f8b8eea1076bba47d1863b88 (patch)
treeac302402f02133b6fda91ced93da52aaa8a8a3e8 /src/cpu/o3/rob_impl.hh
parent10fe8b05dbf38acff65d95a696cad95a45bf2e16 (diff)
parent3d2a434e42b10ef30bbb590722e72ed104be669a (diff)
downloadgem5-a664017c2a839279f8b8eea1076bba47d1863b88.tar.xz
Merge zizzer.eecs.umich.edu:/bk/newmem
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-o3-spec --HG-- extra : convert_revision : 81269f094834f43b4e908321bfce2e031b39d2a4
Diffstat (limited to 'src/cpu/o3/rob_impl.hh')
-rw-r--r--src/cpu/o3/rob_impl.hh30
1 files changed, 12 insertions, 18 deletions
diff --git a/src/cpu/o3/rob_impl.hh b/src/cpu/o3/rob_impl.hh
index 975aba379..7ff3aa274 100644
--- a/src/cpu/o3/rob_impl.hh
+++ b/src/cpu/o3/rob_impl.hh
@@ -35,10 +35,11 @@
#include <list>
template <class Impl>
-ROB<Impl>::ROB(unsigned _numEntries, unsigned _squashWidth,
+ROB<Impl>::ROB(O3CPU *_cpu, unsigned _numEntries, unsigned _squashWidth,
std::string _smtROBPolicy, unsigned _smtROBThreshold,
unsigned _numThreads)
- : numEntries(_numEntries),
+ : cpu(_cpu),
+ numEntries(_numEntries),
squashWidth(_squashWidth),
numInstsInROB(0),
numThreads(_numThreads)
@@ -66,7 +67,7 @@ ROB<Impl>::ROB(unsigned _numEntries, unsigned _squashWidth,
} else if (policy == "partitioned") {
robPolicy = Partitioned;
-// DPRINTF(Fetch, "ROB sharing policy set to Partitioned\n");
+ DPRINTF(Fetch, "ROB sharing policy set to Partitioned\n");
//@todo:make work if part_amt doesnt divide evenly.
int part_amt = numEntries / numThreads;
@@ -78,7 +79,7 @@ ROB<Impl>::ROB(unsigned _numEntries, unsigned _squashWidth,
} else if (policy == "threshold") {
robPolicy = Threshold;
-// DPRINTF(Fetch, "ROB sharing policy set to Threshold\n");
+ DPRINTF(Fetch, "ROB sharing policy set to Threshold\n");
int threshold = _smtROBThreshold;;
@@ -90,20 +91,6 @@ ROB<Impl>::ROB(unsigned _numEntries, unsigned _squashWidth,
assert(0 && "Invalid ROB Sharing Policy.Options Are:{Dynamic,"
"Partitioned, Threshold}");
}
-}
-
-template <class Impl>
-std::string
-ROB<Impl>::name() const
-{
- return cpu->name() + ".rob";
-}
-
-template <class Impl>
-void
-ROB<Impl>::setCPU(O3CPU *cpu_ptr)
-{
- cpu = cpu_ptr;
// Set the per-thread iterators to the end of the instruction list.
for (int i=0; i < numThreads;i++) {
@@ -117,6 +104,13 @@ ROB<Impl>::setCPU(O3CPU *cpu_ptr)
}
template <class Impl>
+std::string
+ROB<Impl>::name() const
+{
+ return cpu->name() + ".rob";
+}
+
+template <class Impl>
void
ROB<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
{