计组之存储系统:6、Cache-主存映射方式(全相连映射、直接映射、组相连映射)

思维导图

在这里插入图片描述

待解决问题

在这里插入图片描述

三种Cache-主存映射方式

在这里插入图片描述

1、全相连映射:随意放
2、直接映射:0%8=0,8%8=0;所以cache的0号块存放0,8,16…
3、组相连映射:0%4=0,4%4=0;所以cache的0组存放0,4,8…
4、如何区分Cache中存放的是哪个主存块?
我们第一反应是给cache每一块增加一个标记位,用于保存主存的块号,但是计算机硬件只能保存0和1;假如默认标记为0时cache中未存放数据,但是当你访问cache时,会认为你将主存0号块的数据放入了其中,但其实该cache是空的,所以需要增加一个有效位。

全相联映射(随意放)

在这里插入图片描述

访存步骤:
1、主存地址的前22位, 1对比Cache中所有块2的标记;
2、若标记匹配且有效位=1,则Cache命中,访问块内地址为2!!-3001110 的单元。

直接映射(只能放固定位置)

在这里插入图片描述

1、与全相连映射相比,对于主存地址分析可知,Cache的块号刚好与主存块号的后3为相同(Cache总块数为8),所以在进行标记时,就不需要在标记这三位了,所以从原来的22位变成了19位
2、访存步骤:根据主存块号的后3位确定Cache行,在主存块号的前19位与Cache标记匹配且有效位=1,最后访问块内地址为 001110 的单元。

组相联映射(可放到特定分组)

在这里插入图片描述

1、同直接映射相同,2块为一组,分四组时,以后俩位就直接反映了组号,所以也不用保存,因此,标记位保存20位即可
2、访存步骤:首先根据主存块号的后12位确定所属分组号;其次若主存块号的前20位与分组内的某个标记匹配且有效位=1,则Cache命中;最后访问块内地址为 001110的单元。

各种映射的优缺点:

见思维导图

  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值