Sciweavers

MICRO
2005
IEEE

Wish Branches: Combining Conditional Branching and Predication for Adaptive Predicated Execution

14 years 5 months ago
Wish Branches: Combining Conditional Branching and Predication for Adaptive Predicated Execution
Predicated execution has been used to reduce the number of branch mispredictions by eliminating hard-to-predict branches. However, the additional instruction overhead and additional data dependencies due to predicated execution sometimes offset the performance advantage of having fewer mispredictions. We propose a mechanism in which the compiler generates code that can be executed either as predicated code or non-predicated code (i.e., code with normal conditional branches). The hardware decides whether the predicated code or the non-predicated code is executed based on a run-time confidence estimation of the branch’s prediction. The code generated by the compiler is the same as predicated code, except the predicated conditional branches are NOT removed—they are left intact in the program code. These conditional branches are called wish branches. The goal of wish branches is to use predicated execution for hard-to-predict dynamic branches and branch prediction for easy-to-predict...
Hyesoon Kim, Onur Mutlu, Jared Stark, Yale N. Patt
Added 25 Jun 2010
Updated 25 Jun 2010
Type Conference
Year 2005
Where MICRO
Authors Hyesoon Kim, Onur Mutlu, Jared Stark, Yale N. Patt
Comments (0)