This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Branch Misprediction Prediction: Complementary Branch Predictors
July-December 2007 (vol. 6 no. 2)
pp. 49-52
Although high branch prediction accuracy is necessary for good performance, the cost of achieving such accuracy requires using a branch predictor that could either be too complex and/or large, which, due to higher latencies and misprediction penalty, could actually result in lower performance. Since these mechanisms are ultimately self-defeating, fundamentally different branch predictors are needed. In this paper, we propose a new class of branch predictors, complementary branch predictors, which can be easily added to any branch predictor to improve the overall prediction accuracy. This mechanism differs from conventional branch predictors in that it focuses only on mispredicted branches. As a result, this mechanism has the advantages of scalability and flexibility (can be implemented with any branch predictor), but is not on the critical path. More specifically, this mechanism improves the branch prediction accuracy by predicting which future branch will be mispredicted next and when that will occur, and then it changes the predicted direction at the predicted time. Our results show that a branch predictor with the branch misprediction predictor achieves the same prediction accuracy as a conventional branch predictor that is 4 to 16 times larger, but without significantly increasing the overall complexity or lengthening the critical path.
Index Terms:
Emerging technologies, Pipeline processors
Citation:
Resit Sendag, Joshua Yi, Peng-fei Chuang, "Branch Misprediction Prediction: Complementary Branch Predictors," IEEE Computer Architecture Letters, vol. 6, no. 2, pp. 49-52, July-Dec. 2007, doi:10.1109/L-CA.2007.13
Usage of this product signifies your acceptance of the Terms of Use.