Reducing the branch penalty in pipelined processors
- 1 July 1988
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Computer
- Vol. 21 (7) , 47-55
- https://doi.org/10.1109/2.68
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
This publication has 8 references indexed in Scilit:
- Branch folding in the CRISP microprocessor: reducing branch delay to zeroPublished by Association for Computing Machinery (ACM) ,1987
- Reducing the cost of branchesACM SIGARCH Computer Architecture News, 1986
- Highly concurrent scalar processingACM SIGARCH Computer Architecture News, 1986
- Branch Prediction Strategies and Branch Target Buffer DesignComputer, 1984
- The 801 MinicomputerIBM Journal of Research and Development, 1983
- Optimizing delayed branchesACM SIGMICRO Newsletter, 1982
- A multiminiprocessor system implemented through pipeliningComputer, 1974
- The Inhibition of Potential Parallelism by Conditional JumpsIEEE Transactions on Computers, 1972