Date Added: Jun 2009
Modern processors require highly accurate branch prediction for good performance. As such, a number of branch predictors have been proposed with varying size and complexity. This work identifies techniques to improve the accuracy of most predictors. It is especially effective with smaller, simpler predictors, allowing those predictors to be competitive with more expensive and complex variants. Modern branch predictors rely heavily on global history to produce accurate branch predictions. However, not all regions of control flow are correlated with recently executed branches. For these regions, the extra information encoded in the global history does more harm than good. This work performs artificial modifications to the global history register to improve branch prediction accuracy, targeting regions with limited branch correlation.