cpu: Fixes on the loop predictor part of LTAGE
authorPau Cabre <pau.cabre@metempsy.com>
Sun, 11 Nov 2018 22:43:33 +0000 (23:43 +0100)
committerPau Cabre <pau.cabre@metempsy.com>
Thu, 22 Nov 2018 11:46:54 +0000 (11:46 +0000)
commit7e48e92888879b7ab81fba82c09ff6f662bb024d
treec2893a0cdd47144efad41755d9e09f90db3018a3
parenta5bc2291391b0497fdc60fdc960e07bcecebfb8f
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>
src/cpu/pred/BranchPredictor.py
src/cpu/pred/ltage.cc
src/cpu/pred/ltage.hh