前言:为什么需要CPU cache?
因为:由于cpu频率太快,在处理器时钟周期内,cpu常常要等待主存,浪费资源,所以cache的出现,主要解决缓解cpu和主存之间速度不匹配的问题。
1.首先介绍一下操作系统高速缓存的配置
数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存与高速缓存都连在系统总线上(BUS)这条总线同时还用于其他组件的通信。
由于系统变得复杂,高速缓存与主存之间的加入了另一级缓存,新加入的这级缓存比第一缓存更大,但是更慢,而且经济上不合适,所以有了二级缓存,甚至有些系统已经拥有了三级缓存,于是就演变成了多级缓存,如下图:
2.
CPU cache的局部性原理:
1.时间局部性:如果某个数据被访问,那么在不久的将来它很可能再次被访问
2.空间局部性:如果某个数据被访问,那么与它相邻的数据很快也可能被访问
3.多级缓存-缓存一致性
多级缓存-缓存一致性(MESI