DocumentCode :
2283178
Title :
Improving Branch Prediction and Predicated Execution in Out-of-Order Processors
Author :
Quinones, Eduardo ; Parcerisa, Joan-Manuel ; Gonzáilez, Antonio
Author_Institution :
Departament d´´Arquitectura de Computadors, Univ. Politecnica de Catalunya, Barcelona
fYear :
2007
fDate :
10-14 Feb. 2007
Firstpage :
75
Lastpage :
84
Abstract :
If-conversion is a compiler technique that reduces the misprediction penalties caused by hard-to-predict branches, transforming control dependencies into data dependencies. Although it is globally beneficial, it has a negative side-effect because the removal of branches eliminates useful correlation information necessary for conventional branch predictors. The remaining branches may become harder to predict. However, in predicated ISAs with a compare-branch model, the correlation information not only resides in branches, but also in compare instructions that compute their guarding predicates. When a branch is removed, its correlation information is still available in its compare instruction. We propose a branch prediction scheme based on predicate prediction. It has three advantages: First, since the prediction is not done on a branch basis but on a predicate define basis, branch removal after if-conversion does not lose any correlation information, so accuracy is not degraded. Second, the mechanism we propose permits using the computed value of the branch predicate when available, instead of the predicted value, thus effectively achieving 100% accuracy on such early-resolved branches. Third, as shown in previous work, the selective predicate prediction is a very effective technique to implement if-conversion on out-of-order processors, since it avoids the problem of multiple register definitions and reduces the unnecessary resource consumption of nullified instructions. Hence, our approach enables a very efficient implementation of if-conversion for an out-of-order processor, with almost no additional hardware cost, because the same hardware is used to predict the predicates of if-converted code and to predict branches without accuracy degradation
Keywords :
program compilers; branch prediction; compare-branch model; if-conversion; out-of-order processors; predicate prediction; predicated ISA; predicated execution; Accuracy; Computer aided instruction; Costs; Degradation; Hardware; Instruction sets; Out of order; Pipelines; Proposals; Registers;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
High Performance Computer Architecture, 2007. HPCA 2007. IEEE 13th International Symposium on
Conference_Location :
Scottsdale, AZ
Print_ISBN :
1-4244-0805-9
Electronic_ISBN :
1-4244-0805-9
Type :
conf
DOI :
10.1109/HPCA.2007.346186
Filename :
4147649
Link To Document :
بازگشت