第十一章 计算机系统结构(第四讲).ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统结构 (第四讲) 第三章 存储系统 3.2 虚拟存储器 1961年,Kilbrn提出 虚拟存储器,虚拟存储系统,虚拟存储体系 基本工作原理,地址映象和变换方法,页面替换算法,加速地址变换速度的方法 3.2.1 虚拟存储器工作原理 页式虚拟存储器 页(page) 图3.16:虚拟存储器中的地址组成 实页(主存储器的页) 主存地址A=实页号p+页内偏移d 虚页(虚拟存储器的页) 虚地址Av=用户号U+虚页号P+页内偏移D 图3.17:页式虚拟存储器工作原理 变换成功(命中) 变换失败(未命中) 内部地址变换:虚页号P = 实页号p 外部地址变换:虚页号P = 磁盘实地址 页面替换算法(当主存储器中没有空页时) 3.2.2 地址的映象与变换 虚拟地址空间、主存地址空间、辅存地址空间 地址映象:把虚拟地址空间映象到主存地址空间,即将用户用虚拟地址编写的程序按照某种规则装入到主存储器中 地址变换:在程序被装入主存储器后,在实际运行时,把多用户虚地址变换成主存实地址(内部地址变换)或磁盘存储器地址(外部地址变换) 3.2.2.1 段式虚拟存储器 图3.18:地址映象 段表:包括段号(或段名)、段长、起始地址等 图3.19:地址变换 段表基址寄存器堆 装入位、访问方式、修改标志字段 两张表 一张是单个程序的内存印射表 一张是整个内存的分配表 3.2.3 加快内部地址变换的方法 造成虚拟存储器速度降低的主要原因: (1)、要访问主存储器,必须先查段表或页表或段页表 (2)、页表或段表的容量超过一个页面时,需采用多级页表技术,从而又增加了查页表(段表)的次数 多级页表技术: g:页表的级数 Nv:虚拟存储空间的大小 Np:页面的大小 Nd:页表存储字的大小 例如: Nv=4Gb、Np=1KB、Nd=4B g=3 第一级页表:1个页面,64个存储字(64*4B=256B1KB) 第二级页表:64个页面,每个页面256个存储字(256*4B=1KB),共64*256=16K存储字 第三级页表:16K个页面,每个页面256个存储字(256*4B=1KB) ,共16K*256=4M存储字,用于存放虚拟存储器的4M个页面(4M*1K=4GB) 必需加快查表(页表)的速度 3.2.3.1 目录表 基本思想是:压缩页表的存储容量,用一个容量比较小的高速存储器来存放页表,从而加快页表的查表速度 压缩页表的方法:页表只为已经装入到主存储器中的那些页面建立虚页号与实页号之间的关系。页表中的每个存储字=多用户虚页号+主存储实页号+修改位+其他标志 页表采用相联访问的方式(高速小容量存储器,如Cache):亦称相联目录表,简称目录表 图3.26:目录表(采用按内容访问的相联存储器) 3.2.3.2 快慢表 慢表是一个全表,快表只是慢表的一个部分副本,而且只存放了慢表中很少的一部分 快表和慢表也构成了一个由两级存储器组成的存储系统 快表:TLB(Translation Lookaside Buffer,地址变换后行缓冲器,或地址变换后备缓冲存储器) 快表=多用户虚页号(U,P拼接)+实页号 图3.27:慢表(按地址访问)、快表(按内容相联访问) 3.2.3.3 散列函数 当快表容量较大时,必需采用按地址方式访问 散列查找方法(Hashing方法,哈希方法) Ah=H(Pv) Pv:多用户虚页号 Ah:快表的地址 图3.28:用硬件实现Hashing函数 折叠按位加散列函数 图3.29:Pv等于Pv’,表示快表命中;否则,表示发生了Hashing冲突,需要去查慢表 3.2.3.4 虚拟存储器举例 例3.1:IBM370/168计算机的虚拟存储器快表结构及地址变换过程(图3.30) 二项新的措施: (1)、在快表的每一个存储字中存放二对多用户虚页号和主存实页号 (2)、用一个由6个寄存器组成的相联寄存器组,把24位的用户号U压缩成3位的ID 上述措施对应用程序员来说是透明的 3.2.4 页面替换算法及其实现 什么是页面替换算法? 当主存中所有页面都已经被占用,或者所有主存空间都已经被占用,而又要从磁盘存储器中调入新页(或新段)的情况。这时,必须从主存储器中淘汰掉一个不常用的页面(或程序段),以便腾出主存空间来存放新调入的页面(或程序段)。 评价一个页面替换算法好坏的标准主要有二个: (1)、命中率要高

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档