changeset 5ae66d5f5ca2 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=5ae66d5f5ca2
description:
        inorder: import name for addtl. bpred stats

diffstat:

3 files changed, 22 insertions(+), 19 deletions(-)
src/cpu/inorder/resources/bpred_unit.cc       |   32 +++++++++++--------------
src/cpu/inorder/resources/bpred_unit.hh       |    7 ++++-
src/cpu/inorder/resources/branch_predictor.cc |    2 -

diffs (121 lines):

diff -r c207d418514e -r 5ae66d5f5ca2 src/cpu/inorder/resources/bpred_unit.cc
--- a/src/cpu/inorder/resources/bpred_unit.cc   Mon Mar 22 16:59:12 2010 -0400
+++ b/src/cpu/inorder/resources/bpred_unit.cc   Mon Mar 22 17:19:48 2010 -0400
@@ -39,10 +39,9 @@
 using namespace std;
 using namespace ThePipeline;
 
-BPredUnit::BPredUnit(ThePipeline::Params *params)
-  : BTB(params->BTBEntries,
-        params->BTBTagSize,
-        params->instShiftAmt)
+BPredUnit::BPredUnit(Resource *_res, ThePipeline::Params *params)
+    : res(_res), 
+      BTB(params->BTBEntries, params->BTBTagSize, params->instShiftAmt)
 {
     // Setup the selected predictor.
     if (params->predType == "local") {
@@ -70,48 +69,47 @@
        RAS[i].init(params->RASSize);
 }
 
+std::string
+BPredUnit::name()
+{
+    return res->name();
+}
 
 void
 BPredUnit::regStats()
 {
     lookups
-        .name(name() + ".BPredUnit.lookups")
+        .name(name() + ".lookups")
         .desc("Number of BP lookups")
         ;
 
     condPredicted
-        .name(name() + ".BPredUnit.condPredicted")
+        .name(name() + ".condPredicted")
         .desc("Number of conditional branches predicted")
         ;
 
     condIncorrect
-        .name(name() + ".BPredUnit.condIncorrect")
+        .name(name() + ".condIncorrect")
         .desc("Number of conditional branches incorrect")
         ;
 
     BTBLookups
-        .name(name() + ".BPredUnit.BTBLookups")
+        .name(name() + ".BTBLookups")
         .desc("Number of BTB lookups")
         ;
 
     BTBHits
-        .name(name() + ".BPredUnit.BTBHits")
+        .name(name() + ".BTBHits")
         .desc("Number of BTB hits")
         ;
 
-    BTBCorrect
-        .name(name() + ".BPredUnit.BTBCorrect")
-        .desc("Number of correct BTB predictions (this stat may not "
-              "work properly.")
-        ;
-
     usedRAS
-        .name(name() + ".BPredUnit.usedRAS")
+        .name(name() + ".usedRAS")
         .desc("Number of times the RAS was used to get a target.")
         ;
 
     RASIncorrect
-        .name(name() + ".BPredUnit.RASInCorrect")
+        .name(name() + ".RASInCorrect")
         .desc("Number of incorrect RAS predictions.")
         ;
 }
diff -r c207d418514e -r 5ae66d5f5ca2 src/cpu/inorder/resources/bpred_unit.hh
--- a/src/cpu/inorder/resources/bpred_unit.hh   Mon Mar 22 16:59:12 2010 -0400
+++ b/src/cpu/inorder/resources/bpred_unit.hh   Mon Mar 22 17:19:48 2010 -0400
@@ -39,6 +39,7 @@
 #include "cpu/inst_seq.hh"
 #include "cpu/inorder/inorder_dyn_inst.hh"
 #include "cpu/inorder/pipeline_traits.hh"
+#include "cpu/inorder/resource.hh"
 #include "cpu/pred/2bit_local.hh"
 #include "cpu/pred/btb.hh"
 #include "cpu/pred/ras.hh"
@@ -65,7 +66,9 @@
     /**
      * @param params The params object, that has the size of the BP and BTB.
      */
-    BPredUnit(ThePipeline::Params *params);
+    BPredUnit(Resource *_res, ThePipeline::Params *params);
+
+    std::string name();
 
     /**
      * Registers statistics.
@@ -169,6 +172,8 @@
     void dump();
 
   private:
+    Resource *res;
+    
     struct PredictorHistory {
         /**
          * Makes a predictor history struct that contains any
diff -r c207d418514e -r 5ae66d5f5ca2 
src/cpu/inorder/resources/branch_predictor.cc
--- a/src/cpu/inorder/resources/branch_predictor.cc     Mon Mar 22 16:59:12 
2010 -0400
+++ b/src/cpu/inorder/resources/branch_predictor.cc     Mon Mar 22 17:19:48 
2010 -0400
@@ -39,7 +39,7 @@
 BranchPredictor::BranchPredictor(std::string res_name, int res_id, int 
res_width,
                        int res_latency, InOrderCPU *_cpu, ThePipeline::Params 
*params)
     : Resource(res_name, res_id, res_width, res_latency, _cpu),
-      branchPred(params)
+      branchPred(this, params)
 {
     instSize = sizeof(MachInst);
 }
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to