【无标题】

下面我们要讲解的是cache,cache顾名思义,也就是高速缓存,是一种将内存进行缓存的机制,它相当于图书馆的书,目的只有一个,那就是让你可以快速拿到想要的东西

 首先我们看的就是这个东西,这里展示的就是我们的内存memory的直观展示,注意的是,每一个不同的颜色就是一个不同的内存块,换句话说,就是一个地址对应一个块,而这个块就是有自己的大小的,大小是多少呢,答案是1byte

这里的一种映射方式如图所示,我们很直观的看到了我们的形式

而且在提醒一次!!!

我们是左边是一个索引,右边是一个值,值是一个byte

首先是这个图,通过这个图我们就可以很好的看到我们的内存的本质了,可以看到,我们将多个内存放在一行,然后标记为了一种颜色,这个呢,就是块,通过这个块呢,我们就可以进行映射了,也就是说,我们可以看我们的内存对应到cache中,将会是哪一块cache了。

而且这里显然我们要说一下它的结构了

显然,现在是两个地址作为一个块了,简单的方法已经不行了(指的是看最后两位),很简单,现在的最后一位,只有一个作用,那就是看到底是对应的什么偏移量,也就是每一个块有两个地址,对应的是左边的还是右边的,当然我们这里是一一对应的!然后还有一点很重要,我们可以看到最后一位的意义,可是我们怎么确定他们的颜色呢,答案是看最低位左边两位,他们是多少,则对应的颜色就是多少,比方说11101,对应的是1D 1说明是偏移中左边的那个块,而10则说明是2,对应的是黄色

这一点很重要

现在我们要做另一件事了,那就是我们已经知道每一个内存对应的cache是多少了,可是反过来,知道了cache我们又怎么看内存呢,答案很简单,我们要在cache中用一个tag保存我们的内存地址,这样就可以“”“记忆”了。 

然而,进一步想,只是这样就好了吗?会不会有更好的存法,因为显然这样我们要存的有多余的信息,这个信息的来源是我们明明知道8一定会在这个块里,可是我们还是必须把8具体的写出来,这太多余了。怎么办?一种可行的办法是,我们选择了存储的不是我们的地址具体是哪一个,而是这是哪一个cache号,因为显然我们的cache是4个块一个cache,所以我们可以由cache编号啊!这样不是简单了太多了吗!!!哈哈哈,这真是太好了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值