【计算机系统】存储器层次结构

(一)存储器层次结构

在这里插入图片描述
存储器的中心思想:K层的更快、更小的存储设备是K+1层更慢、更大的存储设备的高速缓存。
在这里插入图片描述

(二)缓存

(1)两个概念
  • 高速缓存:第k层是k+1层的高速缓存
  • 缓存:是一个过程,使用高速缓存的过程。
(2)缓存原理

在这里插入图片描述

(三)缓存命中

当程序需要某个数据块data时,先在本层K层进行查找,若在K层找到data数据块,就说明缓存命中。

(四)缓存不命中

当程序需要的数据块data在k层未找到,即缓存不命中。当发生缓存不命中时,第K层的缓存从K+1层取出包含data的数据块,若K层缓存已满,则将会覆盖一个现存的块(缓存策略:决定覆盖哪个块)。

(五)缓存策略

缓存策略:决定覆盖哪个块。

(1)调用缓存策略条件
  • (1)发生缓存不命中
  • (2)该层缓存已满

覆盖一个现存块的过程叫做替换或者驱逐这个块(牺牲块)。

(2)缓存策略
  • 随机替换策略:随机选择一个块进行替换
  • LRU:一个具有最近最少使用的块进行替换

(六)缓存不命中的类型

(1)冷缓存

该层存储设备上的数据块为空
在这里插入图片描述

(2)冲突不命中

这种缓存不命中的结果是使用了取模的放置策略导致的。

取模的放置策略:
在这里插入图片描述
解释:当K层要使用0时,K层的发生缓存不命中,此时要去k+1层取0数据块,根据取模放置策略,将0数据块覆盖在8数据块上。若是在K层访问8号数据块,此时发生缓存不命中,此时去k+1层上去取8数据块,根据取模放置策略,将8数据块覆盖0数据块。如此的反复下去,每次缓存都会发生不命中。这就是冲突不命中类型。

(3)容量不命中

例如:一个循环来访问同一个数组中的所有元素。这个块的集合称为工作集。当工作集超过缓存大小时,缓存会发生容量不命中。

(七)缓存管理

(软件和硬件)将各个缓存设备划分成块、在不同层次间传送块、判断是否缓存命中并处理他们。

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值