< previous page page_386 next page >

Page 386
0386-01.gif
Figure 6.23
The pipelined processor.
To simplify the analysis, we assume that (1) the pipelined processor consists of multiple independent request sources (IF, DF, etc.). Only one request can be made by a source each cycle, and if multiple requests are made the processor randomly selects one and rejects the others. (2) the probability of a request in any cycle is independent of actions in the previous cycles (Figure 6.23). This second assumption certainly introduces some error into our analysis, as requests delayed in one cycle affect the requests in the next cycle. Still, for many processor design situations these are reasonable assumptions, since d is usually not a strong determinant of performance.
Now we can compute d, the probability that any given source makes a request.
First, the number of sources (z) is:
0386-02.gif
where cr is the number of processor sources making requests each processor cycle (Dt). Typically, cr consists of a DF (data fetch), IF (instruction fetch), and DS (data store buffer). If a "source" makes more than one request per processor cycle (e.g., IF can be an in-line request plus a TIF), then it is treated as multiple sources. Each source can make only one request per processor cycle (Dt).
The d is then:
0386-03.gif
where n is the previously discussed mean number of requests per Tc (or, more generally, service time).
EXAMPLE 6.3
Suppose a pipelined processor has three request sources that contend for access to memory each machine cycle (Dt). These sources have discrete probabilities of:
IF:
Instruction fetch:
0.6
DF:
Data fetch:
0.4
DS:
Data store:
0.2

Suppose there are three processor cycles per memory cycle; then
d87111c01013bcda00bb8640fdff6754.gif
z = 3 ´ 3 = 9

 
< previous page page_386 next page >