Branch classification: A new mechanism for improving branch predictor performance
- Univ. of Michigan, Ann Arbor, MI (United States)
- Intel Corp., Santa Clara, CA (United States)
There is wide agreement that one of the most significant impediments to the performance of current and future pipelined superscalar processors is the presence of conditional branches in the instruction stream. Speculative execution is one solution to the branch problem, but speculative work is discarded if a branch is mispredicted. For it to be effective, speculative work is discarded if a branch is mispredicted. For it to be effective, speculative execution requires a very accurate branch predictor; 95% accuracy is not good enough. This paper proposes branch classification, a methodology for building more accurate 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. To demonstrate the usefulness of branch classification, an example classification scheme is given and a new hybrid predictor is built based on this scheme which achieves a higher prediction accuracy than any branch predictor previously reported in the literature.
- OSTI ID:
- 273919
- Journal Information:
- International Journal of Parallel Programming, Journal Name: International Journal of Parallel Programming Journal Issue: 2 Vol. 24; ISSN IJPPE5; ISSN 0885-7458
- Country of Publication:
- United States
- Language:
- English
Similar Records
Evaluating the effects of predicated execution on branch prediction
Controlling prediction functional blocks used by a branch predictor in a processor