DocumentCode :
1237122
Title :
Dynamic Predication of Indirect Jumps
Author :
Joao, José A. ; Mutlu, Onur ; Kim, Hyesoon ; Patt, Yale N.
Volume :
7
Issue :
1
fYear :
2007
Firstpage :
1
Lastpage :
4
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.
Keywords :
Accuracy; Analytical models; Computer languages; Hardware; Instruction sets; Microarchitecture; Object oriented modeling; Performance analysis; Pipelines; Switches; B Hardware; B.3 Memory Structures; Cache memories; Computer Systems Organization; Design Styles; Multi-core/single-chip multiprocessors; Parallel Architectures; Processor Architectures;
fLanguage :
English
Journal_Title :
Computer Architecture Letters
Publisher :
ieee
ISSN :
1556-6056
Type :
jour
DOI :
10.1109/L-CA.2008.2
Filename :
4531781
Link To Document :
بازگشت