Conditional branches constitute a significant fraction of instructions executed in a typical program. In modern pipelined processor implementations, branches cause wasted processor cycles, due to the unpredictability of the next instruction. This project is exploring an alternative to branch prediction and speculative execution, which is to decouple the branch computations from the basic blocks they control. Branches, and the instructions that compute branch conditions, are peeled out of the main program and executed on a separate processor. Both compiler backend development and processor implementation are affected by this alternative, and the project takes an experimental approach to both.

Project Start
Project End
Budget Start
1997-07-01
Budget End
2000-06-30
Support Year
Fiscal Year
1997
Total Cost
$241,938
Indirect Cost
Name
Iowa State University
Department
Type
DUNS #
City
Ames
State
IA
Country
United States
Zip Code
50011