Branch prediction using profile data
Branchp rediction accuracy is a very important factor for superscalar processor performance. It is the ability to predict the outcome of a branchwh ichallo ws the processor to effectively use a large instruction window, and extract a larger amount of ILP. The first approachto branchpre diction were static predictors, which always predicted the same direction for a given branch. The use of profile data and compiler transformations proved very effective at improving the accuracy of these predictors. In this paper we propose a novel dynamic predictor organization which makes extensive use of profile data. The main advantage of our proposed predictor (the agbias predictor) is that it does not depend heavily on the quality of the profile data to provide high prediction accuracy. Our results show that our agbias predictor reduces the branch misprediction rate by 14% on a 16KB predictor over the next best compilerenhanced predictor.