注:cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。
在一个程序执行期间,设Nc 表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有
若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示为命中率(缺失率),则cache/主存系统的平均访问时间ta为
我们追求的目标是,以较小的硬件代价使cache/主存系统的平均访问数据ta越接近tc越好。设r=tm/tc表示主存与cache的访问时间之比,e表示访问效率,则有
由上式可看出,为提高访问效率,命中率h越接近1越好.r值以5-10为宜,不宜太大。
例题:
1.CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。
解: cache的命中率h为
主存慢于cache的倍率r为
则cache/主存系统效率e为
平均访问时间ta为
2.已知cache存储周期40ns,主存存储周期200ns,cache/主存系统平均访问时间为50ns,求cache的命中率。
解: 已知cache/主存系统平均访问时间ta=50ns,而,
所以有
3.一个由主存和cache组成的二级存储系统,参数定义如下:Ta为系统平均访问时间,T1为cache的存取时间,T2为主存的存取时间,H为cache命中率,请写出Ta与T1、T2、H参数之间的函数关系式。
解:在二级存储系统中满足