L1 Cache, L2 Cache读取命中率与时钟周期计算

Posted jins-note

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了L1 Cache, L2 Cache读取命中率与时钟周期计算相关的知识,希望对你有一定的参考价值。

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的效率。

















以上是关于L1 Cache, L2 Cache读取命中率与时钟周期计算的主要内容,如果未能解决你的问题,请参考以下文章

简述Cpu与cache.主存和外存的关系?

转:Spring Cache抽象详解

CPU Cache一L1 L2 L3 TLB

CPU Cache 机制以及 Cache miss

springboot 集成J2Cache

zynq7000的cache