[音乐] [音乐]
[音乐]
大家好!本视频介绍存储管理的硬件支撑,期望学习者理解
存储器的组织层次,理解存储管理涉及的存储对象
理解cache及其组织,理解地址转换/存储保护的硬件支撑
理解虚拟存储器的硬件支撑,计算机当中的存储器组织层以下的层次
最往上是寄存器,它是一种最快速的存储器
依次往下是L₁、L₂、L₃的Cache
它们同样是在处理器现场当中 再往下主存储器,再往下是我们的硬盘
包括高速的固态硬盘、本地硬盘以及网络硬盘
在这个存储器的顶层,我们的存储访问的速度最快
但是价格比较高,所以容量不可能设置的
太大,而往下我们则逐步的进行扩充
存储管理的主要的对象是我们的主存储器,换句话来说
存储管理最重要的是管理我们的主存储器
但是它必须涉及到其他的一些 部分,为了获得更好地处理性能
部分主存程序与数据(特别是关键性能数据)将被调入Cache
存储管理需要对Cache进行关注和管理 同样为了获得更大的虚拟地址空间
存储管理还需要对存放在固态硬盘、硬盘
甚至网络上的虚拟存储器文件进行管理
一般来说我们的虚拟存储器
它是一个文件,它应该放在一个最快速的硬盘上头
首选是固态硬盘,没有固态硬盘就在硬盘上 甚至对于无盘工作站来说,它就需要放到网上去
下面我们来看一下Cache Cache是介于CPU和主存储器之间的高速小容量存储器
它是由静态存储芯片来组成的 容量比较小,但是比主存的速度
快,有效的利用Cache我们可以来存储一些关键
性的数据,加速我们处理器访问数据的速度 提高整个计算机系统的性能
Cache通常包括高速的存储器 的介质,包括联想存储器
包括地址部件和替换逻辑等等 高速存储器大家很容易理解,我们要来
解释一下联想存储器的概念,我们冯氏模型
提出的存储器组织是按照地址进行寻址
但是在高速存储器当中,我们往往存放的是一部分的信息
这个时候就需要通过内容来进行检索
联想存储器就是这样一种根据内容进行寻址的存储器
地址转换部件和替换逻辑也是Cache必须提供的
地址转换部件是通过联想存储器来建立一张目录表 以实现快速的地址转换
我们要访问一个地址,就根据这个地址的内容在联想存储器当中快速的定位
如果找到了就快速访问,没有找到再按照地址
到内存当中去读,同样这样一个联想存储器
如果已经满了,我们就需要进行淘汰和替换
替换部件也必须被高速换成存储器
所支持,Cache根据成本可以划分成三级L₁、L₂、L₃
L₁是最关键、最快速的Cache ,它一定始于
我们的CPU同频的,可以用来存储 最关键的数据和指令,成本也比较高
对CPU的性能影响最大,通常计算机有 32KB-256KB左右的这样一个L₁Cache
L₂Cache就可以大一点了 它可以做成内置也可以做成外置的
内置的速度可能快一点,跟CPU同频 外置的可能速度要慢一些,它的容量可以达到进一步
的扩充,进一步我们还可以涉及L₃的Cache L₃Cache并不是所有的计算机系统都采用
一般只有游戏机或者是服务器 我们需要实行L₃Cache
使得我们获得比较好的性能,而对大多数应用来说
可能对计算机总线的改善比设置L₃Cache 会更加有利一点,下面我们来看一下
对地址转换和存储保护的硬件支撑 内存当中的进程我们可以设置一个基址寄存器
指明这个内存的实质 由一个限长寄存器来指明
这个内存区的一个长度,处理器在执行一条逻辑地址的时候
就可以把它和限长寄存器先进行比较,如果超出了限长
就说明它是非法访问,就要产生越界中断
否则呢,把它和基址相加 就得到了具体的物理地址,显然在这里这个
相加操作就是动态重定位,而这个比较操作就是存储保护
一条指令当中,至少有一个地址吧,指令地址
可能还有第一个数据地址,第二个数据地址
等等,一条指令就有很多次地址转换的可能
所以这样一个过程必须由硬件来加以实现 就像我们刚才讲到的,Cache的实现
必须由硬件来支撑,动态 重定位和存储保护的实现必须由硬件来支撑
虚拟地址或者说虚拟存储器也需要一个硬件的支撑
没有这样一个虚拟 地址中断这样一个
异常的话,虚拟存储器是无法实现的,既然一条
部分数据调入内存,那么我们指令当中的地址就有可能不在内存当中
没有这样一个中断,我们就无法去实现虚拟地址
到实际地址的这样一个调进调出,所以虚拟存储器必须要有硬件支撑
同样,没有页面替换这样一个硬件支撑的机制
大家设想一下,我们就不可能实现虚地址和实地址之间的调进调出
虚拟存储器在效率上也是没有异议的 所以除了Cache、动态重定位
和存储保护需要硬件支撑之外,虚拟存储器也需要硬件支撑 [音乐]
[音乐]