Cache与主存之间的直接映射,全相联映射和组项联映射以及其地址变换

Cache与主存之间的直接映射,全相联映射和组项联映射以及其地址变换

首先先解释一些比较基础的东西

1.cache是什么?

Cache是高速缓冲储存器,位于CPU和主存之间,比较小,速度比较快。

2.为什么要有cache?

Cache类似与word里的剪切板,在word的剪切板中,保存着最近几次复制或者剪切的内容,这样的话可以提高复制粘贴的效率,不需要每一次都回到原来的地方crtl+c。cache也一样,里面储存着最近几次cpu从主存中调用的数据,当计算机需要再次调用这些数据时,无需再去主存中寻找,可以直接从cache中取得。

3.从cache中取数据的指令和从主存中取数据的指令有区别吗?

很多人会认为从cache中取数据和从主存中取数据使用的是不同的指令,但其实不是这样的,cpu取数据指令的执行顺序是先去cache中寻找,未命中后再取主存中寻找。因此在调用数据时,cpu发出的指令中的地址使用的是主存地址。

例如:

  Ldr  r1,0x32

其中0x32指的是主存地址

4.Tag与valid位存储位置

Tag与valid位也储存在cache中,但他们存储在cache中的CAM中,和数据是分开存储的。但二者之间是有对应关系的。二者对应组成一个cache line(可以百度一下),因此,cache的存储空间是和系统一致的,这里认为是32位,tag和valid是另外存储的,很多人由于cache line的图示表示方法而对cache的存储位数产生了疑惑&#x

  • 22
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值