Skip to main content
Log in

Selective Branch Inversion: Confidence Estimation for Branch Predictors

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

This paper describes a family of branch predictors that use confidence estimation to improve the performance of an underlying branch predictor. This method, referred to as Selective Branch Inversion (SBI), uses a confidence estimator to determine when the branch direction prediction is likely to be incorrect; branch decisions for these low-confidence branches are inverted. SBI with an underlying Gshare branch predictor outperforms other equal sized predictors such as the best history length Gshare predictor, as well as equally complex McFarling and Bi-Mode predictors. Our analysis shows that SBI achieves its performance through conflict detection and correction, rather than through conflict avoidance as some of the previously proposed predictors such as Bi-Mode and Agree. We also show that SBI is applicable to other underlying predictors, such as the McFarling Combined predictor. Finally we show that Dynamic Inversion Monitoring (DIM) can be used as a safeguard to turn off SBI in cases where it degrades the overall performance.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

REFERENCES

  1. James E. Smith. A study of branch prediction strategies, Eigth Int'l. Symp. on Computer Architecture, pp. 135-148 (May 1981).

  2. Erik Jacobsen, Eric Rotenberg, and J. E. Smith, Assigning confidence to conditional branch predictions, 29th Ann. Int'l. Symp. on Microarchitecture, Paris, France, pp. 142-152 (December 1996).

  3. Dirk Grunwald, Artur Klauser, Srilatha Manne, and Andrew Pleszkun, Confidence estimation for speculation control,25th Int'l. Symp. on Computer Architecture, Barcelona, Spain (June 1998).

  4. Srilatha Manne, Artur Klauser, and Dirk Grunwald, Pipeline gating: Speculation control for energy reduction, 25th Int'l. Symp. on Computer Architecture, Barcelona, Spain (June 1998).

  5. Artur Klauser, Abhijit Paithankar, and Dirk Grunwald, Selective eager execution on the PolyPath architecture, 25th Int'l. Symp. on Computer Architecture, Barcelona, Spain (June 1998).

  6. Srilatha Manne, Artur Klauser, and Dirk Grunwald, Branch prediction using selective branch inversion, Conf. on Parallel Architectures and Compilation Techniques, Newport Beach, CA, pp. 48-56 (October 1999).

  7. Scott McFarling, Combining branch predictors, WRL TN-36, Digital Western Research Lab (June 1993).

  8. Chih-Chieh Lee, I. Cheng, K. Chen, and Trevor N. Mudge, The Bi-mode branch predictor, 30th Ann. Int'l. Symp. on Microarchitecture, Research Triangle Park, NC (December 1997).

  9. R. E. Kessler, E. J. McLellan, and D. A. Webb, The Alpha 21264 microprocessor architecture, Int'l. Conf. on Computer Design (October 1998).

  10. Pierre Michaud, André Seznec, and Richard Uhlig, Trading conflict and capacity aliasing in conditional branch predictors, 24th Int'l. Symp. on Computer Architecture, Denver, CO (June 1997).

  11. Stuart Sechrest, Chih-Chieh Lee, and Trevor Mudge, Correlation and aliasing in dynamic branch predictors, 23rd Int'l. Symp. on Computer Architecture, pp. 22-32 (June 1996).

  12. Eric Hao, Po-Yung Chang, and Yale N. Patt, The effect of speculatively updating branch history on branch prediction accuracy, Revisited, 27th Ann. Int'l. Symp. on Microarchitec ture, San Jose, CA (December 1994).

  13. Doug Burger, Todd M. Austin, and Steve Bennett, Evaluating Future Microprocessors: The SimpleScalar Tool Set, Technical Report TR#1308, University of Wisconsin (July 1996).

  14. Toni Juan, Sanji Sanjeevan, and Juan J. Navarro, Dynamic history-length fitting: A third level of adaptivity for branch prediction, 25th Int'l. Symp. on Computer Architecture, Barcelona, Spain (June 1998). 109 SBI: Confidence Estimation for Branch Predictors

  15. Cliff Young, Nicholas Gloy, and Michael D. Smith, A comparative analysis of schemes for correlated branch prediction, 22nd Int'l. Symp. on Computer Architecture, Santa Margherita, Italy, pp. 276-286 (June 1995).

  16. Eric Sprangle, Robert S. Chappell, Mitch Alsup, and Yale N. Patt, The agree predictor: A mechanism for reducing negative branch history interference, 24th Int'l. Symp. on Computer Architecture, Denver, CO (June 1997).

  17. Tse-Yu Yeh and Yale N. Patt, Alternative implementations of two-level adaptive branch predictions, 19th Int'l. Symp. on Computer Architecture, pp. 124-134 (June 1992). Printed in Belgium 110 Klauser, Manne, and Grunwald

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Artur Klauser.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Klauser, A., Manne, S. & Grunwald, D. Selective Branch Inversion: Confidence Estimation for Branch Predictors. International Journal of Parallel Programming 29, 81–110 (2001). https://doi.org/10.1023/A:1026436021514

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1026436021514

Navigation