cache工作原理介绍

本文深入探讨了计算机存储器层次结构中缓存(cache)的工作原理,解析了缓存命中与不命中的概念,以及冲突不命中的原因。介绍了高速缓存的历史背景,为何在CPU与主存间引入缓存,以及通用高速缓存存储器的结构。

1. 引言

最近看完了深入理解计算机系统,准备写一些学习的总结,先从存储器中的高速缓存写起,因为博主在工作中总是碰到cache相关的问题,因此总结了一下深入理解计算机系统中关于cache原理这一部分。

2. 存储器层次结构

介绍高速缓存(cache)的工作原理之前,我们需要先了解一下计算机的存储器层次结构,其层次结构如下图(摘自深入理解计算机系统存储器层次结构)所示:

存储器层次结构的中心思想:对于每个k,第k层的更快更小的存储设备是作为第k+1层更大更慢的存储设备的缓存(cache)。

操作系统将存储器中存储的连续数据抽象成连续的数据块,每个数据块具有唯一性。数据在第k层和k+1层存储设备之间以数据快为传送单元进行数据的来回拷贝。第k层存储的数据块是第k+1层存储的数据块的一个子集。如下图所示:

缓存命中:

当程序需要第k+1层的数据对象d时, cpu会首先访问第k层存储设备,查找其中是否有某个数据块包含该对象d, 如果包含则 缓存命中。否则便叫做缓存不命中。

缓存不命中的种类:

缓存不命中包括冷不命中和冲突不命中。

冷不命中:一个空的缓存叫做冷缓存,此类不命中叫做冷不命中。

冲突不命中:硬件缓存通常会采取某种放置策略(映射规则)将第k+1层中数据块映射到第k层某个数据块,这种放置策略会导致冲突不命中。

对于冲突不命中用下面个例子解释:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qls315

感觉好可打赏几毛钱增强更新动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值