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