BPRED: Fixed the treshold-bug in the tournament predictor.
authorMaximilien Breughe <Maximilien.Breughe@elis.ugent.be>
Fri, 14 May 2010 03:45:57 +0000 (23:45 -0400)
committerMaximilien Breughe <Maximilien.Breughe@elis.ugent.be>
Fri, 14 May 2010 03:45:57 +0000 (23:45 -0400)
Suppose the saturating counters of a branch predictor contain n bits.  When the
counter is between 0 and (2^(n-1) - 1), boundaries included, the branch is
predicted as not taken.  When the counter is between 2^(n-1) and (2^n - 1),
boundaries included, the branch is predicted as taken.

src/cpu/pred/tournament.cc

index 223e45333bf8c8646320c7a5c6b54b7755cece6b..96ee8761598d22088996e68e0946baf80f9f41d5 100644 (file)
@@ -104,7 +104,6 @@ TournamentBP::TournamentBP(unsigned _localPredictorSize,
 
     // @todo: Allow for different thresholds between the predictors.
     threshold = (1 << (localCtrBits - 1)) - 1;
-    threshold = threshold / 2;
 }
 
 inline