Cache-主存地址映射

   由内存地址映射到Cache地址为地址映射,首先要明白为什么会映射再来看映射的关系?原因很简单就是因为Cache比内存要快,所以才会有地址映射一说。
  再来解释映射,映射就是要说明内存跟Cache的相关关系,可以理解为存在的某种关联。

地址映射主要分为三种,直接映射,全相联映射和组相联映射
1.直接映射
比如内存地址有10块,Cache地址有2块,那么映射关系就出来了,第一块主存对应第一块Cache,第二块主存对应第二块Cache,第三块主存对应第一块Cache,以此类推下去,就可以的到相关的关系,这时候书上的公式就出来了,i代表缓存块号,就是我们说的Cache块号,j代表了主存的块号,mod2的c次方
比如想的到第五个主存块号在Cache中的块号,就可以用i = 5mod2 可以得到块号为第一块。
如果主存有500块,cache有10块,想得到第234块的主存对应的Cache的地址为234%10为第四块也就是在内存中的3因为从零开始。
2.全相联映射
直接相连映射有相应的数学思想,而全相联映射肯定也具有相应的映射关系,就是每一块主存的地址都与每一块Cache的地址进行相应的映射,简单来就是从第一块主存的地址都与每一块Cache相连,例如:第一块与第一个Cache块相连,第二块主存与第一块Cache相连,以此类推。。。。。
3.组相联映射
组相联映射是直接相联映射以及全相联映射的一种折中的方法,这样肯定就要用到两个方法的思想。
首先肯定会有一个一对一的对应关系来满足直接相联映射,然后才会有全相联映射,既然是组,肯定要进行相应的分组。
先进行分组,加入Cache有8块,分成每两块为一组,一共有四组,主存有400块,那么想找第300块的主存在Cache中的位置就是在300mod4为第一组中两块中的任意一块。
总结:在映射关系中只要明白相关的数学思想,其实题一点也不难,加油吧,小伙伴。。。。。。。。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值