CPU多级缓存
左图为最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存和高速缓存都连在系统总线上,这条总线还用于其他组件的通信。
高速缓存出现不久,系统变得越来越复杂,高速缓存与主存之间的速度差异被拉大,直到加入了另一级缓存,新加入的这级缓存比第一缓存更大,而且更慢,而且经济上不合适,所以有了二级缓存,甚至是三级缓存。
-
为什么需要CPU cache?
CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源,所 以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题(结构:cpu->cache->memort)
-
CPU cache有什么意义?
1、时间局部性:如果某个数据被访问,那么在不久的将来他很可能被再次访问
2、空间局部性:如果某个数据被访问,那么与他相邻的数据很快也可能被访问 -
缓存一致性(MESI)
CPU中每个缓存行使用四种状态进行标记
M:Modified 修改
指的是该缓存行只被缓存在该CPU缓存中,并且是被修改过的,因此他与主存的数据是