Cache有以下技术指标:
(1)命中率 H = Nc / (Nc + Nm) (Nc指在Cache中找到,Nm指在内存中找到)
(2)平均访问时间 Ta = tc x H + (1 - H) x tm (tc是访问cache一次的时间,tm是访问内存一次的时间,tc < ta < tm)
(3)效率 η = tc / ta
来看例题:
CPU执行一段程序时,cache完成存取的次数为 2420 次,主存完成存取的次数为 80 次,已知cache存储周期为 40ns,主存存储周期为 240ns,求cache/主存系统的效率和平均访问时间。
cache的命中率 H = 2420 / (2420 + 80) = 0.952
平均访问时间 ta = 40 x 0.952 + 240 x 0.048 = 49.6 ns
效率 η = 40 / 49.6 ≈ 0.806
某计算机的存储系统由cache、主存和磁盘构成。cache的访问时间为 15ns;如果被访问的单元在主存中但不在cache中,需要用 60ns 的时间将其装入cache,然后再进行访问;如果被访问的单元不在主存中,则需要 10ns 的时间将其从磁盘读入主存,然后再装入cache中并进行访问。若cache的命中率为 0.9,主存的命中率为 0.6,求该系统中访问一个字的平均时间。
我们需要注意题目的意思是必须在cache中才能访问,时间要相加,已知cache的命中率为 0.9,则不在cache中但在主存中的概率为 0.06,不在cache中也不在主存中的概率为 0.04
所以平均访问时间 ta = 0.9 x 15 + 0.06 x (15 + 60) + 0.04 x (15 + 60 + 10) = 21.4 ns