< previous page page_231 next page >

Page 231
(a) Guess in-line and go in-line.
0231-01.gif
The CC is set before * + 1 enters EX and therefore no penalty is incurred.
(b) Guess in-line and go to target.
0231-02.gif
Unless the TIF captures both the target and its successor completely (the target is aligned on a double word boundary), we need a 6-cycle delay (shown) to restore processing.
Guessing on Branches
It is easy for designers and researchers to become preoccupied with the correct prediction of branch outcome. Correct prediction of a conditional branch outcome merely changes the branch penalty from that of a conditional branch to that of an unconditional branchthe unconditional branch penalty remains.
Since the delays for a branch going in line and to the target are not symmetric, it is not the best strategy simply to guess the most probable outcome for the branch. This is clearly demonstrated in the preceding study.
In general, the much simpler strategy of guessing in-line on a conditional branch is a very cost-effective strategy. This can be made especially effective if the compiler recognizes this and rearranges the code so that the in-line path is preferred.

 
< previous page page_231 next page >