[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Dynamic Predication of Indirect Jumps

Published: 01 July 2007 Publication History

Abstract

Indirect jumps are used to implement increasingly common programming language constructs such as virtual function calls, switch-case statements, jump tables, and interface calls. Unfortunately, the prediction accuracy of indirect jumps has remained low because many indirect jumps have multiple targets that are difficult to predict even with specialized hardware. This paper proposes a new way of handling hard-to-predict indirect jumps: dynamically predicating them. The compiler identifies indirect jumps that are suitable for predication along with their control-flow merge (CFM) points. The microarchitecture predicates the instructions between different targets of the jump and its CFM point if the jump turns out to be hardto-predict at run time. We describe the new indirect jump predication architecture, provide code examples showing why it could reduce the performance impact of jumps, derive an analytical cost-benefit model for deciding which jumps and targets to predicate, and present preliminary evaluation results.

Cited By

View all
  • (2015)Bungee jumpsProceedings of the 48th International Symposium on Microarchitecture10.1145/2830772.2830781(370-382)Online publication date: 5-Dec-2015
  • (2013)A novel architecture for ahead branch predictionFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-013-2260-x7:6(914-923)Online publication date: 1-Dec-2013
  • (2008)Improving the performance of object-oriented languages with dynamic predication of indirect jumpsACM SIGPLAN Notices10.1145/1353536.134629343:3(80-90)Online publication date: 1-Mar-2008
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Computer Architecture Letters
IEEE Computer Architecture Letters  Volume 6, Issue 2
July 2007
32 pages

Publisher

IEEE Computer Society

United States

Publication History

Published: 01 July 2007

Author Tags

  1. Computer Systems Organization
  2. Instruction fetch
  3. Micro-architecture implementation considerations
  4. Pipeline processors
  5. Processor Architectures
  6. Single Data Stream Architectures
  7. Superscalar
  8. and statically-scheduled implementation
  9. dynamically-scheduled

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2015)Bungee jumpsProceedings of the 48th International Symposium on Microarchitecture10.1145/2830772.2830781(370-382)Online publication date: 5-Dec-2015
  • (2013)A novel architecture for ahead branch predictionFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-013-2260-x7:6(914-923)Online publication date: 1-Dec-2013
  • (2008)Improving the performance of object-oriented languages with dynamic predication of indirect jumpsACM SIGPLAN Notices10.1145/1353536.134629343:3(80-90)Online publication date: 1-Mar-2008
  • (2008)Improving the performance of object-oriented languages with dynamic predication of indirect jumpsACM SIGOPS Operating Systems Review10.1145/1353535.134629342:2(80-90)Online publication date: 1-Mar-2008
  • (2008)Improving the performance of object-oriented languages with dynamic predication of indirect jumpsACM SIGARCH Computer Architecture News10.1145/1353534.134629336:1(80-90)Online publication date: 1-Mar-2008
  • (2008)Improving the performance of object-oriented languages with dynamic predication of indirect jumpsProceedings of the 13th international conference on Architectural support for programming languages and operating systems10.1145/1346281.1346293(80-90)Online publication date: 1-Mar-2008

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media