Prophet/Critic Hybrid Branch Prediction

  • Authors:
  • Ayose Falcon;Jared Stark;Alex Ramirez;Konrad Lai;Mateo Valero

  • Affiliations:
  • Universitat Politècnica de Catalunya;Intel Corporation;Universitat Politècnica de Catalunya;Intel Corporation;Universitat Politècnica de Catalunya

  • Venue:
  • Proceedings of the 31st annual international symposium on Computer architecture
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper introduces the prophet/critic hybrid conditionalbranch predictor, which has two component predictorsthat play the role of either prophet or critic.Theprophet is a conventional predictor that uses branch historyto predict the direction of the current branch.Further accessesof the prophet yield predictions for the branches followingthe current one.Predictions for the current branchand the ones that follow are collectively known as thebranch's future.They are actually a prophecy, or predictedbranch future.The critic uses both the branch's history andfuture to give a critique of the prophet's prediction fo thecurrent branch.The critique, either agree or disagree, isused to generate the final prediction for the branch.Our results show an 8K + 8K byte prophet/critic hybridhas 39% fewer mispredicts than a 16K byte 2Bc-gskewpredictor-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 mispredictsincreases from one flush per 418 micro-operations(uops) to one per 680 uops.For gcc, the percentage of mispredictedbranches drops from 3.11% to 1.23%.On a machinebased on the Intel® Pentium® 4 processor, this improvesuPC (Uops Per Cycle) by 7.8% (18% for gcc) andreduces the number of uops fetched (along both correct andincorrect paths) by 8.6%.