Title :
Reducing the branch penalty in pipelined processors
Author_Institution :
Center for Supercomput. Res. & Dev., Illinois Univ., Urbana, IL, USA
fDate :
7/1/1988 12:00:00 AM
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.<>
Keywords :
performance evaluation; pipeline processing; branch bypassing; branch folding; branch instructions; branch penalty; branch target buffer; delayed branch; multiple independent instruction streams; multiple prefetching; performance; pipelined processors; prepare-to-branch instruction; probabilistic model; shared pipeline; Algorithms; Computer aided instruction; Counting circuits; Data structures; Delay; Indexing; Performance analysis; Pipelines; Prefetching; Testing;