Review Board 2.0.15


TournamentBP: Fix some bugs with table sizes and counters

Review Request #1523 - Created Oct. 28, 2012 and submitted - Latest diff uploaded

Information
Erik Tomusk
gem5
default
Reviewers
Default
Changeset 9394:edeba77c9f2f
---------------------------
TournamentBP: Fix some bugs with table sizes and counters
globalHistoryBits, globalPredictorSize, and choicePredictorSize are decoupled.
globalHistoryBits controls how much history is kept, global and choice
predictor sizes control how much of that history is used when accessing
predictor tables. This way, global and choice predictors can actually be
different sizes, and it is no longer possible to walk off the predictor arrays
and cause a seg fault.

There are now individual thresholds for choice, global, and local saturating
counters, so that taken/not taken decisions are correct even when the
predictors' counters' sizes are different.

The interface for localPredictorSize has been removed from TournamentBP because
the value can be calculated from localHistoryBits.
Works with ARM SE quick regression (except for dram target, which fails
with and without this patch).

ARM SE long regressions all pass when version 6 of this patch is
applied onto changeset 9385.