Improving branch prediction accuracy with parallel conservative correctors

  • Authors:
  • Chunrong Lai;Shih-Lien Lu;Yurong Chen;Trista Chen

  • Affiliations:
  • Intel Corporation, Beijing, China;Intel Corporation, Hillsbord, OR;Intel Corporation, Beijing, China;Intel Corporation, Santa Clara, CA

  • Venue:
  • Proceedings of the 2nd conference on Computing frontiers
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we discuss how a confidence mechanism is integrated into the branch prediction correctors to improve the accuracy of a primary predictor in the prediction process. A corrector reverses the decision of the primary predictor when it is confident that the primary predictor may be wrong. Using correctors to improve prediction accuracy is efficient because correctors only need to remember the information on branches that the primary predictor has problems with. Each corrector maintains its own "confidence" value. In our proposed design, these confidence values are judged conservatively so that a corrector will only reverse the predicted direction of the primary predictor when it is confident about the reversal. Moreover, to further increase the accuracy of the prediction, we use multiple correctors working together, each having a particular "expertise". In this paper we present three correctors: the interval corrector, the bimodal corrector, and the two-level corrector. Simulation experiments on a common evaluation framework show that correctors with an additional 2 KB (i.e., 8 KB totally) of storage can reduce mis-predicted branches by 18% over a primary predictor that has only 6 KB of storage. The total prediction accuracy of this 8 KB predictor is 28.4% better than a Gshare predictor with the same size. We also discuss some design issues such as the critical path and show how correctors can be easily implemented into these designs