summaryrefslogtreecommitdiff
path: root/src/cpu/pred/BranchPredictor.py
diff options
context:
space:
mode:
authorPau Cabre <pau.cabre@metempsy.com>2018-11-23 23:29:35 +0100
committerPau Cabre <pau.cabre@metempsy.com>2018-12-11 22:21:56 +0000
commit71f6fd3df47989f91829a261bba751ce40531795 (patch)
treea8fdd6db13165e9cdabc24c16139e4bdb3a8ba29 /src/cpu/pred/BranchPredictor.py
parent866b200c202dded37fdd857a1a42ec149bd109c9 (diff)
downloadgem5-71f6fd3df47989f91829a261bba751ce40531795.tar.xz
cpu: Added parameters to enable/disable features in LTAGE
They are for the following features in the LTAGE loop predictor: - Hashing for calculating the loop table entry - Add direction information - Add speculative iteration number information Change-Id: I395f4526163ee0d0229d1e87cde2bb046f1dd43a Signed-off-by: Pau Cabre <pau.cabre@metempsy.com> Reviewed-on: https://gem5-review.googlesource.com/c/14597 Reviewed-by: Ilias Vougioukas <ilias.vougioukas@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Louis Delhez <ldelhez@ucla.edu> Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/cpu/pred/BranchPredictor.py')
-rw-r--r--src/cpu/pred/BranchPredictor.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/cpu/pred/BranchPredictor.py b/src/cpu/pred/BranchPredictor.py
index 2c622cd02..0c1e9c284 100644
--- a/src/cpu/pred/BranchPredictor.py
+++ b/src/cpu/pred/BranchPredictor.py
@@ -143,3 +143,19 @@ class LTAGE(TAGE):
loopTableIterBits = Param.Unsigned(14, "Nuber of iteration bits per loop")
logLoopTableAssoc = Param.Unsigned(2, "Log loop predictor associativity")
+ # Parameters for enabling modifications to the loop predictor
+ # They have been copied from ISL-TAGE
+ # (https://www.jilp.org/jwac-2/program/03_seznec.tgz)
+ #
+ # All of them should be disabled to match the original LTAGE implementation
+ # (http://hpca23.cse.tamu.edu/taco/camino/cbp2/cbp-src/realistic-seznec.h)
+
+ # Add speculation
+ useSpeculation = Param.Bool(False, "Use speculation")
+
+ # Add hashing for calculating the loop table index
+ useHashing = Param.Bool(False, "Use hashing")
+
+ # Add a direction bit to the loop table entries
+ useDirectionBit = Param.Bool(False, "Use direction info")
+