CPU在Cache中找到有用的数据被称为命中,当Cache中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有2级Cache的CPU中,读取L1 Cache的命中率为80%。也就是说CPU从L1 Cache中找到的有用数据占数据总量的80%,剩下的20%从L2 Cache读取。由于不能准确预测将要执行的数据,读取L2的命中率也在80%左右(从L2读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。
假如CPU从L1,L2,主存的访问周期分别为1/10/100, 那么存储系统平均访问周期为
0.8*1+(1-0.8)*0.8*10+(1-0.8-(1-0.8)*0.8)*100=6.4
在一些高端领域的CPU(像Intel的Itanium)中,我们常听到L3 Cache,它是为读取L2 Cache后未命中的数据设计的—种Cache,在拥有L3 Cache的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。
来源: https://blog.csdn.net/myxmu/article/details/17021975
转载于:https://www.cnblogs.com/jins-note/p/9649135.html