Cache工作原理 地址映射方式(重要)

一研为定,万山无阻

解决问题

在这里插入图片描述

局部性原理

时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息。

空间局部性:在最近的未来要用到的信息(指令和数据)很可能与现在正在使用的信息在存储空间上是邻近的。

Cache 的工作原理

在这里插入图片描述

注意
1、 M >> C ,因为主存容量远远大于缓存容量
2、标记块用于说明 主存块与Cache块的对应关系(如果主存中有块写进Cache 中,则在Cache 进行标记是否保存)
3、两者的块内地址是相同的

命中与未命中

  • 命中 : 主存块调入缓存,主存块与缓存块建立了对应关系,用标记记录与某缓存块建立了对应关系的主存块号。

  • 未命中 : 主存块未调入缓存,主存块与缓存块未建立对应关系。

Cache 的命中率

  • CPU欲访问的信息在 Cache中的比率
  • 设一个程序执行期间, Cache的总命中次数为Nc,访问主
    存的总次数为Nm,则命中率 H = N c N c + N m { \frac { Nc } { Nc + Nm }} Nc+NmNc

命中率的相关性

  • 命中率与 Cache的容量与==块长(块的大小)==以及cache 的组织方式有关

块长的大小

  • 过小 :一段时间后,块内信息会被用光,则需要到主存当中读,没有充分利用局部性原理,命中率降低
  • 过大 : 由于容量有限,则导致块数较小, 则大快长内部分信息有用,则需要到主存中读取,命中率降低

一般每块可取4~8个字,块长取一个存取周期内从主存调出的信息长度

性能分析

Cache 与主存储系统效率

  • 并行情况下
    在这里插入图片描述
    注意: 上述平均访问时间的计算

  • 数据带宽 = 数据量 / 平均访问时间

例题

  • 并行
    在这里插入图片描述
  • 非并行
    在这里插入图片描述

总结

在这里插入图片描述

Cache 工作原理

预测策略
在这里插入图片描述
在这里插入图片描述

地址映射方式(重要)

主存中的块放于Cache的位置

(1) 空位随意放:全相联映射
(1) 对号入座:直接映射
(3) 按号分组,组内随意放:组相联映射

直接映射

在这里插入图片描述
映射关系: 每个主存块只能和一个缓存对应,一个缓存块可以与多个主存块对应。

在这里插入图片描述

  • j cache 的块号
  • i 主存的块号
  • c cache 的总的块号


cache 的行号 i
主存 的块号 j
cache 的总行数

全相联映射

  • 与上面的直接映射思路正好相反,是另外的一个极端
    在这里插入图片描述

组相连映射

以上两种方式的折中处理策略

  • 组间直接映射,组内全相连映射
  • 即为,主存储器的数据只能放在特定组内,但是可以在该组的任意位置
    在这里插入图片描述

在这里插入图片描述
上述图为 2 - 路组相连映射

  • j cache 的组号
  • i 主存的块号
  • Q 为 Cache 的组数

总结

在这里插入图片描述

例题

地址映射

直接映射

在这里插入图片描述

全相连映射

在这里插入图片描述

组相联映射

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值