< previous page page_312 next page >

Page 312
0312-01.gif
Figure 5.41
BR traffic.
A branch (BR) and its target instruction requires the BR I-traffic (I/P fetches) plus the fetch for the target instruction. Thus, the total I-traffic caused by the BR-target pair of instructions is 2I/P; but in our computation, we have already allocated I/P fetches for each instruction, including both the branch and its target. Thus, assuming that branch target references are aligned (they start at the beginning of the reference), there is no excess traffic caused by the BR except for the extra in-line fetches. So:
0312-02.gif
where Prob (BR) is the probability (frequency) of an unconditional branch and N1 (N1³ 0)is the allocated or maximum number of in-line instructions fetched before the branch is decoded (usually equal to the number of cycles in an IF).
The excess traffic given a conditional branch (BC) is:
0312-03.gif
where Prob (c.p) is the probability of a correct prediction given a BC, N2 (N2³ 0) is the allocated number of unused instructions fetched given a correct prediction (c.p.), and N3 (N3³ 0) is the allocated number of unused instructions fetched given an incorrect prediction. Usually the minimum value for N2 or N3 is P/Ithe number of instructions corresponding to a single IF or TIF.
Study 5.1 Instruction Traffic
Compute the instruction reference traffic for the processor in study 4.3.
This R/M processor has a timing template of:
0312-04.gif
The processor decodes one instruction per cycle and guesses in-line on conditional branch, proceeding up to EX. There is a sufficiently large IB to hold prefetched instructions. We use an 8B physical word size.
Each instruction identifies or fetches a successor. In the case of branch, two successors may be fetched (in-line and target). "Identification" may or

 
< previous page page_312 next page >