第3章 存储系统(七)

上传人:工**** 文档编号:469624082 上传时间:2023-12-25 格式:DOCX 页数:4 大小:54.86KB
返回 下载 相关 举报
第3章 存储系统(七)_第1页
第1页 / 共4页
第3章 存储系统(七)_第2页
第2页 / 共4页
第3章 存储系统(七)_第3页
第3页 / 共4页
第3章 存储系统(七)_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《第3章 存储系统(七)》由会员分享,可在线阅读,更多相关《第3章 存储系统(七)(4页珍藏版)》请在金锄头文库上搜索。

1、四川警安职业学院标准教案纸课程名称计算机组成原理(第二十五讲)任课教师陈平授课时间地点多媒体授课班级人数教学目标1. 掌握虚拟存储器的概念2. 掌握页式虚拟存储器的原理3. 了解段式虚拟存储器的原理4. 掌握段页式虚拟存储器的原理5. 理解替换算法教学重点1. 虚拟存储器的概念2. 页式虚拟存储器的原理3. 段页式虚拟存储器的原理教学难点1.替换算法教学时数2节教学方法讲授法、演示法、实践操作法 教学手段多媒体教学教学内容:第3章存储系统(七)3.6虚拟存储器3.6.1虚拟存储器的基本概念1.什么是虚拟存储器虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。它借助于磁盘

2、等辅 助存储器来扩大主存容量,使之为更大或更多的程序所使用。虚拟存储器不仅是解决主存容量和存取速度矛盾的一种方法,而且也是管理存储设备的有效方法。有了 虚拟存储器,用户无需考虑所编程序在主存中是否放得下或放在位置等问题。虚拟存储器指的是主存一外存层次。它以透明的方式给用户提供了比实际主存空间大得多的程序地址空 间。此时程序的逻辑地址称为虚拟地址(虚地址),程序的逻辑地址空间称为虚拟地址空间。物理地址(实际址)由CPU地址引脚送出。它是用于访问主存的地址。设CPU地址总线的宽度为m位, 那么物理地址空间的大小用2m来表示。虚拟地址是由编译程序生成的。工作在虚拟地址模式下的CPU理解这些虚拟地址,

3、并将它们转成物理地 址。设虚拟地址字长为n位,则虚拟地址空间的大小可用2n来表示但因虚拟存储器的内容要保存在磁盘上, 故虚拟地址空间的大小实际上受到辅助存储器容量限制。从原理上看,主存一外存层次和cache主层次有很多相似之处,它们采用的地址变换及映射方法和策 略,从原理上看是相同的,且都基于程序局部性原理。它们遵循的原则又是:(1) 把程序中最近常用的部分驻留在高速的存储器中。(2) 一旦这部分变得不常用了,把它们送回到低速的存储器中。(3) 这种换入换出是由硬件或操作系统完成的,对用户是透明的。(4) 力图使存储系统的性能,接近高速存储器,价格接近低速存储器。然而,两种存储系统中的设备性能

4、有所不同,管理方案的实施细节也有差异,所以虚拟存储系统中不能 直接照搬cache中的技术。两种存储系统的主要区别在于:主存的存取时间是cache中存取时间的5 -10 倍,磁盘的存取时间是主存取时间的上千倍,因而未命中时系统的相对性能损失有很大的不同。具体说,在 虚拟存储器中未命中的性能损失要远大于cache系统中未命中的损失。2 .主存一外存层次的基本信息传送单位主存一外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页段是利用程序的模块化性质,按照程序的逻辑结构划分成的多个相对独立部分,例如,过程、子程序、 数据表、阵列等。段作为独立的逻辑单位 可以被其他程序段调用,这样就形成段间

5、连接,产生规模较大的程序。因此,把段作为基本信息单位在主存-外存之间传送和定位是比较合理,一般用段表来指明各段在主 存中的位置。每段都有它的名称(用户名或数据结构名或段号)、段起点、段长等。段表本身也是主存储器的 个可再定位段。把主存按段分配的存储管理方式称为段式管理。段式管理系统的优点是段的边界与程序的自然分界对应; 段的逻辑独立性使它易于编译、管理、修改和保护;也便于多道程序共享;某些类型的段(堆栈、队列)具有 动态可变长度,允许自由调度以便有效利用主存空间。但是,正因为段的长度各不相同,段的起点和终点不 定,给主存空间分配带来麻烦,而且容易在段间留下许多空余的零碎主存空间不好利用,造成浪

6、费。页式管理系统的基本信息传送单位是定长的页。主存的物理空间划分为等长的固定区域,称为页面。页 面的起点和终点地址是固定的,给页表带来了方便。新页调入主存也很容易掌握,只要有空白页面就可容纳。 唯一可能造成浪费的是程序最后一页的零头的页内空间,它比段式管理系统外的浪费要小得多。页式管理系 统的缺点正好和段式管理系统相反,由于页不是逻辑上独立的实体,所以处理、保护和共享都不及段式来得 方便。段式存储管理和页式存储管理各有其优缺点,可以采用分段和分页结合的段页式管理系统。程序按模块 分段,段内再分页,进入主存仍以页为基本信息传送单位,用段表和页表(每段一个页表)进行两级定位管理。3.6.2页式虚拟

7、存储器在页式虚拟存储系统中,把虚拟空间分成页,称为逻辑页;内存空间也分成同样大小的页,称为物理页 假设逻辑页号为0, 1, 2 m,物理页号为0 , 1 n,显然有mn。由于页的大小都取2的整数幂个字,所以,页的起点都落在低字段为零的地址上。因此,虚存地址分为两个字段:高位字段为逻辑页 号,低位字段为页内行地址,实存地地址也分两个字段:高位字段为物理页号,低位字段为页内行地址。由 于两者的页面大小一样,所以页内行地址是相等。虚拟地址到主存实地址的变换是由放在主页的页表来实现。在页表中,对应每一个虚存逻辑页号有一个 表目,表目内容至少要包含该逻辑页所在的主存页面地址(物理页号),用它作为实(主)

8、存地址的高字段,与虚 存地址的页内行地址字段相拼接,就产生了完整的实主存地址据此来访问主存。页式管理的地址变换如图 3-14所示。通常,在页表的表项中还包括装入位(有效位)、修改位、替换位及其他保护位等组成的控制字 段。如装入位为1,表示该逻辑页已从外存调入主存;装入位为0”则表示对应的逻辑页尚未调入主存。 如访问该逻辑页就要产生页面失效中断,启动输入输出子系统,根据页表项目中查得的外存地址,由磁盘等 外存中读出新的页以主存中来。修改位指出主存页面中的内容是否被修改过,替换时是否要写主存,替换控 制位指出需替换的页等。页农基址寄存器虚存地址图3-14 页式虚拟存储器结构Flash演示假设页表已

9、保存或已调入主存储器中,那么,在访问存储器时,首先要查页表,即使页面命中,也得先 访问一次主存去查页表,再访问主存才能取出数据,这就相当于主存速度降低了一倍。如果页失效,还要进 行页面替换、页面修改,访问主存的次数就更多了。因此,把页表的最活跃部分存放在高速存储器中组成快 表,这是减少时间开销的一种方法。此外,在一些影响工作速度的关键部分引入硬件支持,例如采用按内容 查找的联想存储器来并行查找,也是可供选择的技术途径。一种经快表与慢表实现内部地址变换的方式如图3-15所示,快表由硬件组成,它比页表小得多,当在快表中有此逻辑页号时,就做到虽采用虚拟存储器但访 主存速度几乎没有下降。如果在快表中查

10、不到,那就要费一个访主存时间查慢表,从中查到物理页号送入实主存地址寄存器,并将此逻辑页号和对应的物理怘号送入快表,替换快表中应该移掉的内容,这也要用到替 换算法。(按内容比较)基hl:离存器程序c段表程序A段表sA+oa+iSa+2 ,Sa+3 辛Sc+2a十。a+1b+0b+lb+2c+0c+l物理页号虫内地:hl:I 2 I ci I物理地址页表12段g71 06段2图3-15进快表和慢表实现内部地址访问Flash 演示3.6.3段式虚拟存储器在段式虚拟存储系统中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异。虚拟地址由段号 和段内地址组成。为了把虚拟地址变换成主存地址,需要一个段

11、表。装入为1表示该中需要有长度指示。在访问某段时, 如果段内地址值超过段的长度,则发生地址越界中断。段表也是一个段,可以存在外存中,需要时再调入主 存。便一般是驻留有主存中。3.6.4段页式虚拟存储器段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。在这种方式中,把程序按逻辑单位分段 以后,再把每段分成固定大小的页。程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保 护。因此,它可以兼备页式和段式系统的优点。其缺点是在地址映象过程中需要多次查表。在段页式虚拟存 储系统中,每道程序通过一个段表和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有个 指向该段的页表起始地

12、址(页号)及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装 入、已修改等状态信息。计算机中一般都采用这种段页式存储管理方式。如果有多个用户在机器上运行,即称为多道程序,多道程序的每一道(每个用户)一个基号(用户标志号), 可由它指明该道程序的段表起始地址(存放在基址寄存器中)。这样,虚拟地址应包括基号、段号、页号、页 内地址。格式如下:基号段号页号页内地址每道程序可由若干段组成。而每段又由若干页组成,由段表指明该页表的起始地址,由页表指明该段各 页在主存中的位置以及是否已装入等控制信息。段页式虚拟存储系统由虚拟地址向实在存地址的变换至少需要两次表(段表与页表)。段、页表构成表

13、层 次。当然,表层次不只段页式有,页表也会有,这是因为整个页表是连续存储的。当一个页表的大小超过一 个页面的大小时,页表就可能分成几个页,分存于几个不连续的主存页面中,然后,将这些页表的起始地址 又放入一个新页表中。这样,就形成了二级页表层次。一个大的程序可能需要多级页表层次。对于多级表层 次,在程序运行时,除了第一级页表需驻留在主存之外,整个页表中只需有一部分是在主存中,大部分可存 于外存,需要时再由第一级页表调入,从而可减少每道程序占用的主存空间。些号段号 页号贞内地址I c I !|?| g |邃辑地址图3-16段页式虚拟存储系统Flash演示3.6.5替换算法当CPU要用到的数据或指令

14、不在主存时,产生页面失效(缺页),此时要求从外存调进包含有这条指令或 数据的页面。假如主存页面全部占满,那么用什么规则来替换主存的哪一页以接纳要调进的页面呢?虚拟存储器中的页面替换策略有很多相似之处,但有二点显著不同:(1)缺页至少要涉及前一次磁盘存 取,以读取所缺的页面,因此缺页使系统蒙受的损失要比cache未命中大的多。(2)页面替换是由操作系统 软件实现的;(3)页面替换的选择余地很大,属于一个进程的页面都可替换。为了以较多的CPU时间和硬件 为代价来换取更高的命中率,虚拟存储器中的替换一般采用LRU算法、LFU算法、FIF0(先进先出)算法,或 将两种算法结合起来使用。对于将被替换出去的页面是否要进行某些处理呢?由于在主存中的每一页在外存中留有副本,假如该页 调入主存后没有被修改(即写入)那么就不必进行处理,否则就应该把该页重新写入外存,以保证外存中数据 的正确性。为此在页表的每一行可设置一修改位,当该页刚调入主存时此位为0,当对该页内任一地址进 行写入时,就把该位修改1。在该页被替换时,检查其修改位,如为1”,则先将该页内容从主存写入 外存,然后再从外存接受新的一页。作业P95 3.4 题P96 3.63.9 题1.什么是虚拟存储器?教学反馈

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 电气技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号