CPU多级缓存

主内存(RAM):也就是所谓的内存条,一般当数据写入电脑磁盘的时候需要先写入主内存,然后再写入磁盘。

系统主线:连接系统cpu和主内存的系统主线,就比如台式电脑连接主板上连接cpu和内存条的主线。

如下图所示最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存和高速缓存都连在系统总线上,这条总线还用于其他组件的通信。

高速缓存出现不久,系统变得越来越复杂,高速缓存与主存之间的速度差异被拉大,直到加入了另一级缓存,新加入的这级缓存比第一缓存更大,而且更慢,而且经济上不合适,所以有了二级缓存,甚至是三级缓存。

CPU多级缓存-多核并发缓存架构解析

一、为什么需要CPU多级缓存

再计算机最开始的时候,cpu直接于主内存交换数据,不知道读者对摩尔定律有没有印象:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍,由于cpu性能日新月异的增长,远高于主内存读写,而需要等待主内存,这样发挥不了多核cpu高性能的优势,于是便增加了cpu多级缓存,在现在电脑的任务管理器也是看的到的:

CPU多级缓存-多核并发缓存架构解析

二、CPU缓存的意义:

1)时间局部性:如果某个数据被访问,那么在不久的将来它很有可能会被再次访问。

2)空间局部性:如果某个数据被访问,那么与它相邻的数据很快也能被访问。

缓存一致性(MESI)协议

为了保证多核cpu各个缓存的数据的一致性。

相关文章: