Fast and accurate instruction fetch and branch prediction
- 17 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Accurate branch prediction is critical to performance; mispredicted branches mean that ten's of cycles may be wasted in superscalar architectures. Architectures combining very effective branch prediction mechanisms coupled with modified branch target buffers (BTB's) have been proposed for wide-issue processors. These mechanisms require considerable processor resources. Concurrently, the larger address space of 64-bit architectures introduce new obstacles and opportunities. A larger address space means branch target buffers become more expensive. The authors show how a combination of less expensive mechanisms can achieve better performance than BTB's. This combination relies on a number of design choices described in the paper. They used trace-driven simulation to show that their proposed design, which uses fewer resources, offers better performance than previously proposed alternatives for most programs, and indicate how to further improve this design.Keywords
This publication has 17 references indexed in Scilit:
- ATOMPublished by Association for Computing Machinery (ACM) ,1994
- Reducing indirect function call overhead in C++ programsPublished by Association for Computing Machinery (ACM) ,1994
- Branch target buffer design and optimizationIEEE Transactions on Computers, 1993
- Improving the accuracy of dynamic branch prediction using branch correlationPublished by Association for Computing Machinery (ACM) ,1992
- Limits of instruction-level parallelismPublished by Association for Computing Machinery (ACM) ,1991
- Profile guided code positioningPublished by Association for Computing Machinery (ACM) ,1990
- Reducing the branch penalty in pipelined processorsComputer, 1988
- 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
- Branch Prediction Strategies and Branch Target Buffer DesignComputer, 1984