Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Branch classification: A new mechanism for improving branch predictor performance

Journal Article · · International Journal of Parallel Programming
OSTI ID:273919
; ;  [1];  [2]
  1. Univ. of Michigan, Ann Arbor, MI (United States)
  2. 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

Enhanced superscalar hardware: The schedule table
Conference · Thu Dec 30 23:00:00 EST 1993 · OSTI ID:46259

Evaluating the effects of predicated execution on branch prediction
Journal Article · Sun Mar 31 23:00:00 EST 1996 · International Journal of Parallel Programming · OSTI ID:273920

Controlling prediction functional blocks used by a branch predictor in a processor
Patent · Tue Sep 13 00:00:00 EDT 2022 · OSTI ID:1925103