diff options
author | Pau Cabre <pau.cabre@metempsy.com> | 2018-11-11 23:43:33 +0100 |
---|---|---|
committer | Pau Cabre <pau.cabre@metempsy.com> | 2018-11-22 11:46:54 +0000 |
commit | 7e48e92888879b7ab81fba82c09ff6f662bb024d (patch) | |
tree | c2893a0cdd47144efad41755d9e09f90db3018a3 /src/cpu/pred/BranchPredictor.py | |
parent | a5bc2291391b0497fdc60fdc960e07bcecebfb8f (diff) | |
download | gem5-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.py | 6 |
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") + |