loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
31st Annual International Symposium on Computer Architecture (ISCA'04)
Prophet/Critic Hybrid Branch Prediction
M?nchen, Germany
June 19-June 23
ISBN: 0-7695-2143-6
Ayose Falc?, Universitat Polit?cnica de Catalunya
Jared Stark, Intel Corporation
Alex Ramirez, Universitat Polit?cnica de Catalunya
Konrad Lai, Intel Corporation
Mateo Valero, Universitat Polit?cnica de Catalunya
This paper introduces the prophet/critic hybrid conditional branch predictor, which has two component predictors that play the role of either prophet or critic. The prophet is a conventional predictor that uses branch history to predict the direction of the current branch. Further accesses of the prophet yield predictions for the branches following the current one. Predictions for the current branch and the ones that follow are collectively known as the branch's future. They are actually a prophecy, or predicted branch future. The critic uses both the branch's history and future to give a critique of the prophet's prediction fo the current branch. The critique, either agree or disagree, is used to generate the final prediction for the branch.
Our results show an 8K + 8K byte prophet/critic hybrid has 39% fewer mispredicts than a 16K byte 2Bc-gskew predictor-a predictor similar to that of the proposed Compaq* Alpha* EV8 processor-across a wide range of applications. The distance between pipeline flushes due to mispredicts increases from one flush per 418 micro-operations (uops) to one per 680 uops. For gcc, the percentage of mispredicted branches drops from 3.11% to 1.23%. On a machine based on the Intel? Pentium? 4 processor, this improves uPC (Uops Per Cycle) by 7.8% (18% for gcc) and reduces the number of uops fetched (along both correct and incorrect paths) by 8.6%.
Citation:
Ayose Falc?, Jared Stark, Alex Ramirez, Konrad Lai, Mateo Valero, "Prophet/Critic Hybrid Branch Prediction," isca, pp.250, 31st Annual International Symposium on Computer Architecture (ISCA'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.