Branch Classification: A New Mechanism for Improving Branch Predictor Performance

Po-Yung Chang, Eric Hao, Tse-Yu Yeh, Yale Patt
patt@eecs.umich.edu

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. Specula- tive 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 preditor; 95% accuracy is not good enough. This paper proposes brach 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 brancgh 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 preditor previously reported in the literature.

Talk Overheads (808067 bytes)