Reducing the Branch Penalty in Pipelined Processors

  • Authors:
  • David J. Lilja

  • Affiliations:
  • -

  • Venue:
  • Computer
  • Year:
  • 1988

Quantified Score

Hi-index 4.12

Visualization

Abstract

A probabilistic model is developed to quantify the performance effects of the branch penalty in a typical pipeline. The branch penalty is analyzed as a function of the relative number of branch instructions executed and the probability that a branch is taken. The resulting model shows the fraction of maximum performance achievable under the given conditions. Techniques to reduce the branch penalty include static and dynamic branch prediction, the branch target buffer, the delayed branch, branch bypassing and multiple prefetching, branch folding, resolution of branch decision early in the pipeline, using multiple independent instruction streams in a shared pipeline, and the prepare-to-branch instruction.