三人行考研网

考研真题笔记模板题库资源推介平台

工作时间:9:00 ~ 21:00

计算机#2021计算机考研究生#虚拟存储器

招生简章、专业目录、参考书目、科目调整、网办公告、考试大纲、专业变动、推免信息等,持续更新中~~~


类目:三人行考研网>计算机>正文

时间:2020-05-2919:25:24

计算机专业基础为全国统考科目,由数据结构、计算机组成原理 、操作系统、计算机网络四部分组成 ,该科目涉及范围广、内容多,需要投入大量精力。三人行考研网小编为考研的学子们提供了2021计算机考研:虚拟存储器,希望大家能有所收获 。

1.虚拟存储器的基本概念

虚拟存储器是主存的扩展 ,虚拟存储器的空间大小取决于计算机的访存能力而不是实际外存的大小,实际存储空间可以小于虚拟地址空间。从程序员的角度看,外存被看作逻辑存储空间 ,访问的地址是一个逻辑地址(虚地址),虚拟存储器使存储系统既具有相当于外存的容量又有接近于主存的访问速度。

虚拟存储器的访问也涉及到虚地址与实地址的映象 、替换算法等,这与Cache中的类似 ,前面我们讲的地址映象以块为单位 ,而在虚拟存储器中,地址映象以页为单位 。设计虚拟存储系统需考虑的指标是主存空间利用率和主存的命中率。

虚拟存储器与Cache存储器的管理方法有许多相同之处,它们都需要地址映象表和地址变换机构。但是二者也是不同的 。

虚拟存储器的三种不同管理方式:按存储映象算法 ,分为段式、页式和段页式等,这些管理方式的基本原理是类似的。

2.页式虚拟存储器

页式管理:是把虚拟存储空间和实际空间等分成固定大小的页,各虚拟页可装入主存中的不同实际页面位置。页式存储中 ,处理机逻辑地址由虚页号和页内地址两部分组成,实际地址也分为页号和页内地址两部分,由地址映象机构将虚页号转换成主存的实际页号 。

页式管理用一个页表 ,包括页号、每页在主存中起始位置 、装入位等 。页表是虚拟页号与物理页号的映射表。页式管理由操作系统进行,对应用程序员的透明的。

3.段式虚拟存储器

段式管理:把主存按段分配的存储管理方式 。它是一种模块化的存储管理方式,每个用户程序模块可分到一个段 ,该程序模块只能访问分配给该模块的段所对应的主存空间。段长可以任意设定,并可放大和缩小。

系统中通过一个段表指明各段在主存中的位置 。段表中包括段名(段号)、段起点、装入位和段长等。段表本身也是一个段。段一般是按程序模块分的 。

4.段页式虚拟存储器

段页式管理:是上述两种方法的结合,它将存储空间按逻辑模块分成段 ,每段又分成若干个页 ,访存通过一个段表和若干个页表进行。段的长度必须是页长的整数倍,段的起点必须是某一页的起点。

5.TLB(快表)

在虚拟存储器中进行地址变换时,需要虚页号变换成主存中实页号的内部地址变换 ,这一般通过查内页表实现 。当表中该页对应的装入位为真时,表示该页在主存中,可按主存地址问主存;如果装入位为假时 ,表示该页不在存储器中,就产生页失效中断,需从外存调入页。

中断处理时先通过外部地址变换 ,一般通过查外页表,将虚地址变换为外存中的实际地址,到外存中去选页 ,然后通过I/0通道调入内存。当外存页面调入主存中时还存在一个页面替换略的问题 。

提高页表的访问速度是提高地址变换速度的关键 。因为,每次访存都要读页表,如果页存放在主存中 ,就意味着访存时间至少是两次访问主存的时间 ,这样查表的代价大大。只有内部地址变换速度提高到使访问主存的速度接近于不采用虚拟存储器时的访主存速度时,虚拟存储器才能实用。

根据访存的局部性,表内各项的使用的概率不是均匀分布的 。在一段时间内 ,可能只用表中的很少几项,因此应重点提高使用概率高的这部分页表的访问速度,可用快速硬件构成全表小得多的部分表格 ,而将整个表格放在主存中,这就引出了快表和慢表的概念和技术。这样,虚地址到实地址的变换方法如后图所示。

查表时 ,根据虚页表同时查找快表和慢表,当在快表中查到该虚页号时,就能很快找到对应的实页号 ,将其送入主存实地址寄存器,同时使慢表的查找作废,这时主存的访问速度没降低多少 。

如果在快表中查不到 ,则经过一个访主存的时间延迟后 ,将从慢表中查到的实页送入实地址寄存器,同时将此虚页号和对应的实页号送入快表,这里也涉及到用一个替换算法从快表中替换出一行。

快表的存在对所有的程序员都是透明的。