The effects of mispredicted-path execution on branch prediction structures
- 24 December 2002
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Branch prediction accuracies determined using trace-driven simulation do not include the effects of executing branches along a mispredicted path. However, branches along a mispredicted path will pollute the branch prediction structures if no recovery mechanisms are provided. Without recovery mechanisms, prediction rates will suffer. In this paper, we determine the appropriateness of recovery mechanisms for the four structures of the Two-Level Adaptive Branch Predictor: the Branch Target Buffer (BTB), the Branch History Register (BHR), the Pattern History Tables (PHTs), and the Return Address Stack (RAS). We then propose cost-effective recovery mechanisms for these branch prediction structures. For five benchmarks from the SPECint92 suite, we show that performance is not affected if recovery mechanisms are not provided for the BTB and the PHTs. On the other hand, without any recovery mechanisms for the BHR and RAS, performance drops by an average of 29%.Keywords
This publication has 8 references indexed in Scilit:
- The impact of unresolved branches on branch prediction scheme performancePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Implementation trade-offs in using a restricted data flow architecture in a high performance RISC microprocessorPublished by Association for Computing Machinery (ACM) ,1995
- Exploring configurations of functional units in an out-of-order superscalar processorPublished by Association for Computing Machinery (ACM) ,1995
- The effect of speculatively updating branch history on branch prediction accuracy, revisitedPublished by Association for Computing Machinery (ACM) ,1994
- Checkpoint Repair for High-Performance Out-of-Order Execution MachinesIEEE Transactions on Computers, 1987
- HPS, a new microarchitecture: rationale and introductionPublished by Association for Computing Machinery (ACM) ,1985
- Implementation of precise interrupts in pipelined processorsACM SIGARCH Computer Architecture News, 1985
- An Efficient Algorithm for Exploiting Multiple Arithmetic UnitsIBM Journal of Research and Development, 1967