From 71f6fd3df47989f91829a261bba751ce40531795 Mon Sep 17 00:00:00 2001 From: Pau Cabre Date: Fri, 23 Nov 2018 23:29:35 +0100 Subject: 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 Reviewed-on: https://gem5-review.googlesource.com/c/14597 Reviewed-by: Ilias Vougioukas Reviewed-by: Jason Lowe-Power Reviewed-by: Louis Delhez Maintainer: Jason Lowe-Power --- src/cpu/pred/BranchPredictor.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/cpu/pred/BranchPredictor.py') 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") + -- cgit v1.2.3