skip to main content
Techniques for improving efficiency and accuracy of contemporary dynamic branch predictors
Publisher:
  • University of Nevada, Reno
  • Reno, NV
  • United States
ISBN:978-0-542-17935-8
Order Number:AAI3178443
Pages:
87
Bibliometrics
Skip Abstract Section
Abstract

Efficient branch predictions can significantly increase processor throughput by allowing an instruction stream to flow continuously without waiting for branch outcomes. Three major paradigms in branch prediction schemes, per-address two-level, global-history, and neural-learning branch predictors, are discussed in this dissertation. I have selected three most efficient branch predictors, one from each paradigm, and proposed robust mechanisms to help mitigate their possible shortcomings.

While per-address two-level branch predictors experience low branch interference, their implementation costs are too expensive. I propose a scalable per-address (SPA) predictor that leverages value locality in the history of branch outcomes to reduce the size of pattern history table (PHT) by about 50%, while maintaining high prediction accuracy. Moreover, alternative designs of SPA predictor are proposed to reduce internal conflicts within the PHT and improve its prediction accuracy. Experimental results reveal that a SPA predictor with 4-way set-associative PHT using 7 tag bits yields the highest prediction accuracy.

I propose and evaluate two alternate designs of YAGS (Yet Another Global Scheme) predictor, one of the most efficient global-history branch prediction schemes, to improve its prediction accuracy. The first method combines two direction PHTs to increase the overall space utilization. The second uses 3-bit counters in the choice PHT to keep branch biases more stable. Experimental results show that the merging scheme benefits small branch predictors the most, making it suitable for embedded microprocessors. Meanwhile, the 3-bit-counter approach has the most impact on large branch predictors, which makes it suitable for superscalar microprocessors.

Finally, I propose to improve prediction accuracy of the O-GEHL (Optimized GEometric History Length) predictor, a neural-learning branch predictor that won in an international branch prediction contest. First method uses an adaptive adjustment of branch history lengths to increase space utilization in the first predictor table, consequently improving prediction accuracy in most cases, particularly in floating-point and integer benchmarks. Moreover, adding an extra predictor table using space saved from the sharing of hysteresis bits increases the accuracy of large branch predictors, implying that the predictor is likely to benefit from an increased number of tables more than an increased number of table entries.

Contributors
  • University of Louisiana at Lafayette
  • University of Nevada, Reno

Recommendations