Performance issues in correlated branch prediction schemes
- 1 November 1995
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Accurate static branch prediction is the key to many techniques for exposing, enhancing, and exploiting Instruction Level Parallelism (ILP). The initial work on static correlated branch prediction (SCBP) demonstrated improvements in branch prediction accuracy, but did not address overall performance. In particular SCBP expands the size of executable programs, which negatively affects the performance of the instruction memory hierarchy. Using the profile information available under SCBP we can minimize these negative performance effects through the application of code layout and branch alignment techniques. We evaluate the performance effect of SCBP and these profile-driven optimizations on instruction cache misses, branch mispredictions, and branch misfetches for a number of recent processor implementations. We find that SCBP improves performance over (traditional) per-branch static profile prediction. We also find that SCBP improves the performance benefits gained from branch alignment. As expected, SCBP gives larger benefits on machine organizations with high mispredict/misfetch penalties and low cache miss penalties. Finally, we find that the application of profile-driven code layout and branch alignment techniques (without SCBP) can improve the performance of the dynamic correlated branch prediction techniques.Keywords
This publication has 21 references indexed in Scilit:
- A comparative analysis of schemes for correlated branch predictionPublished by Association for Computing Machinery (ACM) ,1995
- ATOMPublished by Association for Computing Machinery (ACM) ,1994
- Architectural Support for Compile-Time SpeculationPublished by Springer Nature ,1994
- An efficient resource-constrained global scheduling technique for superscalar and VLIW processorsACM SIGMICRO Newsletter, 1992
- Using profile information to assist classic code optimizationsSoftware: Practice and Experience, 1991
- Code duplicationPublished by Association for Computing Machinery (ACM) ,1991
- Two-level adaptive training branch predictionPublished by Association for Computing Machinery (ACM) ,1991
- Profile guided code positioningPublished by Association for Computing Machinery (ACM) ,1990
- The effect of instruction set complexity on program size and memory performanceACM SIGARCH Computer Architecture News, 1987
- Reducing the cost of branchesACM SIGARCH Computer Architecture News, 1986