回顾:
- Cache存在于cpu和主存之间的存储结构——解决cpu和主存之间,速度容量不匹配的问题
考察:
- Cache的特点
- 命中率的概念
- 三种相联映像方式特点的对比与区分
- 三种相联映像方式的电路复杂度和冲突率的排序
Cache
1 Cache——概念
1.1 概念【掌握】
- 三级存储体系当中,Cache是访问速度最快的层次
- 用到的数据接下来频繁要用——时间局限性
- 用到的数据接下来要用它相邻的东西——空间局限性
- 计算机的存储系统体系中,Cache并不属于储存,是cpu和主存之间的一个存储结构
问,为什么Cacha访问速度快,就可以提高计算机性能呢?
例子:比如回家做饭的时候,我们是做的时候再去超市买快还是提前买好放到家里,做什么用什么快。
同理:计算机加工数据的时候,数据的来源可以从主存中临时去取,但是我们提前将数据从主存中准备到Cache当中,整体速度就会有所提升。
Cache存储的内容
就是主存赋值了一部分给到了Cache,用的时候直接去拿。
1.2 Cache命中率以及平均周期的计算【命中率的概念,加权平均值的思路掌握】
命中率的概念【掌握】
- 我们访问数据的时候,如果这个内容刚好在Cache当中,我们就称为
命中
。 - 一般Cache的访问命中率在90%以上。
- 命中率是由算法决定的
平均周期的计算【非考点】
- 加权平均值的思路【掌握】
- 加权平均值即将各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。
1.3 Cache与主存的对应关系【掌握】
注:Cache与主存之间的对应关系
也叫地址映射
由硬件
直接完成【不需要程序员和操作系统参与】
- 这种对应关系主要三种形式【主要从硬件电路复杂度和冲突率做对比】
- 直接相联映像【偏极端】
- 这种方式:物理电路简单好解决,但是很容易冲突
- 全相联映像【偏极端】
- 这种方式:冲突率低,但是单路复杂度高
- 组相联映像【折中考虑】
- 这种方式:电路复杂度两者折中,冲突率两者折中
- 直接相联映像【偏极端】
2 Cache——映像
- 页是相对不会发生变化的。【默认给大点,这样便于查找】
如何将2048个页,放到16个页中?
就和2048个萝卜如何有序的种在16个坑里,如何来埋就是映像的过程。
2.1 Cache——直接相联映像【偏极端】
- 我们将主存,划分成与Cache相同大小的区域
- 每一个主存区域当中,也有16个页面
- 主存每个区域的0号页,都与Cache的0号页进行映射
注:地址结构了解即可,未考
这种方式:物理电路好解决,但是冲突率很高
如果0-14都被用了,则能映射的就只有128个了。其余的位置都冲突用不了。
2.2 Cache——全相联映像【偏极端】
解决了直接相联映像冲突率高的问题
- 主存的0号页,可以放到Cache0-15号页的任意位置。
- 同理2047号页也可以。
这种方式:冲突率低,但是电路复杂度高
- 主存地址除了页内地址,其他的地址全部要做映射——才能找到一个位置与Cache对应
2.3 Cache——组相联映像【折中考虑】
- 同样将主存分为128个区域,每个区域16个页
- 将每两个页面看成一个组
- 在组相联映像当中,主存与Cache当中,组与组是直接相联的
- 0号组,只能放到0号组位置上——但是0号组内部的页面是可以任意对应的
注:地址结构了解即可,未考
这种方式:电路复杂度两者折中,冲突率两者折中
2.4 Cache——映像【电路复杂度和冲突率的排序汇总】【掌握】
3 例题讲解
例题一
- 选A【没有扩大主存的容量】
- 计算机的存储系统体系中,Cache并不属于储存,是cpu和主存之间的一个存储结构
- C选项,不会随着容量的扩大线性提高【而是越来越平缓】
例题二
- 选D
例题三
- 选A
- 串并联一般出现在物理的电路当中,计算机考试当中可靠性计算有:串联模型,并联模型,混联模型【可靠性知识点当中会提到】
电路复杂度和冲突率的排序汇总
* 直接相联映像【偏极端】
* 这种方式:物理电路简单好解决,但是很容易冲突
* 全相联映像【偏极端】
* 这种方式:冲突率低,但是电路复杂度高
* 组相联映像【折中考虑】
* 这种方式:电路复杂度两者折中,冲突率两者折中