Better branch prediction through prophet/critic hybrids

The prophet/critic hybrid conditional branch predictor has two component predictors. The prophet uses a branch's history to predict its direction. We call this prediction and the ones for branches following it the branch future. The critic uses the branch's history and future to critique the prophet's prediction. The hybrid combines the prophet's prediction with the critique, either agrees or disagree, forming the branch's overall prediction. Results shows these hybrids can reduce mispredicts by 39 percent and improve processor performance by 7.8 percent.

[1]  Haitham Akkary,et al.  Checkpoint processing and recovery: towards scalable large instruction window processors , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[2]  Daniel A. Jiménez,et al.  Neural methods for dynamic branch prediction , 2002, TOCS.

[3]  Lucian N. Vintan,et al.  Towards a high performance neural branch predictor , 1999, IJCNN'99. International Joint Conference on Neural Networks. Proceedings (Cat. No.99CH36339).

[4]  Yiannakis Sazeides,et al.  Design tradeoffs for the Alpha EV8 conditional branch predictor , 2002, ISCA.

[5]  S. McFarling Combining Branch Predictors , 1993 .

[6]  Mateo Valero,et al.  Prophet/critic hybrid branch prediction , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[7]  B. Calder,et al.  A scalable front-end architecture for fast instruction delivery , 1999, Proceedings of the 26th International Symposium on Computer Architecture (Cat. No.99CB36367).

[8]  Yale N. Patt,et al.  Variable length path branch prediction , 1998, ASPLOS VIII.

[9]  T. Juan,et al.  Dynamic history-length fitting: a third level of adaptivity for branch prediction , 1998, Proceedings. 25th Annual International Symposium on Computer Architecture (Cat. No.98CB36235).

[10]  Daniel A. Jiménez,et al.  The impact of delay on the design of branch predictors , 2000, Proceedings 33rd Annual IEEE/ACM International Symposium on Microarchitecture. MICRO-33 2000.

[11]  Tse-Yu Yeh,et al.  Understanding branches and designing branch predictors for high-performance microprocessors , 2001, Proc. IEEE.

[12]  Trevor N. Mudge,et al.  Analysis of branch prediction via data compression , 1996, ASPLOS VII.

[13]  Pierre Michaud,et al.  De-aliased Hybrid Branch Predictors , 1999 .

[14]  Josep Llosa,et al.  Out-of-order commit processors , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

[15]  Dirk Grunwald,et al.  Confidence estimation for speculation control , 1998, ISCA.

[16]  Eric Rotenberg,et al.  Assigning confidence to conditional branch predictions , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.