Author:
Ball Thomas,Larus James R.
Abstract
Many compilers rely on branch prediction to improve program performance by identifying frequently executed regions and by aiding in scheduling instructions.
Profile-based
predictors require a time-consuming and inconvenient compile-profile-compile cycle in order to make predictions. We present a
program-based
branch predictor that performs well for a large and diverse set of programs written in C and Fortran. In addition to using natural loop analysis to predict branches that control the iteration of loops, we focus on heuristics for predicting non-loop branches, which dominate the dynamic branch count of many programs. The heuristics are simple and require little program analysis, yet they are effective in terms of coverage and miss rate. Although program-based prediction does not equal the accuracy of profile-based prediction, we believe it reaches a sufficiently high level to be useful. Additional type and semantic information available to a compiler would enhance our heuristics.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference17 articles.
1. A. Aho R. Sethi and J. Ullmaa Compilers: Principles Techniques and Tools Addison-Wesley Reading MA (1986). A. Aho R. Sethi and J. Ullmaa Compilers: Principles Techniques and Tools Addison-Wesley Reading MA (1986).
2. Optimally profiling and tracing programs
3. Systems Performance Evaluation Cooperative SPEC Newsletter (K. Mendoza editor) 1(1)(1989). Systems Performance Evaluation Cooperative SPEC Newsletter (K. Mendoza editor) 1(1)(1989).
Cited by
59 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Dynamic and Static Binary Translation Method Based on Branch Prediction;Electronics;2023-07-10
2. Studying and Understanding the Tradeoffs Between Generality and Reduction in Software Debloating;Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering;2022-10-10
3. OCOLOS: Online COde Layout OptimizationS;2022 55th IEEE/ACM International Symposium on Microarchitecture (MICRO);2022-10
4. Whisper: Profile-Guided Branch Misprediction Elimination for Data Center Applications;2022 55th IEEE/ACM International Symposium on Microarchitecture (MICRO);2022-10
5. Formally verified superblock scheduling;Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs;2022-01-11