summaryrefslogtreecommitdiff
path: root/src/cpu/simple/BaseSimpleCPU.py
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas@sandberg.pp.se>2014-02-09 20:49:28 +0100
committerAndreas Sandberg <andreas@sandberg.pp.se>2014-02-09 20:49:28 +0100
commitc52190a695dc1928713e5bbda85cd17867c7e465 (patch)
tree8e9e03fdd3b1cf367f4fa9e28eaf8458947cfcf7 /src/cpu/simple/BaseSimpleCPU.py
parenteb73a14fe29ff4940a206a9961e30c2376412951 (diff)
downloadgem5-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.py3
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")