某计算机系统的内存储器由 Cache 和主存构成, Cache 的存取周期为 45 纳秒, 主存的存取周期为 200 纳秒。 已知在一段给定的时间内, CPU 共访问内存 4500 次, 其中 340 次访问主存。 问:
Cache 的命中率是多少?
Cache 的命中率 h=Nc/ (Nc+Nm) =(4500-340) / 4500=0. 92。
CPU 访问内存的平均时间是多少纳秒?
CPU 访问内存的平均时间 Ta=h*Tc+(1-h) Tm=0. 92* 45+(1-0. 92) *200=57. 4ns。
Cache-主存系统的效率是多少?
(提示: h 是命中率, r 是表示主存慢于 Cache 的倍率, e 表示访问效率, Ta 是平均访问时间=h· Tc+(1-h) Tm, e=Tc/Ta)
Cache-主存系统的效率 c=Tc/ Ta=45/ 57. 4=0. 78=78%。
如果 Cache 为 8 行, 主存 16 块, 分别采用三种方式映射主存的第 9 块到 Cache 中什么位置(写出 tag值)。
如果 Cache 为 8 行, 主存为 16 块, 采用以下方式将内存的映射关系如下:
全相联方式: 内存的第 9 块映射到 Cache 中的任意行, tag=1001;
直接方式: 9%8=1, 因此内存中的第 9 块映射到 Cache 中的第 l 行, tag=1;
二路组相联方式: 9%4=1, 因此内存中的第 9 块映射到 Cache 中的第 1 组中的任意行, tag=10。