高速缓存级别是什么意思(CPU处理器中高速缓存的数据结构)

  • 100人浏览   2024-10-31 10:30:25


高速缓存是什么

所谓的高速缓存(CPU Cache),就是我们常说的一级,二级,三级缓存。也是嵌入在CPU芯片中的芯片组。访问速度逐级减小而容量增加增大。

高速缓存数据结构

缓存条目中又包含三个属性:

组标记(Tag)指向了这个缓存数据在主内存中的数据的地址;

flag标识了缓存行的状态;

Data Block包含多个变量的值;

怎么在高速缓存里定位到这个变量呢?

处理器在读写高速缓存的时候,会根据变量名执行一个内存地址解码的操作,解析出来3个东西,index、tag和offset。

index用于定位到拉链散列表中的某个bucket的位置

tag是用于定位缓存条目;

offset是用于定位一个变量在cache line中的位置;

如果说可以成功定位到一个高速缓存中的数据,而且flag还标志着有效,则缓存命中;否则不满足上述条件,就是缓存未命中。如果是读数据未命中的话,会从主内存重新加载数据到高速缓存中,现在处理器一般都有三级高速缓存,L1、L2、L3,越靠前面的缓存读写速度越快;

相关推荐