Branch classification: a new mechanism for improving branch predictor performance

  • Authors:
  • Po-Yung Chang;Eric Hao;Tse-Yu Yeh;Yale Patt

  • Affiliations:
  • Department of Electrical Engineering and Computer Science, The University of Michigan, Ann Arbor, Michigan;Department of Electrical Engineering and Computer Science, The University of Michigan, Ann Arbor, Michigan;Intel Corporation, Santa Clara, CA;Department of Electrical Engineering and Computer Science, The University of Michigan, Ann Arbor, Michigan

  • Venue:
  • MICRO 27 Proceedings of the 27th annual international symposium on Microarchitecture
  • Year:
  • 1994

Quantified Score

Hi-index 0.02

Visualization

Abstract

There is wide agreement that one of the most important impediments to the performance of current and future pipelined superscalar processors is the presence of conditional branches in the instruction stream. Speculative execution seems to be one solution of choice to the branch problem, but speculative work is discarded if a branch is mispredicted. Therefore, we need a very accurate branch predictor; 95% accuracy is not good enough. This paper proposes branch classification to help improve the accuracy of branch predictors. Branch classification allows an individual branch instruction to be associated with the branch predictor best suited to predict its direction. Using this approach, a hybrid branch predictor can be constructed such that each component branch predictor predicts those branches for which it is best suited. This paper suggests one classification scheme, analyzes several branch predictors, and proposes a hybrid branch predictor that achieves higher prediction accuracy than any branch predictor previously reported in the literature.