① CPU Cache
概述:
为什么需要CPU Cache?
CPU频率太快,主存跟不上,CPU往往要等待主存响应,造成资源浪费,Cache的出现就是为了缓和CPU和主存速度的问题。
-
描述:CPU高速缓存 是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。
-
作用:当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存在(命中),则不再访问内存直接返回该数据;如果不存在(失效),则要先把内存中的相应数据载入缓存,再将其返回处理器。
-
原理:缓存之所以有效,主要是因为程序运行时对内存的访问呈现局部性(Locality)特征。这种局部性既包括空间局部性(Spatial Locality),也包括时间局部性(Temporal Locality)。有效利用这种局部性,缓存可以达到极高的命中率。
局部性原理:
时间局部性:如果某个数据被访问,那么在不久的将来它很可能被再次访问。
空间局部性:如果某个数据被访问,那么与它临近的数据也很可能将被访问。—— From: Wikipedia
Cache 与寄存器的差异:寄存器保存的是CPU正在处理的数据,而Cache保存的是与CPU处理的数据相关的数据
② CPU 多级缓存一致性(MESI协议)
Cache Line: Cache与内存交互的最小单位,它包括状态值,地址,数据三个部分,状态值即MESI,地址是在内存中的地址。通常是计算机系统位数(32、

本文介绍了CPU Cache的作用和原理,强调了局部性原则在提升效率中的关键角色。接着,详细阐述了多级缓存一致性的重要协议MESI,解释了Cache Line和状态值的概念。最后,讨论了CPU的乱序执行优化,指出这可能导致计算顺序的不确定性,影响依赖关系的程序执行。
最低0.47元/天 解锁文章
6177

被折叠的 条评论
为什么被折叠?



