Two-Level Alloyed Branch Predictor based on Genetic Algorithm for Deep Pipelining Processors

To gain improved performance in multiple issue superscalar processors, the increment in instruction fetch and issue rate is pretty necessary. Evasion of control hazard is a primary source to get peak instruction level parallelism in superscalar processors. Conditional branch prediction can help in improving the performance of processors only when these predictors are equipped with algorithms to give higher accuracy. The Increment in single miss-prediction rate can cause wastage of more than 20% of the instructions cycles, which leads us to an exploration of new techniques and algorithms that increase the accuracy of branch prediction. Alloying is a way to exploit the local and global history of different predictors in the same structure and sometimes also called hybrid branch prediction. In this paper, we aim to design a more accurate and robust two-level alloyed predictor, whose behavior is more dynamic on changing branch direction.

[1]  Trevor N. Mudge,et al.  The YAGS branch prediction scheme , 1998, Proceedings. 31st Annual ACM/IEEE International Symposium on Microarchitecture.

[2]  Yale N. Patt,et al.  Increasing the instruction fetch rate via multiple branch prediction and a branch address cache , 1993, ICS '93.

[3]  Y.N. Patt,et al.  Using Hybrid Branch Predictors to Improve Branch Prediction Accuracy in the Presence of Context Switches , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[4]  Avinoam Nomik Eden,et al.  Of limits and myths in branch prediction. , 2001 .

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

[6]  Chris Wilkerson,et al.  Improving branch prediction by dynamic dataflow-based identification of correlated branches from a large global history , 2003, ISCA '03.

[7]  Kevin Skadron,et al.  Alloyed Branch History: Combining Global and Local Branch History for Robust Performance , 2003, International Journal of Parallel Programming.

[8]  Margaret Martonosi,et al.  A taxonomy of branch mispredictions, and alloyed prediction as a robust solution to wrong-history mispredictions , 2000, Proceedings 2000 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00622).

[9]  Mingkai Huang,et al.  An Energy-Efficient Branch Prediction with Grouped Global History , 2015, 2015 44th International Conference on Parallel Processing.

[10]  Joel S. Emer,et al.  A Language For Describing Predictors And Its Application To Automatic Synthesis , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[11]  Daniel A. Jiménez,et al.  Dynamic branch prediction with perceptrons , 2001, Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture.

[12]  Dean M. Tullsen,et al.  Creating artificial global history to improve branch prediction accuracy , 2009, ICS '09.

[13]  Di Wu High Performance Branch Predictors For Soft Processors , 2014 .

[14]  Chih-Chieh Lee,et al.  Correlation and Aliasing in Dynamic Branch Predictors , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[15]  Trevor N. Mudge,et al.  Correlation and Aliasing in Dynamic Branch Predictors , 1996, ISCA.

[16]  Trevor N. Mudge,et al.  The bi-mode branch predictor , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[17]  Yale N. Patt,et al.  Improving branch prediction accuracy by reducing pattern history table interference , 2007, International Journal of Parallel Programming.