Affiliation:
1. Division of Applied Sciences, Harvard University, Cambridge, MA
Abstract
Recent work in history-based branch prediction uses novel hardware structures to capture branch correlation and increase branch prediction accuracy. We present a profile-based code transformation that exploits branch correlation to improve the accuracy of static branch prediction schemes. Our general method encodes branch history information in the program counter through the duplication and placement of program basic blocks. For correlation histories of eight branches, our experimental results achieve up to a 14.7% improvement in prediction accuracy over conventional profile-based prediction without any increase in the dynamic instruction count of our benchmark applications. In the majority of these applications, code duplication increases code size by less than 30%. For the few applications with code segments that exhibit exponential branching paths and no branch correlation, simple compile-time heuristics can eliminate these branches as code-transformation candidates.
Publisher
Association for Computing Machinery (ACM)
Reference23 articles.
1. Branch prediction for free
2. Code duplication
3. Predicting conditional branch directions from previous runs of a program
4. L. Gwennap "PPC 604 Powers Past Pentium " Microprocessor Report 8(5) Apr. 18 1994. L. Gwennap "PPC 604 Powers Past Pentium " Microprocessor Report 8(5) Apr. 18 1994.
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献