Solution
Given:
- IL1 hit time = 1 cycle, miss rate = 10%
- DL1 hit time = 2 cycles, miss rate = 5%
- UL2 hit time = 25 cycles, miss rate = 2%
- Main memory access time = 120 cycles
- 80% accesses are instruction fetches
- 20% accesses are load/store operations
- Processor frequency = 2.5 GHz
i) AMAT
For instruction-fetch accesses(80%):
\[
T_I = 1 + 0.10(25 + 0.02 \times 120)
\]
\[
= 1 + 0.10(25 + 2.4)
\]
\[
= 1 + 2.74 = 3.74 \text{ cycles}
\]
For data accesses(20%):
\[
T_D = 2 + 0.05(25 + 0.02 \times 120)
\]
\[
= 2 + 0.05(27.4)
\]
\[
= 2 + 1.37 = 3.37 \text{ cycles}
\]
Overall AMAT:
\[
AMAT = 0.8(3.74) + 0.2(3.37)
\]
\[
= 2.992 + 0.674
\]
\[
\boxed{AMAT = 3.666 \approx 3.67 \text{ cycles}}
\]
The option mentions 3.6 cycles.
ii) Global miss rate of UL2
First, calculate the fraction of all accesses that reach UL2.
\[
\text{L1 global miss rate}
= 0.8(0.10) + 0.2(0.05)
\]
\[
= 0.08 + 0.01 = 0.09
\]
Thus, 9% of all memory accesses reach UL2.
UL2 local miss rate = 2%.
Therefore,
\[
\text{Global UL2 miss rate}
= 0.09 \times 0.02
\]
\[
= 0.0018 = \boxed{i.e. 0.18\%}
\]
iii) Effective memory access time in nanoseconds
Processor frequency:
\[
2.5\text{ GHz}
\]
Therefore, clock cycle time is:
\[
\frac{1}{2.5\times10^9}
=0.4\text{ ns}
\]
Hence,
\[
\text{Effective access time}
=3.666\times0.4
\]
\[
=1.4664\text{ ns}
\]
\[
\boxed{\approx 1.47\text{ ns}}
\]
And that's why the final answer is: C) 3.6, 0.18, 1.47