summaryrefslogtreecommitdiff
path: root/src/cpu/pred/BranchPredictor.py
diff options
context:
space:
mode:
authorPau Cabre <pau.cabre@metempsy.com>2018-11-11 23:43:33 +0100
committerPau Cabre <pau.cabre@metempsy.com>2018-11-22 11:46:54 +0000
commit7e48e92888879b7ab81fba82c09ff6f662bb024d (patch)
treec2893a0cdd47144efad41755d9e09f90db3018a3 /src/cpu/pred/BranchPredictor.py
parenta5bc2291391b0497fdc60fdc960e07bcecebfb8f (diff)
downloadgem5-7e48e92888879b7ab81fba82c09ff6f662bb024d.tar.xz
cpu: Fixes on the loop predictor part of LTAGE
Fixed the following fields of the loop predictor entries as described on the LTAGE paper: - Age counter (it was 3 bits and it should be 8 bits) - Tag (it was 16 bits and it should be 14 bits). Also some times it used int variables and some times uint16_t, leading to wrong behaviour - Confidence counter (it was 2 bits ins some parts of the code and 3 bits in some other parts. It should be 2 bits) - Iteration counters (they were 16 bits and they should be 14 bits) All the new sizes are now configurable Change-Id: I8884c7454c1e510b65160eb4d5749d3259d34096 Signed-off-by: Pau Cabre <pau.cabre@metempsy.com> Reviewed-on: https://gem5-review.googlesource.com/c/14216 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/cpu/pred/BranchPredictor.py')
-rw-r--r--src/cpu/pred/BranchPredictor.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cpu/pred/BranchPredictor.py b/src/cpu/pred/BranchPredictor.py
index 1eeecde95..a42819419 100644
--- a/src/cpu/pred/BranchPredictor.py
+++ b/src/cpu/pred/BranchPredictor.py
@@ -106,3 +106,9 @@ class LTAGE(BranchPredictor):
maxHist = Param.Unsigned(640, "Maximum history size of LTAGE")
minTagWidth = Param.Unsigned(7, "Minimum tag size in tag tables")
+ loopTableAgeBits = Param.Unsigned(8, "Number of age bits per loop entry")
+ loopTableConfidenceBits = Param.Unsigned(2,
+ "Number of confidence bits per loop entry")
+ loopTableTagBits = Param.Unsigned(14, "Number of tag bits per loop entry")
+ loopTableIterBits = Param.Unsigned(14, "Nuber of iteration bits per loop")
+