diff options
author | Pau Cabre <pau.cabre@metempsy.com> | 2018-11-23 23:29:35 +0100 |
---|---|---|
committer | Pau Cabre <pau.cabre@metempsy.com> | 2018-12-11 22:21:56 +0000 |
commit | 71f6fd3df47989f91829a261bba751ce40531795 (patch) | |
tree | a8fdd6db13165e9cdabc24c16139e4bdb3a8ba29 /src/cpu/pred/BranchPredictor.py | |
parent | 866b200c202dded37fdd857a1a42ec149bd109c9 (diff) | |
download | gem5-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.py | 16 |
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") + |