Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
Book cover

International Conference on Compiler Construction

CC 2012: Compiler Construction pp 185–199Cite as

  1. Home
  2. Compiler Construction
  3. Conference paper
Compiler Support for Value-Based Indirect Branch Prediction

Compiler Support for Value-Based Indirect Branch Prediction

  • Muhammad Umar Farooq17,
  • Lei Chen18 &
  • Lizy Kurian John17 
  • Conference paper
  • 805 Accesses

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 7210)

Abstract

Indirect branch targets are hard to predict as there may be multiple targets corresponding to a single indirect branch instruction. Value Based BTB Indexing (VBBI), a recently proposed indirect branch prediction technique, utilizes the compiler to identify a ‘hint instruction’, whose output value strongly correlates with the target address of an indirect branch. At run time, multiple targets are stored at different branch target buffer (BTB) locations indexed using the branch PC and the hint instruction output value.

In this paper, we present compiler support for the VBBI prediction scheme. We also propose compiler and run time optimizations to increase the dynamic instruction count between the indirect branch and its corresponding hint instruction. The more the dynamic instructions between the hint-jump instruction pair, the more likely that the hint value will be available when making the prediction.

Our evaluation shows that the proposed compiler and run time optimizations improve the VBBI prediction accuracy from 66% to 80%. This translates into performance improvement from 17.2% (baseline VBBI) to 24.8% (optimized VBBI) over the traditional BTB design and from 11% (baseline VBBI) to 17.3% (optimized VBBI) over the best previously proposed indirect branch prediction scheme.

Keywords

  • branch prediction
  • indirect branches
  • compiler guided branch prediction
  • compiler optimizations
  • compiler-microarchitecture interaction

This research was partially supported by NSF grant 1117895. The opinions and views expressed in this paper are those of the authors and not those of NSF.

Download conference paper PDF

References

  1. Burger, D., Austin, T.M.: The SimpleScalar Tool Set, Version 2.0. SIGARCH Comput. Archit. News 25(3), 13–25 (1997)

    CrossRef  Google Scholar 

  2. Chang, P., Hao, E., Patt, Y.N.: Target Prediction for Indirect Jumps. In: ISCA-24, pp. 274–283 (1997)

    Google Scholar 

  3. COMPAQ. Alpha Architecture Handbook, V4 (October 1998)

    Google Scholar 

  4. Driesen, K., Hölzle, U.: Accurate Indirect Branch Prediction. In: ISCA-25, pp. 167–178 (1998)

    Google Scholar 

  5. Driesen, K., Hölzle, U.: The Cascaded Predictor: Economical and Adaptive Branch Target Prediction. In: MICRO-31, pp. 249–258 (1998)

    Google Scholar 

  6. Driesen, K., Hölzle, U.: Multi-stage Cascaded Prediction. In: Amestoy, P.R., Berger, P., Daydé, M., Duff, I.S., Frayssé, V., Giraud, L., Ruiz, D. (eds.) Euro-Par 1999. LNCS, vol. 1685, pp. 1312–1321. Springer, Heidelberg (1999)

    CrossRef  Google Scholar 

  7. Farooq, M.U., Chen, L., John, L.K.: Value Based BTB Indexing for Indirect Jump Prediction. In: HPCA-16, pp. 1–11 (January 2010)

    Google Scholar 

  8. Gochman, S., Ronen, R., Anati, I., Berkovits, A., Kurts, T., Naveh, A., Saeed, A., Sperber, Z., Valentine, R.C.: The Intel Pentium M Processor: Microarchitecture and Performance. Intel Technology Journal 7(2) (May 2003)

    Google Scholar 

  9. Intel. Intel software college: http://developer.intel.com/software/products/college/itanium/

  10. Joao, J.A., Mutlu, O., Kim, H., Agarwal, R., Patt, Y.N.: Improving the Performance of Object-Oriented Languages with Dynamic Predication of Indirect Jumps. In: ASPLOS-13, pp. 80–90 (2008)

    Google Scholar 

  11. Kalamatianos, J., Kaeli, D.R.: Predicting Indirect Branches via Data Compression. In: MICRO-31, pp. 272–281 (1998)

    Google Scholar 

  12. Kim, H., Joao, J.A., Mutlu, O., Lee, C.J., Patt, Y.N., Cohn, R.: VPC Prediction: Reducing the Cost of Indirect Branches via Hardware-Based Dynamic Devirtualization. In: ISCA-34, pp. 424–435 (2007)

    Google Scholar 

  13. Lee, J.K.F., Smith, A.J.: Branch Prediction Strategies and Branch Target Buffer Design. Computer 17(1), 6–22 (1984)

    CrossRef  Google Scholar 

  14. Lin, J., Chen, T., Hsu, W.C., Yew, P.C.: Speculative Register Promotion Using Advanced Load Address Table (ALAT). In: Proceedings of First Annual IEEE/ACM International Symposium on Code Generation and Optimization, pp. 125–134. IEEE Computer Society (2003)

    Google Scholar 

  15. Perelman, E., Hamerly, G., Biesbrouck, M.V., Sherwood, T., Calder, B.: Using SimPoint for Accurate and Efficient Simulation. In: SIGMETRICS 2003, pp. 318–319 (2003)

    Google Scholar 

  16. Roth, A., Moshovos, A., Sohi, G.S.: Improving Virtual Function Call Target Prediction via Dependence-Based Pre-Computation. In: ICS-13, pp. 356–364 (1999)

    Google Scholar 

  17. SPEC. Standard Performance Evaluation Corporation, http://www.spec.org .

  18. Yeh, T.-Y., Patt, Y.N.: Two-Level Adaptive Training Branch Prediction. In: MICRO-24, pp. 51–61 (1991)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Department of ECE, The University of Texas at Austin, USA

    Muhammad Umar Farooq & Lizy Kurian John

  2. Intel Architecture Group, Intel Corporation, USA

    Lei Chen

Authors
  1. Muhammad Umar Farooq
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Lei Chen
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Lizy Kurian John
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Editors and Affiliations

  1. School for Informatics, University of Edinburgh, 10 Crichton Street, EH8 9AB, Edinburgh, UK

    Michael O’Boyle

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Farooq, M.U., Chen, L., John, L.K. (2012). Compiler Support for Value-Based Indirect Branch Prediction. In: O’Boyle, M. (eds) Compiler Construction. CC 2012. Lecture Notes in Computer Science, vol 7210. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28652-0_10

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-28652-0_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28651-3

  • Online ISBN: 978-3-642-28652-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature