1、第第4章章 存放系统存放系统教学目标与要求:教学目标与要求:了解:单体多字并行存放器和交叉编址并行存放器工作原理;了解:单体多字并行存放器和交叉编址并行存放器工作原理;了解:程序局部性和存放器系统层次结构及其性能指标了解:程序局部性和存放器系统层次结构及其性能指标掌握:存放体系组成及其设计标准掌握:存放体系组成及其设计标准访存局部性原理。访存局部性原理。CacheCache基基本结构和工作原理,研究地址映象与变换、替换策略和更新策本结构和工作原理,研究地址映象与变换、替换策略和更新策略工作原理和设计方法,分析影响略工作原理和设计方法,分析影响CacheCache性能指标原因及优化方性能指标原因
2、及优化方法。先进法。先进CacheCache结构和一致性处理方法。虚拟存放器结构与实现结构和一致性处理方法。虚拟存放器结构与实现技术。技术。第1页第第4章章 存放系统存放系统教学目标与要求:教学目标与要求:教学目标与要求:教学目标与要求:重点:地址映象与变换、替换策略和更新策略工作原理和重点:地址映象与变换、替换策略和更新策略工作原理和设计方法;页式存放器工作原理及替换算法;设计方法;页式存放器工作原理及替换算法;CacheCache存放存放器器3 3种地址映象规则以及对应地址变换方法种地址映象规则以及对应地址变换方法难点:虚拟存放器和难点:虚拟存放器和CacheCache存放器地址映象规则以
3、及对应存放器地址映象规则以及对应地址变换方法地址变换方法第2页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标 长久存在问题长久存在问题长久存在问题长久存在问题:在合理总价格限制下,单纯性主存设备速度:在合理总价格限制下,单纯性主存设备速度:在合理总价格限制下,单纯性主存设备速度:在合理总价格限制下,单纯性主存设备速度跟不上跟不上跟不上跟不上CPUCPUCPUCPU发展,容量不能满足软件尺寸扩大。发展,容量不能满足软件尺寸扩大。发展,容量不能满足软件尺寸扩大。发展,容量不能满足软件尺寸扩大。本章学习两种提升主存系统性能本章学习两种提升主存系统性能本章学习两种提升主存系统性能本章学习两
4、种提升主存系统性能/价格比结构化方法:并行价格比结构化方法:并行价格比结构化方法:并行价格比结构化方法:并行存放器与存放层次技术。后者为主。存放器与存放层次技术。后者为主。存放器与存放层次技术。后者为主。存放器与存放层次技术。后者为主。存放系统设计目标:以较小成本使存放系统工作速度与处理存放系统设计目标:以较小成本使存放系统工作速度与处理存放系统设计目标:以较小成本使存放系统工作速度与处理存放系统设计目标:以较小成本使存放系统工作速度与处理机速度相匹配;同时要求存放系统有尽可能大容量;价格尽可能机速度相匹配;同时要求存放系统有尽可能大容量;价格尽可能机速度相匹配;同时要求存放系统有尽可能大容量
5、;价格尽可能机速度相匹配;同时要求存放系统有尽可能大容量;价格尽可能低。低。低。低。存放系统定义存放系统定义存放系统定义存放系统定义 两个或两个以上速度、容量和价格各不相同存放器用硬件、两个或两个以上速度、容量和价格各不相同存放器用硬件、两个或两个以上速度、容量和价格各不相同存放器用硬件、两个或两个以上速度、容量和价格各不相同存放器用硬件、软件、或软件与硬件相组合方法连接起来成为一个存放系统。软件、或软件与硬件相组合方法连接起来成为一个存放系统。软件、或软件与硬件相组合方法连接起来成为一个存放系统。软件、或软件与硬件相组合方法连接起来成为一个存放系统。特点:特点:特点:特点:这个存放系统对应用
6、程序员是透明,而且,从应用程这个存放系统对应用程序员是透明,而且,从应用程这个存放系统对应用程序员是透明,而且,从应用程这个存放系统对应用程序员是透明,而且,从应用程序员角度看,它是一个存放器,这个存放器速度靠近速度最快那序员角度看,它是一个存放器,这个存放器速度靠近速度最快那序员角度看,它是一个存放器,这个存放器速度靠近速度最快那序员角度看,它是一个存放器,这个存放器速度靠近速度最快那个存放器,存放容量与容量最大那个相等,单位容量价格靠近最个存放器,存放容量与容量最大那个相等,单位容量价格靠近最个存放器,存放容量与容量最大那个相等,单位容量价格靠近最个存放器,存放容量与容量最大那个相等,单位
7、容量价格靠近最廉价那个存放器。廉价那个存放器。廉价那个存放器。廉价那个存放器。第3页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标一、存放系统层次结构一、存放系统层次结构一、存放系统层次结构一、存放系统层次结构基本概念与定义:基本概念与定义:基本概念与定义:基本概念与定义:时间局部性:程序最近未来要用到信息时间局部性:程序最近未来要用到信息很可能很可能是现在正在使是现在正在使用信息用信息 空间局部性:程序最近未来要用到信息空间局部性:程序最近未来要用到信息很可能很可能出现在正在出现在正在使用信息在存放空间位置上是相邻。使用信息在存放空间位置上是相邻。v 存放容量存放容量S S:以字
8、节数表示,单位为B、KB、MB、GB、TB等。v 存放器速度存放器速度T T:存放器访问周期,与命中率相关。v 存放器价格存放器价格C C:表示单位容量平均价值单位为C/bit或C/KB。计算机存放系统三个基本参数:计算机存放系统三个基本参数:第4页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标1.从用户角度来看,存放器三个主要指标是:容量,速度,价格容量,速度,价格(每位价格每位价格)2.人们对这三个指标期望:这个存放器速度靠近速度最快那个存这个存放器速度靠近速度最快那个存这个存放器速度靠近速度最快那个存这个存放器速度靠近速度最快那个存放器,存放容量与容量最大那个相等,单位容量价
9、格靠近最廉价那放器,存放容量与容量最大那个相等,单位容量价格靠近最廉价那放器,存放容量与容量最大那个相等,单位容量价格靠近最廉价那放器,存放容量与容量最大那个相等,单位容量价格靠近最廉价那个存放器。个存放器。个存放器。个存放器。3.这三个指标相互矛盾4.处理方法:采取各种存放器技术,组成存放层次。采取各种存放器技术,组成存放层次。演示演示 演示演示 (局部性原理局部性原理)第5页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标一、存放系统层次结构一、存放系统层次结构一、存放系统层次结构一、存放系统层次结构第6页第一层第二层第三层第四层第五层存放系统层次结构存放系统层次结构速速 度度
10、提提 高高容容 量量 增增 加加 通用存放器通用存放器M1高速缓冲存放器高速缓冲存放器M2 主存放器主存放器M3 脱机大容量存放器脱机大容量存放器M5 辅助存放器辅助存放器M4 每每级级存存放放器器性性能能参参数数能能够够表表示示为为TiTi,SiSi,CiCi。存存放系统性能可表示为:放系统性能可表示为:TiTi+1TiTi+1;SiSi+1SiCi+1CiCi+1。第7页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标第8页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标一、存放系统层次结构一、存放系统层次结构一、存放系统层次结构一、存放系统层次结构 三级存放系统:当前
11、多数计算机有三级存放系统:当前多数计算机有三级存放系统:当前多数计算机有三级存放系统:当前多数计算机有CacheCacheCacheCache、主存放器和辅存、主存放器和辅存、主存放器和辅存、主存放器和辅存组成。它一个实现方式是组织成组成。它一个实现方式是组织成组成。它一个实现方式是组织成组成。它一个实现方式是组织成2 2 2 2个独立二级存放器。个独立二级存放器。个独立二级存放器。个独立二级存放器。1.从主存角度来看 “Cache“Cache主存主存”层次层次:填补主存速度不足:填补主存速度不足 “主存辅存主存辅存”层次层次:填补主存容量不足填补主存容量不足2.“Cache主存”层次 主存与
12、主存与CPUCPU速度差距速度差距第9页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标第10页“Cache-“Cache-主存主存”层次层次第11页3.“主存辅存”层次第12页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标存放层次存放层次CPU对第二级对第二级访问方式访问方式比较项目比较项目目目存放管理实现存放管理实现 访问速度比值访问速度比值(第一级和第二级第一级和第二级)经典块经典块(页页)大小大小失效时失效时CPU是否切换是否切换“Cache 主存主存”层次层次“主存辅存主存辅存”层次层次为了填补主存速度不足为了填补主存速度不足为了填补主存容量不足为了填补主存容量
13、不足主要由专用硬件实现主要由专用硬件实现主要由软件实现主要由软件实现几比一几比一几百比一几百比一几十个字节几十个字节几百到几千个字节几百到几千个字节可直接访问可直接访问均经过第一级均经过第一级不切换不切换切换到其它进程切换到其它进程“Cache“Cache主存主存”与与“主存辅存主存辅存”层次区分层次区分第13页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标二、存放系统性能指标二、存放系统性能指标二、存放系统性能指标二、存放系统性能指标 1.1.存放系统容量存放系统容量S S要求:提供尽可能大地址空间,(靠近要求:提供尽可能大地址空间,(靠近M2M2)能进行随机访问能进行随机访问2
14、.2.存放器带宽:存放器提供数据传输速率存放器带宽:存放器提供数据传输速率3.3.每位价格C 设:设:S S 容量容量 T TA A 访问时间访问时间 C C 每位价格每位价格下面仅考虑由下面仅考虑由M M1 1和和M M2 2组成两级存放层次:组成两级存放层次:M M1 1参数:参数:S S1 1,T TA1A1,C C1 1 M M2 2参数:参数:S S2 2,T TA2A2,C C2 2则每位价格C:C C C C1 1S S1 1C C2 2S S2 2S S1 1S S2 2第14页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标二、存放系统性能指标二、存放系统性能指标二
15、、存放系统性能指标二、存放系统性能指标 4.命中率 H 和失效率 F 命中率H定义为CPU产生逻辑地址在存放器M1中访问到指定信息概率。H HN N1 1/(/(N N1 1N N2 2)N N1 1 访问访问M M1 1次数次数 N N2 2 访问访问M M2 2次数次数 失效率失效率 F F1 1H H第15页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标第16页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标二、存放系统性能指标二、存放系统性能指标二、存放系统性能指标二、存放系统性能指标 5.等效访问周期T(平均访问时间)二级存放器等效访问周期T为 T THTHT1
16、 1(1 1H H)T T2 2 T T1 1 M1 M1存放器访问周期存放器访问周期 T T2 2 M2 M2存放器访问周期存放器访问周期第17页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标第18页4.1存放系统层次结构与性能指标存放系统层次结构与性能指标二、存放系统性能指标二、存放系统性能指标二、存放系统性能指标二、存放系统性能指标 6.访问效率二级存放器访问效率为 T T1 1 M1 M1存放器访问周期存放器访问周期 T T2 2 M2 M2存放器访问周期存放器访问周期e e -T T1 1HTHT1 1(1-H)T(1-H)T2 2T T1 1T T第19页4.2 并行存
17、放器并行存放器一、单体多字并行存放器一、单体多字并行存放器一、单体多字并行存放器一、单体多字并行存放器 频带宽度:频带宽度:单位时间内所能访问数据量。单位时间内所能访问数据量。并行存放器:并行存放器:在一个存放器访问周期内能并行访问到在一个存放器访问周期内能并行访问到多个存放字存放器,能有效提升带宽。多个存放字存放器,能有效提升带宽。第20页4.2 并行存放器并行存放器一、单体多字并行存放器一、单体多字并行存放器一、单体多字并行存放器一、单体多字并行存放器 定义:把存放器存放字长增加定义:把存放器存放字长增加定义:把存放器存放字长增加定义:把存放器存放字长增加n n n n倍,以存放倍,以存放
18、倍,以存放倍,以存放n n n n个指令字或数据个指令字或数据个指令字或数据个指令字或数据字字字字 优点:优点:简单、轻易。简单、轻易。缺点:缺点:访问冲突大。访问冲突大。主要冲突:主要冲突:取指令冲突(条件转移时)取指令冲突(条件转移时)读读操操作作数数冲冲突突(需需要要多多个个操操作作数数不不一一定定都都存存放放在在同同一个存放字中)一个存放字中)写数据冲突(必须凑齐写数据冲突(必须凑齐n n个数才一起写入存放器)个数才一起写入存放器)读读写写冲冲突突(要要读读出出一一个个字字和和要要写写入入一一个个字字处处于于同同一一个存放字内时,无法在一个存放周期内完成)。个存放字内时,无法在一个存放
19、周期内完成)。第21页4.2 并行存放器并行存放器e e -T T1 1HTHT1 1(1-H)T(1-H)T2 2T T1 1T T第22页4.2 并行存放器并行存放器二、多体并行存放器二、多体并行存放器二、多体并行存放器二、多体并行存放器 定义:指由多个存放体组成一个更大容量主存。方法:采取交叉编址方式分类:1.地址码高位交叉编址 2.地址码地位交叉编址第23页4.2 并行存放器并行存放器e e -T T1 1HTHT1 1(1-H)T(1-H)T2 2T T1 1T T第24页一、高位交叉访问一、高位交叉访问一、高位交叉访问一、高位交叉访问 低位部分:体内地址低位部分:体内地址 b=lo
20、g2n高位部分:存放体体号高位部分:存放体体号 a=log2mm:体数体数n:每个体容量:每个体容量数据总线数据总线地址总线地址总线 WMDR0 0 1 2 3 n-1MDR1 n n+1 n+2 n+3 2n-1MAR0MAR3MDRm-1n(m-1)n(m-1)+1n(m-1)+2n(m-1)+3 n(m-1)MARm-1译码译码 a b第25页二、低位交叉访问二、低位交叉访问 低位交叉存放器结构低位交叉存放器结构 低位部分:存放体体号低位部分:存放体体号 b=log2m高位部分:体内地址高位部分:体内地址 a=log2n W MDR0 0 m 2m 3m (n-1)m MDR1 1 m+
21、1 2m+1 3m+1 (n-1)m+1MAR0MAR3 MDRm-1 m-1 2m-1 3m-1 4m-1 nm-1 MARm-1译码译码 a b数据总线地址总线分时访问第26页比如,比如,n=8 m=4多体并行低位交叉编址多体并行低位交叉编址 012345678910111213141516171819202122232425262728293031 b a09182712510304个体并行2个体并行第27页存放层次四个问题当把一个块调入高一层(靠近CPU)存放器时,能够放在哪些位置上?(地址映象,映象规则地址映象,映象规则)实际运行中,地址怎样找到?(地址变换,查找算法地址变换,查找算
22、法)3.当发生失效时,应替换哪一块?(替换算法替换算法)4.当进行写访问时,应进行哪些操作?(写策略写策略)1.2.并行存放器并行存放器与与存放层次技术存放层次技术存放层次技术:虚拟存放器、存放层次技术:虚拟存放器、CacheCache存放器存放器第28页4.3 虚拟存放器虚拟存放器基本概念基本概念基本概念基本概念 虚虚空空间间:程程序序所所能能利利用用空空间间。又称虚存空间或虚拟存放器空间,它是应用程序员用来编写程序地址空间,这个地址空间非常大。虚虚地地址址:虚存空间上地址,又称为虚存地址。编编程程序序时时程程序序员员所所用用地地址址,在在编编译译程程序序中中由由处处理理机机生生成成。一一个
23、个用用户户程程序序要要访访问问虚虚拟拟存存放放器时,器时,必须给出必须给出多用户虚地址多用户虚地址主主存存放放器器地地址址空空间间:也称主存地址空间、主存物理空间或实存地址空间实实地地址址:主主存存物物理理空空间间编编址址;又称为主存实地址、主存物理地址、主存放器地址辅存地址空间辅存地址空间:也就是磁盘存放器地址空间磁盘存放器地址磁盘存放器地址:又称为磁盘地址、辅存地址 第29页4.3 虚拟存放器虚拟存放器基本概念:基本概念:地址映象:虚地址与实地址之间对应关系规则地址映象:虚地址与实地址之间对应关系规则地址映象:虚地址与实地址之间对应关系规则地址映象:虚地址与实地址之间对应关系规则 地址变换
24、:在程序被装入主存放器之后,在实际运行时,把地址变换:在程序被装入主存放器之后,在实际运行时,把地址变换:在程序被装入主存放器之后,在实际运行时,把地址变换:在程序被装入主存放器之后,在实际运行时,把多用户虚地址变换成主存实地址(内部地址变换)或磁盘存放器多用户虚地址变换成主存实地址(内部地址变换)或磁盘存放器多用户虚地址变换成主存实地址(内部地址变换)或磁盘存放器多用户虚地址变换成主存实地址(内部地址变换)或磁盘存放器地址(外部地址变换)。地址(外部地址变换)。地址(外部地址变换)。地址(外部地址变换)。访问失效:按虚地址访问数据不在主存中(未命中)访问失效:按虚地址访问数据不在主存中(未命
25、中)访问失效:按虚地址访问数据不在主存中(未命中)访问失效:按虚地址访问数据不在主存中(未命中)外部地址变换:访问失效时,需要访问磁盘存放器,这时把外部地址变换:访问失效时,需要访问磁盘存放器,这时把外部地址变换:访问失效时,需要访问磁盘存放器,这时把外部地址变换:访问失效时,需要访问磁盘存放器,这时把虚地址变换为磁盘存放器物理地址(虚地址变换为磁盘存放器物理地址(虚地址变换为磁盘存放器物理地址(虚地址变换为磁盘存放器物理地址(普通为软件实现普通为软件实现普通为软件实现普通为软件实现)内部地址变换:把虚地址变换为主存物理地址内部地址变换:把虚地址变换为主存物理地址内部地址变换:把虚地址变换为主
26、存物理地址内部地址变换:把虚地址变换为主存物理地址 主存冲突:有新数据调入,主存却没有主存冲突:有新数据调入,主存却没有对应对应空闲位置空闲位置 替换算法:当发生主存冲突时,应替换主存哪一块替换算法:当发生主存冲突时,应替换主存哪一块 地址变换和替换算法是虚拟存放器两个主要技术地址变换和替换算法是虚拟存放器两个主要技术第30页n n 1961196119611961年英国曼彻斯特大学年英国曼彻斯特大学年英国曼彻斯特大学年英国曼彻斯特大学KilbrnKilbrnKilbrnKilbrn等人提出。等人提出。等人提出。等人提出。到了到了到了到了70707070年代被广泛地应用于大中型计算机系统年代被
27、广泛地应用于大中型计算机系统年代被广泛地应用于大中型计算机系统年代被广泛地应用于大中型计算机系统中。当前,许多小型计算机,甚至微型机也开中。当前,许多小型计算机,甚至微型机也开中。当前,许多小型计算机,甚至微型机也开中。当前,许多小型计算机,甚至微型机也开始使用虚拟存放器。始使用虚拟存放器。始使用虚拟存放器。始使用虚拟存放器。n n4.3.14.3.14.3.14.3.1虚拟存放器地址映象与地址变换虚拟存放器地址映象与地址变换虚拟存放器地址映象与地址变换虚拟存放器地址映象与地址变换n n4.3.24.3.24.3.24.3.2页面替换算法及其命中率页面替换算法及其命中率页面替换算法及其命中率页
28、面替换算法及其命中率4.3 虚拟存放器虚拟存放器第31页4.3 虚拟存放器虚拟存放器n n虚拟存放器由主存放器和联机工作外部存放器共同组成。虚拟存放器由主存放器和联机工作外部存放器共同组成。虚拟存放器由主存放器和联机工作外部存放器共同组成。虚拟存放器由主存放器和联机工作外部存放器共同组成。n n把主存放器、磁盘存放器和虚拟存放器都划分成固定大小把主存放器、磁盘存放器和虚拟存放器都划分成固定大小把主存放器、磁盘存放器和虚拟存放器都划分成固定大小把主存放器、磁盘存放器和虚拟存放器都划分成固定大小页页页页n n 主存放器页称为实页,虚拟存放器中页称为虚页。主存放器页称为实页,虚拟存放器中页称为虚页。
29、主存放器页称为实页,虚拟存放器中页称为虚页。主存放器页称为实页,虚拟存放器中页称为虚页。n n一个主存地址一个主存地址一个主存地址一个主存地址A A A A由两部分组成,实页号由两部分组成,实页号由两部分组成,实页号由两部分组成,实页号p p p p和页内偏移和页内偏移和页内偏移和页内偏移d d d dn n一个虚地址一个虚地址一个虚地址一个虚地址AvAvAvAv由三部分组成,用户号由三部分组成,用户号由三部分组成,用户号由三部分组成,用户号U U U U、虚页号、虚页号、虚页号、虚页号P P P P和页内偏和页内偏和页内偏和页内偏移移移移D D D D第32页n n一个用户程序要访问虚拟存放
30、器时,必须给出多用户一个用户程序要访问虚拟存放器时,必须给出多用户一个用户程序要访问虚拟存放器时,必须给出多用户一个用户程序要访问虚拟存放器时,必须给出多用户虚拟地址虚拟地址虚拟地址虚拟地址AvAvAvAv。n n内部地址变换:内部地址变换:内部地址变换:内部地址变换:(1)(1)(1)(1)多用户虚拟地址多用户虚拟地址多用户虚拟地址多用户虚拟地址AvAvAvAv变换成实地址变换成实地址变换成实地址变换成实地址A A A A (2)(2)(2)(2)多用户虚拟地址中页内偏移多用户虚拟地址中页内偏移多用户虚拟地址中页内偏移多用户虚拟地址中页内偏移D D D D直接作为主存实地址直接作为主存实地址
31、直接作为主存实地址直接作为主存实地址中页内偏移中页内偏移中页内偏移中页内偏移d d d d (3)(3)(3)(3)主存实页号与它页内偏移主存实页号与它页内偏移主存实页号与它页内偏移主存实页号与它页内偏移d d d d直接拼接起来就得到主直接拼接起来就得到主直接拼接起来就得到主直接拼接起来就得到主存实地址存实地址存实地址存实地址A A A A第33页n n外部地址变换:外部地址变换:外部地址变换:外部地址变换:n n首先查外页表得到磁盘存放器实地址首先查外页表得到磁盘存放器实地址首先查外页表得到磁盘存放器实地址首先查外页表得到磁盘存放器实地址n n把磁盘存放器实地址和主存放器实页号送入输入输出
32、把磁盘存放器实地址和主存放器实页号送入输入输出把磁盘存放器实地址和主存放器实页号送入输入输出把磁盘存放器实地址和主存放器实页号送入输入输出处理机处理机处理机处理机n n把要访问数据所在一整页都从磁盘存放器调入到主存把要访问数据所在一整页都从磁盘存放器调入到主存把要访问数据所在一整页都从磁盘存放器调入到主存把要访问数据所在一整页都从磁盘存放器调入到主存放器放器放器放器第34页4.3 虚拟存放器虚拟存放器第35页4.3 虚拟存放器虚拟存放器 CPU存放存放管理管理主主存存 辅辅 存存I或或DI或或DVAPA外存地址外存地址虚拟存放器中虚拟存放器中CPU、MS、辅存间关系、辅存间关系 第36页4.3
33、.1 地址映象与变换地址映象与变换n n虚拟存放器中有三种地址空间虚拟存放器中有三种地址空间虚拟存放器中有三种地址空间虚拟存放器中有三种地址空间,虚拟地址空间,主存放,虚拟地址空间,主存放,虚拟地址空间,主存放,虚拟地址空间,主存放器地址空间,辅存地址空间器地址空间,辅存地址空间器地址空间,辅存地址空间器地址空间,辅存地址空间 n n 虚拟地址空间:又称虚存空间或虚拟存放器空间,它是虚拟地址空间:又称虚存空间或虚拟存放器空间,它是虚拟地址空间:又称虚存空间或虚拟存放器空间,它是虚拟地址空间:又称虚存空间或虚拟存放器空间,它是应用程序员用来编写程序地址空间,这个地址空间非常大。应用程序员用来编写
34、程序地址空间,这个地址空间非常大。应用程序员用来编写程序地址空间,这个地址空间非常大。应用程序员用来编写程序地址空间,这个地址空间非常大。主存放器地址空间:也称主存地址空间、主存物理空间主存放器地址空间:也称主存地址空间、主存物理空间主存放器地址空间:也称主存地址空间、主存物理空间主存放器地址空间:也称主存地址空间、主存物理空间或实存地址空间或实存地址空间或实存地址空间或实存地址空间辅存地址空间:也就是磁盘存放器地址空间辅存地址空间:也就是磁盘存放器地址空间辅存地址空间:也就是磁盘存放器地址空间辅存地址空间:也就是磁盘存放器地址空间虚拟地址:虚存空间上地址,又称为虚存地址或者虚地虚拟地址:虚存
35、空间上地址,又称为虚存地址或者虚地虚拟地址:虚存空间上地址,又称为虚存地址或者虚地虚拟地址:虚存空间上地址,又称为虚存地址或者虚地址址址址主存地址:又称为主存实地址、主存物理地址、主存放主存地址:又称为主存实地址、主存物理地址、主存放主存地址:又称为主存实地址、主存物理地址、主存放主存地址:又称为主存实地址、主存物理地址、主存放器地址器地址器地址器地址磁盘存放器地址:又称为磁盘地址、辅存地址磁盘存放器地址:又称为磁盘地址、辅存地址磁盘存放器地址:又称为磁盘地址、辅存地址磁盘存放器地址:又称为磁盘地址、辅存地址第37页n n地址映像:把虚拟地址空间映象到主存地址空间,地址映像:把虚拟地址空间映象
36、到主存地址空间,地址映像:把虚拟地址空间映象到主存地址空间,地址映像:把虚拟地址空间映象到主存地址空间,详细地说,就是把用户用虚拟地址编写程序按照某种详细地说,就是把用户用虚拟地址编写程序按照某种详细地说,就是把用户用虚拟地址编写程序按照某种详细地说,就是把用户用虚拟地址编写程序按照某种规则装入到主存放器中,并建立多用户虚地址与主存规则装入到主存放器中,并建立多用户虚地址与主存规则装入到主存放器中,并建立多用户虚地址与主存规则装入到主存放器中,并建立多用户虚地址与主存实地址之间对应关系。实地址之间对应关系。实地址之间对应关系。实地址之间对应关系。n n地址变换:在程序被装入主存放器之后,在实际
37、地址变换:在程序被装入主存放器之后,在实际地址变换:在程序被装入主存放器之后,在实际地址变换:在程序被装入主存放器之后,在实际运行时,把多用户虚地址变换成主存实地址(内部地运行时,把多用户虚地址变换成主存实地址(内部地运行时,把多用户虚地址变换成主存实地址(内部地运行时,把多用户虚地址变换成主存实地址(内部地址变换)或磁盘存放器地址(外部地址变换)。址变换)或磁盘存放器地址(外部地址变换)。址变换)或磁盘存放器地址(外部地址变换)。址变换)或磁盘存放器地址(外部地址变换)。第38页4.3 虚拟存放器虚拟存放器一、虚拟存放器地址变换一、虚拟存放器地址变换 虚拟存放器能够分为三类:段式,页式、段页
38、式虚拟存放器能够分为三类:段式,页式、段页式1.1.段式虚拟存放器地址映象和地址变换段式虚拟存放器地址映象和地址变换地址映象方法:地址映象方法:地址映象方法:地址映象方法:每个程序段都从每个程序段都从每个程序段都从每个程序段都从0 0 0 0地址开始编址,长度可长地址开始编址,长度可长地址开始编址,长度可长地址开始编址,长度可长可短,能够在程序执行过程中动态改变程序段长度可短,能够在程序执行过程中动态改变程序段长度可短,能够在程序执行过程中动态改变程序段长度可短,能够在程序执行过程中动态改变程序段长度 第39页4.3 虚拟存放器虚拟存放器一、虚拟存放器地址变换一、虚拟存放器地址变换一、虚拟存放
39、器地址变换一、虚拟存放器地址变换1.1.1.1.段式虚拟存放器地址变换段式虚拟存放器地址变换段式虚拟存放器地址变换段式虚拟存放器地址变换 每个程序都用一个每个程序都用一个每个程序都用一个每个程序都用一个段表段表段表段表(通常在主存中)(通常在主存中)(通常在主存中)(通常在主存中)来存放该程序各段装入来存放该程序各段装入来存放该程序各段装入来存放该程序各段装入主存相关信息主存相关信息主存相关信息主存相关信息n n地址变换方法:地址变换方法:地址变换方法:地址变换方法:n n由用户号找到基址存放器(由用户号找到基址存放器(由用户号找到基址存放器(由用户号找到基址存放器(CPUCPUCPUCPU内
40、)内)内)内)n n从基址存放器中读出段表起始地址从基址存放器中读出段表起始地址从基址存放器中读出段表起始地址从基址存放器中读出段表起始地址n n把起始地址与多用户虚拟地址中段号相加得到段表地址把起始地址与多用户虚拟地址中段号相加得到段表地址把起始地址与多用户虚拟地址中段号相加得到段表地址把起始地址与多用户虚拟地址中段号相加得到段表地址n n把段表中给出起始地址与段内偏移把段表中给出起始地址与段内偏移把段表中给出起始地址与段内偏移把段表中给出起始地址与段内偏移D D D D相加就能得到主存实地相加就能得到主存实地相加就能得到主存实地相加就能得到主存实地址址址址 第40页4.3 虚拟存放器虚拟存
41、放器一、虚拟存放器地址变换1.段式虚拟存放器地址变换地址变换方法图示地址变换方法图示地址变换方法图示地址变换方法图示第41页4.3 虚拟存放器虚拟存放器 段式管理主要优点:段式管理主要优点:段式管理主要优点:段式管理主要优点:程序模块化性能好,各段在功效上是相互独立;程序模块化性能好,各段在功效上是相互独立;程序模块化性能好,各段在功效上是相互独立;程序模块化性能好,各段在功效上是相互独立;便于程序与数据共享;便于程序与数据共享;便于程序与数据共享;便于程序与数据共享;程序动态链接比较轻易;程序动态链接比较轻易;程序动态链接比较轻易;程序动态链接比较轻易;便于实现存放保护。便于实现存放保护。便
42、于实现存放保护。便于实现存放保护。地址变换所需时间比较长。地址变换所需时间比较长。主存空间利用不充分。主存空间利用不充分。对辅存对辅存(磁盘磁盘)管理比较困难。管理比较困难。段式管理主要缺点:段式管理主要缺点:第42页4.3 虚拟存放器虚拟存放器一、虚拟存放器地址变换一、虚拟存放器地址变换2.2.页式虚拟存放器地址映象和地址变换页式虚拟存放器地址映象和地址变换地址映象方法:地址映象方法:地址映象方法:地址映象方法:把虚拟地址空间划分成一个个固定大小块,把虚拟地址空间划分成一个个固定大小块,把虚拟地址空间划分成一个个固定大小块,把虚拟地址空间划分成一个个固定大小块,每块称为一页(每块称为一页(每
43、块称为一页(每块称为一页(PagePagePagePage),把主存放器地址空间也按虚拟地址空间),把主存放器地址空间也按虚拟地址空间),把主存放器地址空间也按虚拟地址空间),把主存放器地址空间也按虚拟地址空间一样大小划分为页。页是一个逻辑上划分,它能够由系统管理软一样大小划分为页。页是一个逻辑上划分,它能够由系统管理软一样大小划分为页。页是一个逻辑上划分,它能够由系统管理软一样大小划分为页。页是一个逻辑上划分,它能够由系统管理软件任意指定。件任意指定。件任意指定。件任意指定。第43页4.3 虚拟存放器虚拟存放器一、虚拟存放器地址变换一、虚拟存放器地址变换2.2.页式虚拟存放器地址映象和地址变
44、换页式虚拟存放器地址映象和地址变换每个程序都用一个每个程序都用一个每个程序都用一个每个程序都用一个页表(通常在主存中)页表(通常在主存中)页表(通常在主存中)页表(通常在主存中)来存放该程序各个来存放该程序各个来存放该程序各个来存放该程序各个虚页装入主存实页位置等相关信息虚页装入主存实页位置等相关信息虚页装入主存实页位置等相关信息虚页装入主存实页位置等相关信息地址变换方法:地址变换方法:地址变换方法:地址变换方法:n n由用户号找到基址存放器(由用户号找到基址存放器(由用户号找到基址存放器(由用户号找到基址存放器(CPUCPUCPUCPU内)内)内)内)n n从基址存放器中读出页表基地址从基址
45、存放器中读出页表基地址从基址存放器中读出页表基地址从基址存放器中读出页表基地址PaPaPaPan n把页表基地址把页表基地址把页表基地址把页表基地址PaPaPaPa与多用户虚拟地址中页号与多用户虚拟地址中页号与多用户虚拟地址中页号与多用户虚拟地址中页号P P P P相加得到页表地相加得到页表地相加得到页表地相加得到页表地址址址址n n把页表中给出主存实页号把页表中给出主存实页号把页表中给出主存实页号把页表中给出主存实页号p p p p与虚地址中页内偏移与虚地址中页内偏移与虚地址中页内偏移与虚地址中页内偏移D D D D拼接起来就拼接起来就拼接起来就拼接起来就得到主存实地址得到主存实地址得到主存
46、实地址得到主存实地址A A A A 第44页4.3 虚拟存放器虚拟存放器第45页4.3 虚拟存放器虚拟存放器一、虚拟存放器地址变换一、虚拟存放器地址变换2.2.页式虚拟存放器地址映象和地址变换页式虚拟存放器地址映象和地址变换 n n页式管理主要优点页式管理主要优点页式管理主要优点页式管理主要优点n n1 1 1 1、主存放器利用率比较高主存放器利用率比较高主存放器利用率比较高主存放器利用率比较高 n n2 2 2 2、页表相对比较简单页表相对比较简单页表相对比较简单页表相对比较简单 n n3 3 3 3、地址映象和变换速度比较快地址映象和变换速度比较快地址映象和变换速度比较快地址映象和变换速度
47、比较快 n n4 4 4 4、对辅存(磁盘存放器)管理比较轻易对辅存(磁盘存放器)管理比较轻易对辅存(磁盘存放器)管理比较轻易对辅存(磁盘存放器)管理比较轻易 n n页式管理主要缺点页式管理主要缺点页式管理主要缺点页式管理主要缺点 n n1 1 1 1、程序模块化性能不好程序模块化性能不好程序模块化性能不好程序模块化性能不好 n n2 2 2 2、页表很长,需要占用很大存放空间页表很长,需要占用很大存放空间页表很长,需要占用很大存放空间页表很长,需要占用很大存放空间第46页4.3 虚拟存放器虚拟存放器一、虚拟存放器地址变换一、虚拟存放器地址变换3.3.段页式虚拟存放器地址映象和地址变换段页式虚
48、拟存放器地址映象和地址变换 n n其其其其基本思想基本思想基本思想基本思想是对用户原来编写程序虚拟存放空间是对用户原来编写程序虚拟存放空间是对用户原来编写程序虚拟存放空间是对用户原来编写程序虚拟存放空间采取分段方法管理采取分段方法管理采取分段方法管理采取分段方法管理 ,每个程序段分成几个固定大小页。,每个程序段分成几个固定大小页。,每个程序段分成几个固定大小页。,每个程序段分成几个固定大小页。n n地址变换方法地址变换方法地址变换方法地址变换方法:n n1.1.1.1.先查段表,得到该程序段页表起始地址和页表先查段表,得到该程序段页表起始地址和页表先查段表,得到该程序段页表起始地址和页表先查段
49、表,得到该程序段页表起始地址和页表长度长度长度长度n n2.2.2.2.再查页表找到要访问主存实页号再查页表找到要访问主存实页号再查页表找到要访问主存实页号再查页表找到要访问主存实页号n n3.3.3.3.最终把实页号最终把实页号最终把实页号最终把实页号p p p p与页内偏移与页内偏移与页内偏移与页内偏移d d d d拼接得到主存实地拼接得到主存实地拼接得到主存实地拼接得到主存实地址址址址第47页4.3 虚拟存放器虚拟存放器3.3.段页式虚拟存放器地址映象和地址变换段页式虚拟存放器地址映象和地址变换 n n页式管理主要优点页式管理主要优点页式管理主要优点页式管理主要优点n n1 1 1 1、
50、主存放器利用率比较高主存放器利用率比较高主存放器利用率比较高主存放器利用率比较高 第48页第49页n n 外部地址变换外部地址变换外部地址变换外部地址变换目标目标目标目标是要找到辅存(磁盘存放器)实地址,而是要找到辅存(磁盘存放器)实地址,而是要找到辅存(磁盘存放器)实地址,而是要找到辅存(磁盘存放器)实地址,而且把需要访问那一页或那一个程序段调入到主存放器中。在操作且把需要访问那一页或那一个程序段调入到主存放器中。在操作且把需要访问那一页或那一个程序段调入到主存放器中。在操作且把需要访问那一页或那一个程序段调入到主存放器中。在操作系统中,通常把页面失效看成一个异常故障来处理。系统中,通常把页