期末复习—计算机组成原理—计算机的高速缓存

高速缓存的工作原理

高速缓存的构成和内存的构成原理是一样的
即,由字和字块构成
:是指存放在一个存储单元中的二进制代码组合
字块:用来放字的东西,存储在连续的存储单元中而被看作是一个单元的一组字,即字块是由字构成,存放字的东西

如图(主存示意图):在这里插入图片描述一个字块由多个字构成,而且有如右图的规则,注意,不是说一个字的位数一定是32位,上面的三个前提只是假设

下图为一个字地址的示意图
在这里插入图片描述如图,一个字的地址由两部分组成,CPU进行寻址的话则需要通过前m位先找到字所在字块的地址,然后找到对应的字块,然后再通过后b位找到字在字块中的地址

下面是关于字的运算规则
在这里插入图片描述因为前m位是指定块的地址的,即所有块中的此块的地址,所以2m=M,而后面的b是指定此字在块中所有字中此字的地址的,所以2b=B

例题:
在这里插入图片描述
注意很重要一点:我们所说的32位或者64位指的都是比特位(bit),即25=32bit,26=64bit

  1. 求块地址m位数,即用来指定此字所在块在所有块中的地址的那一部分
    先求出内存中的总块数,然后2m=总块数
  2. 求块内地址b的位数,即指定此字在块中的地址那一部分
    先求出块内总位数,即比特位数(bit)
    然后公式2b=总比特位

如图:
在这里插入图片描述

CPU跟缓存交互的效率

下图为CPU和缓存和主存的关系交互图
在这里插入图片描述有上图这三个规则

因为缓存快,主存慢,所以一般我们把常用的数据都优先加载到缓存中
命中率:
然后我们可以通过命中率这一个名词来衡量CPU从高速缓存取数据成功的概率

如下图,为命中率的计算方法
在这里插入图片描述Cache就是高速缓存,h代表命中率

访问效率和访问Cache—主存系统的平均时间
在这里插入图片描述h还是我们的命中率

例题:
在这里插入图片描述

  1. 肯定先求命中率
    在这里插入图片描述
  2. 然后求访问效率
    在这里插入图片描述
  3. 平均访问时间
    在这里插入图片描述

高速缓存的替换策略

原因:
为了加快CPU加载数据的速度,我们需要尽可能的让CPU从高速缓存中读取数据,因为高速缓存容量小,所以我们可以让CPU需要的数据先从主存加载到高速缓存,然后再让CPU从高速缓存中读取数据
什么是高速缓存的替换
替换策略就用在高速缓存容量满了,但还是需要从主存读取数据的时候,此时就需要去除掉一点高速缓存中的数据,如下图:
在这里插入图片描述

有如下四中策略:
在这里插入图片描述

  1. 随机算法
    即随机选取去掉高速缓存中的一个数据,用来替换从内存读取到的数据
  2. 先进先出算法(FIFO)
    如图:
    可以即先进入高速缓存的数据拍在前面,然后从内存中读取新数据了,就把最先进入的数据即最前面的数据给去掉,然后让读取到的数据拍在最后面
  3. 最不经常使用算法(LFU)
    他最主要是两点:
    在这里插入图片描述
    原理如图:
    在这里插入图片描述读取到缓存中使用次数最少的数据,并把它替换为要读取进来的数据
  4. 最近最少使用算法
    要点:
    在这里插入图片描述
    原理:
    在这里插入图片描述即我们把读取到缓存中的数据存入链表,新读入或者新使用的数据放在链表头部
    即,当我们用到缓存中的某一数据的时候,这个数据会从原先他在链表中的位置移动到链表头部,而且当我们从主存中新读取到的数据也会放在链表头
    然后缓存存放满了的话就从链表尾去除数据来腾出空间,然后新读取的数据还是会放在链表头
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值