< previous page page_74 next page >

Page 74
Table 2.1 Pipeline actions and delays.
I fetch includes
d87111c01013bcda00bb8640fdff6754.gif
PC ® MAR
4ns
d87111c01013bcda00bb8640fdff6754.gif
cache directory access
6ns
d87111c01013bcda00bb8640fdff6754.gif
cache data access
10ns
d87111c01013bcda00bb8640fdff6754.gif
data transfer to IR
3ns
I decode12ns
Address Generate9ns
Address ® MAR3ns
D fetch includes
d87111c01013bcda00bb8640fdff6754.gif
cache directory access
6ns
d87111c01013bcda00bb8640fdff6754.gif
cache data access
10ns
d87111c01013bcda00bb8640fdff6754.gif
data transfer to ALU
3ns
Execute includes
d87111c01013bcda00bb8640fdff6754.gif
R ® ALU ® R
22ns
d87111c01013bcda00bb8640fdff6754.gif
Register Put Away
2ns

We are given:
k
=
clock skew
=
0.05

and
C
=
setup and register delay times (assuming a level-sensitive single-rank register with multiple phase clock)
=
4ns

and
b
=
branch frequency
=
.2.

Then, as a first approximation, the optimum number of pipeline segments (Sopt) is:
0074-01.gif
As discussed earlier, Sopt is usually an "upper limit" on a possible number of segments; we initially round down so that
d87111c01013bcda00bb8640fdff6754.gif
Sopt = 9.

 
< previous page page_74 next page >