Assigning confidence to conditional branch predictions
Top Cited Papers
- 23 December 2002
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 8, 142-152
- https://doi.org/10.1109/micro.1996.566457
Abstract
Many high performance processors predict conditional branches and consume processor resources based on the prediction. In some situations, resource allocation can be better optimized if a confidence level is assigned to a branch prediction; i.e. if the quantity of resources allocated is a function of the confidence level. To support such optimizations, we consider hardware mechanisms that partition conditional branch predictions into two sets: those which are accurate a relatively high percentage of the time, and those which are accurate a relatively low percentage of the time. The objective is to concentrate as many of the mispredictions as practical into a relatively small set of low confidence dynamic branches. We first study an ideal method that profiles branch predictions and sorts static branches into high and low confidence sets, depending on the accuracy with which they are dynamically predicted. We find that about 63 percent of the mispredictions can be localized to a set of static branches that account for 20 percent of the dynamic branches. We then study idealized dynamic confidence methods using both one and two levels of branch correctness history. We find that the single level method performs at least as well as the more complex two level method and is able to isolate 89 percent of the mispredictions into a set containing 20 percent of the dynamic branches. Finally, we study practical, less expensive implementations and find that they achieve most of the performance of the idealized methods.Keywords
This publication has 7 references indexed in Scilit:
- Instruction fetching: Coping with code bloatPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Exploiting choicePublished by Association for Computing Machinery (ACM) ,1996
- Using hybrid branch predictors to improve branch prediction accuracy in the presence of context switchesPublished by Association for Computing Machinery (ACM) ,1996
- Disjoint eager execution: an optimal form of speculative executionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1995
- Improving the accuracy of dynamic branch prediction using branch correlationPublished by Association for Computing Machinery (ACM) ,1992
- Two-level adaptive training branch predictionPublished by Association for Computing Machinery (ACM) ,1991
- Branch Prediction Strategies and Branch Target Buffer DesignComputer, 1984