Ginger: control independence using tag rewriting

12 years 10 months ago
Ginger: control independence using tag rewriting
The negative performance impact of branch mis-predictions can be reduced by exploiting control independence (CI). When a branch mis-predicts, the wrong-path instructions up to the point where control converges with the correct path are selectively squashed and replaced with correct-path instructions. Instructions beyond the convergence-point—the branch’s control-independent (CI) instructions—are spared from squashing. Exploiting CI requires updating the input data dependences of CI instructions to reflect the selective removal and insertion of logically older instructions and transitively re-dispatching those CI instructions whose inputs have changed. This capability is generally called outof-order renaming. Previously proposed CI designs use out-oforder renaming schemes that either consume excessive rename/dispatch bandwidth, can only be applied in limited cases, or incur a cost even when the branch would be correctly predicted. Ginger is a CI design that is both general and b...
Andrew D. Hilton, Amir Roth
Added 03 Jun 2010
Updated 03 Jun 2010
Type Conference
Year 2007
Where ISCA
Authors Andrew D. Hilton, Amir Roth
Comments (0)