summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-05-25 17:01:48 -0400
committerKevin Lim <ktlim@umich.edu>2006-05-25 17:01:48 -0400
commit248bd2bb62861c8d77de4c8cfab6c6392bd85049 (patch)
treec1a290ab284bd45fa6d8062c250c9cbcada6ad0b /python
parent02aa549c9b1fd81be4bb1408cb97b92dc126e360 (diff)
downloadgem5-248bd2bb62861c8d77de4c8cfab6c6392bd85049.tar.xz
Various branch predictor fixes/cleanup. It works more correctly now and supports both local and tournament predictors.
cpu/o3/2bit_local_pred.cc: Branch predictor cleanup/fixup. Rename this to LocalBP. cpu/o3/2bit_local_pred.hh: Rename to LocalBP, update to support changes to BPredUnit, include comments. cpu/o3/alpha_cpu_builder.cc: Support extra parameters to the branch predictor. Now it takes in a parameter to tell it which branch predictor it is using, the local or the tournament predictor. cpu/o3/alpha_params.hh: Add in extra parameter for the branch predictor type. cpu/o3/bpred_unit.cc: Branch predictor fixup/cleanup. Rename it to BPredUnit. cpu/o3/bpred_unit.hh: Branch predictor fixup/cleanup. Now supports both the local and tournament predictors, and stores the branch predictor update state. cpu/o3/bpred_unit_impl.hh: Branch predictor overhaul. Now supports both the local and tournament predictors. cpu/o3/cpu_policy.hh: cpu/ozone/ozone_impl.hh: cpu/ozone/simple_impl.hh: Reflect the class name change. cpu/o3/decode_impl.hh: Be sure to set the predicted target as well so we don't squash twice. cpu/o3/tournament_pred.cc: cpu/o3/tournament_pred.hh: Fixes to the tournament predictor. cpu/ozone/simple_params.hh: Include parameter for the branch predictor type. python/m5/objects/AlphaFullCPU.py: python/m5/objects/OzoneCPU.py: Include the parameter for the branch predictor type. --HG-- extra : convert_revision : 34afebb3b40b47accb12558e439ee4cb03df5e64
Diffstat (limited to 'python')
-rw-r--r--python/m5/objects/AlphaFullCPU.py1
-rw-r--r--python/m5/objects/OzoneCPU.py1
2 files changed, 2 insertions, 0 deletions
diff --git a/python/m5/objects/AlphaFullCPU.py b/python/m5/objects/AlphaFullCPU.py
index d719bf783..043c3c08f 100644
--- a/python/m5/objects/AlphaFullCPU.py
+++ b/python/m5/objects/AlphaFullCPU.py
@@ -55,6 +55,7 @@ class DerivAlphaFullCPU(BaseCPU):
trapLatency = Param.Tick("Trap latency")
fetchTrapLatency = Param.Tick("Fetch trap latency")
+ predType = Param.String("Branch predictor type ('local', 'tournament')")
localPredictorSize = Param.Unsigned("Size of local predictor")
localCtrBits = Param.Unsigned("Bits per counter")
localHistoryTableSize = Param.Unsigned("Size of local history table")
diff --git a/python/m5/objects/OzoneCPU.py b/python/m5/objects/OzoneCPU.py
index 3fca61e28..ea8b6b537 100644
--- a/python/m5/objects/OzoneCPU.py
+++ b/python/m5/objects/OzoneCPU.py
@@ -57,6 +57,7 @@ class DerivOzoneCPU(BaseCPU):
commitWidth = Param.Unsigned("Commit width")
squashWidth = Param.Unsigned("Squash width")
+ predType = Param.String("Type of branch predictor ('local', 'tournament')")
localPredictorSize = Param.Unsigned("Size of local predictor")
localCtrBits = Param.Unsigned("Bits per counter")
localHistoryTableSize = Param.Unsigned("Size of local history table")