Two level bulk preload branch prediction

This paper describes the large capacity hierarchical branch predictor in the 5.5 GHz IBM zEnterprise EC12 microprocessor. Performance analyses in a simulation model and on zEC12 hardware demonstrate the benefit of this hierarchy compared to a smaller one level predictor. Novel structures and algorithms for two level branch prediction are presented. Prediction information about multiple branches is bulk transferred from the second level into the first upon detecting a perceived miss in the first level. The second level does not directly make branch predictions. Access to the second level is limited when it is unlikely to be productive. The second level is systematically searched in an order that is likely to provide hits as early as possible. On the workloads analyzed in the simulation model, measurements show a maximum core performance benefit of 13.8%. On the two workloads analyzed on zEC12 hardware 3.4% and 5.3% system performance improvements are achieved.

[1]  Allan Hartstein,et al.  The optimum pipeline depth for a microprocessor , 2002, ISCA.

[2]  Pierre Michaud,et al.  A PPM-like, Tag-based Predictor. , 2005 .

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

[4]  Chris H. Perleberg,et al.  Branch Target Buffer Design and Optimization , 1993, IEEE Trans. Computers.

[5]  Babak Falsafi,et al.  Predictor virtualization , 2008, ASPLOS.

[6]  Wolfgang Rosenstiel,et al.  Evaluation of Branch-prediction Methods on Traces from Commercial Applications for Modern Superscalar Processors, Branch Prediction Is a Must, and There Has Been Significant Progress in This Field during Recent Years. for the Ibm System Esa/390 , 1999 .

[7]  Daniel A. Jiménez,et al.  The impact of delay on the design of branch predictors , 2000, MICRO 33.

[8]  Alan Jay Smith,et al.  Branch Prediction Strategies and Branch Target Buffer Design , 1995, Computer.

[9]  Daniel A. Jiménez,et al.  Reconsidering complex branch predictors , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[10]  Ioana Burcea,et al.  Phantom-BTB: a virtualized branch target buffer design , 2009, ASPLOS.

[11]  Andreas Moshovos,et al.  Toward virtualizing branch direction prediction , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[12]  Pak-kin Mak,et al.  IBM zEnterprise 196 microprocessor and cache subsystem , 2012, IBM J. Res. Dev..