diff options
author | Andreas Sandberg <andreas@sandberg.pp.se> | 2014-02-09 20:49:28 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas@sandberg.pp.se> | 2014-02-09 20:49:28 +0100 |
commit | c52190a695dc1928713e5bbda85cd17867c7e465 (patch) | |
tree | 8e9e03fdd3b1cf367f4fa9e28eaf8458947cfcf7 /src/cpu/simple/BaseSimpleCPU.py | |
parent | eb73a14fe29ff4940a206a9961e30c2376412951 (diff) | |
download | gem5-c52190a695dc1928713e5bbda85cd17867c7e465.tar.xz |
cpu: simple: Add support for using branch predictors
This changesets adds branch predictor support to the
BaseSimpleCPU. The simple CPUs normally don't need a branch predictor,
however, there are at least two cases where it can be desirable:
1) A simple CPU can be used to warm the branch predictor of an O3
CPU before switching to the slower O3 model.
2) The simple CPU can be used as a quick way of evaluating/debugging
new branch predictors since it exposes branch predictor
statistics.
Limitations:
* Since the simple CPU doesn't speculate, only one instruction will
be active in the branch predictor at a time (i.e., the branch
predictor will never see speculative branches).
* The outcome of a branch prediction does not affect the performance
of the simple CPU.
Diffstat (limited to 'src/cpu/simple/BaseSimpleCPU.py')
-rw-r--r-- | src/cpu/simple/BaseSimpleCPU.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/simple/BaseSimpleCPU.py b/src/cpu/simple/BaseSimpleCPU.py index a4ae7e34b..243a09269 100644 --- a/src/cpu/simple/BaseSimpleCPU.py +++ b/src/cpu/simple/BaseSimpleCPU.py @@ -30,6 +30,7 @@ from m5.defines import buildEnv from m5.params import * from BaseCPU import BaseCPU from DummyChecker import DummyChecker +from BranchPredictor import BranchPredictor class BaseSimpleCPU(BaseCPU): type = 'BaseSimpleCPU' @@ -46,3 +47,5 @@ class BaseSimpleCPU(BaseCPU): else: print "ERROR: Checker only supported under ARM ISA!" exit(1) + + branchPred = Param.BranchPredictor(NULL, "Branch Predictor") |