< previous page page_234 next page >

Page 234
If we guess in-line and go to the target, we have:
0234-01.gif
In-line penalty = 0 cycles
Target penalty = 6 cycles
If we guess the target and go in-line we have:
0234-02.gif
If we guess the target and go to the target, we have:
0234-03.gif
In-line penalty = 5 cycles
Target penalty = 3 cycles
Let P = the probability of branch going to target. Then expected in-line delay is 6P + 0(1 P). expected target delay is 3P + 5(1 P). Then we should guess the target path if
d87111c01013bcda00bb8640fdff6754.gif
3P + 5(1- P) < 6 P ® P > 5/8
(c) For BR (unconditional) or for BAL:
0234-04.gif
Target penalty = 4 cycles
(d) For BC (conditional branch):
0234-05.gif
If we guess in-line and go in-line:
0234-06.gif
that is, zero penalty.
If we guess in-line and go to target:
0234-07.gif
In-line penalty = 0 cycles
Target penalty = 6 cycles
If we guess target and go in-line:*
0234-08.gif
* Assumes in-line instructions already fetched are kept in IB.
If we guess target and go to target:
0234-09.gif

 
< previous page page_234 next page >