The Effect of Code Reordering on Branch Prediction

12 years 4 months ago
The Effect of Code Reordering on Branch Prediction
Branch prediction accuracy is a very important factor for superscalarprocessor performance. The ability topredict the outcome of a branch allows the processor to effectively use a large instruction window, and extract a larger amount of Instruction Level Parallelism (ILP). In thispaper we will examinethe effectof code layoutoptimizationson branchprediction accuracy andfinal processor performance. These code reordering techniques align branches so that they tend to be not taken, achieving better instruction cache performance and increasing thefetch bandwidth.Here wefocus on how these optimizationsaffect both static and dynamic branchprediction. Code reordering mainly increases the number of not taken branches, which benefits simple static predictors, which reach over 80%prediction accuracy with optimized codes. This branch direction change produces two effects on dynamic branch prediction: on the positive side, trades negative interferencefor neutral or positive interference in the pre...
Alex Ramírez, Josep-Lluis Larriba-Pey, Mate
Added 31 Jul 2010
Updated 31 Jul 2010
Type Conference
Year 2000
Authors Alex Ramírez, Josep-Lluis Larriba-Pey, Mateo Valero
Comments (0)