International Symposium on Microarchitecture · 1996 · 216 citations · 9 references
EngineeringComputer ArchitectureSoftware AnalysisUncertainty ModelingUncertainty QuantificationApproximate ComputingDeep UncertaintyManagementConditional BranchesSystems EngineeringPerformance TuningParallel ComputingConfidence LevelStatisticsInstruction-level ParallelismPerformance PredictionPredictive AnalyticsComputer EngineeringComputer ScienceProgram OptimizationPredictabilityProgram AnalysisSoftware TestingParallel ProgrammingResource AllocationDecision ScienceConditional Branch Predictions
Branch prediction consumes significant processor resources, and allocating those resources more efficiently could be achieved by assigning a confidence level to each prediction. The study proposes partitioning branch predictions into high‑confidence and low‑confidence sets so that most mispredictions are concentrated in a small low‑confidence group. The authors evaluate an ideal profiling method that sorts static branches into high‑ and low‑confidence sets, compare idealized dynamic confidence schemes using one or two history levels, and then assess practical, cheaper implementations. The results show that 63 % of mispredictions can be confined to 20 % of static branches, the single‑level dynamic scheme isolates 89 % of mispredictions into 20 % of dynamic branches, and practical implementations approach the performance of the ideal methods.
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.
9
A study of branch prediction strategies
James E. Smith · 1998 · 779 citations · Full text
Dean M. Tullsen, Susan J. Eggers, Joel Emer et al. · 1996 · 779 citations
Hardware Security, Engineering, High-performance Architecture +12
Branch Prediction Strategies and Branch Target Buffer Design
Lee, Smith · Computer · 1984 · 604 citations
Engineering, High-performance Architecture, Computer Engineering +7
Two-level adaptive training branch prediction
Tse-Yu Yeh, Yale N. Patt · 1991 · 560 citations · Full text
Improving the accuracy of dynamic branch prediction using branch correlation
Shien-Tai Pan, Kimming So, J.T. Rahmeh · 1992 · 337 citations · Full text