计算机组成原理(第五章)资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 八、虚拟存储器 计算机对存储器的要求是容量大、速度快、成本低。高速缓冲存储器Cache有效地解决了主存储器速度和价格的矛盾。那容量和价格的矛盾应该如何解决呢? 虚拟存储器正是用来解决存储器容量和价格的矛盾的,以扩大主存储器的容量。虚拟存储器由主存储器和联机工作的磁盘共同组成,这两种存储器在硬件和系统软件的共同管理下工作,构成存储系统的主存—外存层次。 * 1、虚拟存储器的基本概念 虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器,它借助于磁盘等辅助存储器来扩大主存容量。 虚拟存储器是在硬件和操作系统的共同管理下,以透明的方式给用户提供一个比实际主存空间大的多的程序地址空间。 虚拟存储器在技术上解决两个问题,一是解决主存容量不足的问题,二是解决存储设备的自动管理问题;用户在编写程序时,无需考虑程序在主存中能否放得下以及放在什么位置的问题。 用户编程时所用到的地址空间范围称为虚地址,也叫逻辑地址,而虚地址对应的存储空间称为虚拟空间,也叫逻辑空间。 实际的主存单元地址称为实地址,也叫物理地址,所对应的空间是主存空间;显然,虚地址范围要比实地址范围大的多。 * 虚拟存储器的工作过程 在物理存储层次上,程序和数据在操作系统管理下,先送入磁盘进行存储,然后才将当前运行所需要的部分调入主存,供CPU使用,其余暂不运行的部分留在磁盘中。 程序运行时,CPU以虚地址访问主存。先由存储管理硬件判断该地址的内容是否调入主存。如果已经调入主存,则由地址变换机构把虚地址转换为实地址(关键),据此访问主存实际单元;如果尚未调入主存,则通过缺页中断程序,把需要的内容调入主存。 依据主存—外存层次信息传送单位的不同,虚拟存储器分为三种构成方式:页式、段式和段页式虚拟存储器。 * 2、页式虚拟存储器 主存空间和虚存空间都划分成若干个大小相等的页。主存页称为实页,虚存页称为虚页。 虚地址分为两个字段:分别代表虚页号和页内地址。实地址也分为两个字段:分别代表实页号和页内地址。 虚地址到实地址的变换是通过页表实现的。页表是一张存放在主存中的虚页号和实页号的对照表,记录着虚页调入主存时被安排在主存中的位置信息。 如何找到这个页表?在硬件上,设置一个页表基址寄存器,存放着当前运行程序的页表的起始地址。 * 页式虚拟存储器 页式虚拟存储器的页面长度是固定的,页表的建立和新页的调入比较方便。 在最后一页会存在一些零头无法利用,造成一点浪费;同时,页不是逻辑上独立的实体,给程序的处理、保护和共享带来了一些麻烦。 * 3、段式虚拟存储器 在段式虚拟存储器中,段是按照程序的逻辑结构来划分的,各个段的长度因程序的不同而不同。 为了把虚拟地址变换成主存的实地址,虚拟地址划分成两部分:段号和段内地址,并通过一个段表来实现地址变换,如图所示。 段表用来找某一段在主存中的首址 * 段式虚拟存储器 由于段的划分与程序的分段相对应,所以段具有逻辑独立性;易于管理和多道程序共享。但是,段的长度不固定,给主存的分配带来了麻烦,容易留下零头,造成浪费。 * 4、段页式虚拟存储器 段页式虚拟存储器是段式管理和页式管理的结合。这种方式把程序按逻辑结构分段后,再把每段分成大小相等的页,主存空间也化成同样大小的页。程序分段、段分页。 段页式虚拟存储器的地址变换是通过段表和页表实现的。每个程序对应一个段表,段表中的每个表目对应一个段、并指向该段的页表起始地址(一个段有一个页表)。 在多道程序运行的环境中,每道程序需要一个基号(用来区别不同的程序),这个基号指向的是一个基址寄存器,这个基址寄存器里存放着该程序段表的起始地址。所以一个虚拟地址的变换实际上涉及四部分:基号、段号、页号和页内地址。 * 段页式虚拟存储器 段页式虚拟存储器的地址变换过程如下: 用基号找到基址寄存器(放段表的起始地址) 段表的表目地址 = 基址寄存器的值+段号 从段表表目中取出页表的起始地址 页表的表目地址 = 页表起始地址+页号 从页表表目中取出实页号(物理页号) 主存实地址(物理地址)= 实页号//页内地址 段页式虚拟存储器有段式和页式虚拟存储器的优点,缺点是在地址变换过程中要多次查表。段页式管理方式使用较多。 * 5、两个存储层次的简单比较 Cache—主存层次以信息块为单位,在主存和Cache之间传送数据,纯硬件实现;主存—外存层次(虚拟存储器)以页或段为单位在主存和外存之间传送数据,由硬件和软件共同管理。 Cache—主存层次弥补了主存和CPU之间的速度差距;虚拟存储器弥补了主存和程序之间的容量差距。 主存的存取时间是Cache存取时间的5~10倍;磁盘存取时间是主存存取时间的上千倍,在CPU访问主存不命中时,虚拟存储系统要花费很多时间从外存中调入数据。 Cach

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档