《第7章 存储系统优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第7章 存储系统优秀PPT.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第7章 存储系统现在学习的是第1页,共49页主存主存/内存内存:半导体存储器,存放当前正在执行的程序和数据;:半导体存储器,存放当前正在执行的程序和数据;外存外存/辅存辅存:磁盘、磁带、光盘,存放当前不在运行的大量程序和数据。:磁盘、磁带、光盘,存放当前不在运行的大量程序和数据。半导体存储器半导体存储器:可随机访问任一单元:可随机访问任一单元辅助存储器辅助存储器:一般为串行访问存储器,访问指定信息所需时间与:一般为串行访问存储器,访问指定信息所需时间与 信息所在位置有关。信息所在位置有关。串行存储器:串行存储器:顺序存取存储器:磁带顺序存取存储器:磁带直接存取存储器:磁盘存储器,磁头直接寻道直
2、接存取存储器:磁盘存储器,磁头直接寻道现在学习的是第2页,共49页7.1 存储系统的层次结构存储系统的层次结构目的目的:解决存储容量、存取速度和价格之间的矛盾。:解决存储容量、存取速度和价格之间的矛盾。方法方法:采用多级存储层次,以提高存储系统的整体性能。:采用多级存储层次,以提高存储系统的整体性能。“Cache-主存主存-外存外存”是最典型的三级物理存储体系是最典型的三级物理存储体系字传送字传送块传送块传送返回返回返回返回现在学习的是第3页,共49页(1)Cache存放少量内存数据的副本,其速度很快,可与存放少量内存数据的副本,其速度很快,可与CPU速度速度匹配。匹配。(2)主存)主存能由能
3、由CPU直接编程访问。运行的程序及处理数据直接编程访问。运行的程序及处理数据 要要放在主存中。放在主存中。(3)辅存)辅存存放需联机保存但暂不使用的程序与数据。存放需联机保存但暂不使用的程序与数据。当要运行其中的程序时,先将其传到内存再运行当要运行其中的程序时,先将其传到内存再运行现在学习的是第4页,共49页1、主存和高速缓存之间的关系、主存和高速缓存之间的关系vCache引入引入:为解决为解决CPU和主存之间的速度差距,提高整机的和主存之间的速度差距,提高整机的运算速度,在运算速度,在CPU和主存之间插入的由高速电子器和主存之间插入的由高速电子器件组成的容量不大,但速度很快的存储器。件组成的
4、容量不大,但速度很快的存储器。vCache特点特点存取速度快,容量小,存储控制和管理由硬件实现存取速度快,容量小,存储控制和管理由硬件实现现在学习的是第5页,共49页Cache-CPU-主存之间的关系主存之间的关系v关系关系CPUCache主存主存字传送字传送块传送块传送.主存主存块块Cache标记标记结构结构现在学习的是第6页,共49页Cache-主存之间的关系主存之间的关系v假设主存储器的大小为假设主存储器的大小为2n个字节,共分成个字节,共分成2m个块,每个块的大小为个块,每个块的大小为2b个字节,则:个字节,则:n=m+bv假设假设Cache中有中有2c个块,每个块的大小为个块,每个块
5、的大小为2b个字节,则个字节,则Cache的大小为的大小为2c+b个字节。个字节。现在学习的是第7页,共49页2b个字节个字节2b2b2b2m块块主存地址结构:主存地址结构:主存块号主存块号块内地址块内地址m位位b位位主存地址结构分析主存地址结构分析n位位现在学习的是第8页,共49页2b个字节个字节2b2b2c块块Cache地址结构:地址结构:主存块号主存块号块内地址块内地址c位位b位位Cache地址结构分析地址结构分析现在学习的是第9页,共49页图图7.2 cache的基本结构的基本结构返回返回返回返回现在学习的是第10页,共49页2、主存与辅存之间的关系、主存与辅存之间的关系v主存:主存:
6、(半导体存储器组成半导体存储器组成)优:速度快优:速度快缺:容量受限,单位成本高缺:容量受限,单位成本高,断电丢失信息。断电丢失信息。v辅存:辅存:(光盘,磁盘光盘,磁盘)优:容量大,信息长久保存,单位成本低优:容量大,信息长久保存,单位成本低.缺:存取速度慢缺:存取速度慢vCPU正在运行的程序和数据存放在主存暂时不用的程序和正在运行的程序和数据存放在主存暂时不用的程序和数据存放在辅存。数据存放在辅存。v辅存只与主存进行数据交换辅存只与主存进行数据交换现在学习的是第11页,共49页7.2 高速缓冲存储器高速缓冲存储器1高速缓存的组成高速缓存的组成:小容量的小容量的SRAM和高速缓存控制器组成。
7、和高速缓存控制器组成。2高速缓存的功能高速缓存的功能:v将将CPU当前快要用到的部分数据块由主存复制到容量小、速度快的当前快要用到的部分数据块由主存复制到容量小、速度快的SRAM中,由中,由SRAM向向CPU直接提供它所需要的数据。直接提供它所需要的数据。vCache存储器介于存储器介于 CPU和主存之间,它的工作速度数倍于主存,全部功和主存之间,它的工作速度数倍于主存,全部功能由硬件实现。由于转换速度快,软件人员丝毫未感到能由硬件实现。由于转换速度快,软件人员丝毫未感到Cache的存在,的存在,这种特性称为这种特性称为Cache的透明性的透明性。Cache内部是用同主存内部同样大小的块组成,
8、内部是用同主存内部同样大小的块组成,故由于故由于Cache存储容量小,所以块的数目少存储容量小,所以块的数目少。返回返回返回返回现在学习的是第12页,共49页3高速缓存工作原理高速缓存工作原理v1)程序的局部性原理)程序的局部性原理时间局部性时间局部性:如果一个存储单元被访问,则这个存储单元会:如果一个存储单元被访问,则这个存储单元会再次被访问的概率很高。这是由于循环程序的执行,相应再次被访问的概率很高。这是由于循环程序的执行,相应的数据要重复访问。的数据要重复访问。空间局部性空间局部性:如果一个存储单元被访问,则这个存储单元及其相:如果一个存储单元被访问,则这个存储单元及其相邻单元被访问的概
9、率较高。这是由于程序的顺序执行时,一条指邻单元被访问的概率较高。这是由于程序的顺序执行时,一条指令和下一条指令在存储器中的位置是相邻或相近的。令和下一条指令在存储器中的位置是相邻或相近的。现在学习的是第13页,共49页对该原理的解释:对该原理的解释:v在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。小范围内。v数据分布不如指令明显,但对数组的访问及工作单元的选择可使存储地数据分布不如指令明显,但对数组的访问及工作单元的选择可使存储地址相对集中。址相对集中。vCPU与与Cache之间的数据交换是以之间的数据交换是以
10、字字为单位,而为单位,而Cache与主存之间的数与主存之间的数据交换是以据交换是以块块为单位,一个块是由若干字组成,是定长的。为单位,一个块是由若干字组成,是定长的。v在在Cache中,每一块外加有一个中,每一块外加有一个标记标记,指明它是主存的哪一块的副本,指明它是主存的哪一块的副本,所以该标记的内容相当于主存中块的编号。块内字节数与主存相同所以该标记的内容相当于主存中块的编号。块内字节数与主存相同(如如图图7.2)。现在学习的是第14页,共49页vcache的容量和块的大小是影响的容量和块的大小是影响cache的效率的重要因素。通常用的效率的重要因素。通常用“命中率命中率”来测量来测量ca
11、che的效率。命中率指的效率。命中率指CPU所要访问的信息在所要访问的信息在cache中的比率,而将所要访问的信息不在中的比率,而将所要访问的信息不在cache中的比率称为中的比率称为失效失效率率。cache的存储容量不能太小,太小会使命中率太低;的存储容量不能太小,太小会使命中率太低;也没有必要过大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的也没有必要过大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的增加将不会有明显地增长。增加将不会有明显地增长。目前已达几百目前已达几百M字节。字节。现在学习的是第15页,共49页v2)Cache的读操作的读操作当当CPU发出读
12、请求时,如果数据在发出读请求时,如果数据在Cache中中(命中命中Hit),就直接对,就直接对Cache进行读操作,与主存无关;如果进行读操作,与主存无关;如果Cache不命中不命中(Miss),则仍需,则仍需访问主存,并把该块信息一次从主存调入访问主存,并把该块信息一次从主存调入Cache。替换算法替换算法:在从主存读出新的字块调入在从主存读出新的字块调入cache存储器时,如果遇到存储器时,如果遇到cache存储器中相应的存储器中相应的位置已被其他字块占有,那么就必须去掉一个旧的字块,让位于一个新的位置已被其他字块占有,那么就必须去掉一个旧的字块,让位于一个新的字块。这种替换应该遵循一定的
13、规则,最好能使被替换的字块是字块。这种替换应该遵循一定的规则,最好能使被替换的字块是下一段时间下一段时间内估计最少使用的内估计最少使用的。这些规则称为替换策略或替换算法,由替换部件加。这些规则称为替换策略或替换算法,由替换部件加以实现。以实现。现在学习的是第16页,共49页标志标志 块号块号 块内地址块内地址主存地址主存地址主主存存块号块号 块内地址块内地址Cache标记标记Cache地址地址比较器比较器替替换换算算法法Cache数据数据来来/去去CPU来自来自CPU不命中不命中命中命中Cache满满访数据访数据修改标记修改标记访标记访标记现在学习的是第17页,共49页v3)Cache的写操作
14、与更新策略的写操作与更新策略写数据时,存在写数据时,存在Cache与主存中内容一致的问题。与主存中内容一致的问题。1)写回法写回法当当CPU写写cache命中时,只修改命中时,只修改cache的内容,而不立即写的内容,而不立即写入主存;只有当此行被换出时才写回主存。入主存;只有当此行被换出时才写回主存。这种方法减少了访问主存的次数,但是存在不一致性的这种方法减少了访问主存的次数,但是存在不一致性的隐患。隐患。实现这种方法时,每个实现这种方法时,每个cache行必须配置一个修改位,以反映行必须配置一个修改位,以反映此行是否被此行是否被CPU修改过。修改过。现在学习的是第18页,共49页v3)Ca
15、che的写操作与更新策略的写操作与更新策略写数据时,存在写数据时,存在Cache与主存中内容一致的问题。与主存中内容一致的问题。2)全写法全写法 当写当写cache命中时,命中时,cache与主存同时发生写修改,因而较与主存同时发生写修改,因而较好地维护了好地维护了cache与主存的内容的一致性。与主存的内容的一致性。当写当写cache未命中时,直接向主存进行写入。未命中时,直接向主存进行写入。cache中每中每行无需设置一个修改位以及相应的判断逻辑。行无需设置一个修改位以及相应的判断逻辑。缺点是降低了缺点是降低了cache的功效。的功效。现在学习的是第19页,共49页v3)Cache的写操作
16、与更新策略的写操作与更新策略写数据时,存在写数据时,存在Cache与主存中内容一致的问题。与主存中内容一致的问题。3)写一次法写一次法 基于写回法并结合全写法的写策略,写命中与写未命中基于写回法并结合全写法的写策略,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这便于维护系统全部时写入主存。这便于维护系统全部cache的一致性。的一致性。现在学习的是第20页,共49页4地址映象和变换地址映象和变换 Cache和主存都被分成若干个大小相等的和主存都被分成若干个大小相等的块块,每块由若干个,每块由若干个字字节节组成,
17、主存和组成,主存和Cache的数据交换是以的数据交换是以块块为单位,需要考虑二者地址为单位,需要考虑二者地址的逻辑关系。的逻辑关系。地址映像地址映像:把主存地址空间映像到把主存地址空间映像到Cache地址空间,即按某种地址空间,即按某种规则把主存的块复制到规则把主存的块复制到Cache中。中。在信息按照这种映像关系装入在信息按照这种映像关系装入Cache后,执行程序时,应将主存后,执行程序时,应将主存地址变换成地址变换成Cache地址,这个变换过程叫做地址,这个变换过程叫做地址变换地址变换。现在学习的是第22页,共49页v主存中任何一个块均可以映主存中任何一个块均可以映像装入到像装入到Cach
18、e中任何一中任何一个块的位置上。个块的位置上。v特点特点:灵活,块冲突率低,灵活,块冲突率低,只有在只有在Cache中的块全部中的块全部装满后才会出现块冲突,装满后才会出现块冲突,Cache利用率高。但地址变利用率高。但地址变换机构复杂,地址变换速度换机构复杂,地址变换速度慢,成本最高慢,成本最高(1)全相联映像)全相联映像现在学习的是第23页,共49页(2)直接映像)直接映像v把主存分成若干个把主存分成若干个区区,每区与,每区与Cache大小相同。区内分大小相同。区内分块块,主存,主存每个区中块的大小和每个区中块的大小和Cache中块的大小相等,主存中每个区中包含中块的大小相等,主存中每个区
19、中包含的块的个数与的块的个数与Cache中块的个数相等。中块的个数相等。v任意一个主存块只能映像到任意一个主存块只能映像到Cache中中唯一指定唯一指定的块中,即相同块的块中,即相同块号的位置。号的位置。直接映像的关系可定义为直接映像的关系可定义为:K=I mod 2C其中,其中,K是是cache的字块号,的字块号,I是主存的字块号。是主存的字块号。主存地址分为三部分:区号、块号和块内地址。主存地址分为三部分:区号、块号和块内地址。Cache地址分成:块号和块内地址。地址分成:块号和块内地址。在这种映像方式中,主存的第在这种映像方式中,主存的第0块,第块,第2c块,第块,第2c+1块,块,只能
20、映像到,只能映像到cache的第的第0块,而主存的第块,而主存的第1块,第块,第2c+1块,第块,第2c+1+1块,块,只能映像到,只能映像到cache的第的第1块。块。现在学习的是第24页,共49页(2)直接映像)直接映像v特点特点:地址变换简单、速地址变换简单、速度快,可直接由主存地度快,可直接由主存地址提取出址提取出Cache地址。但地址。但不灵活,块冲突率较高,不灵活,块冲突率较高,Cache空间得不到充分利空间得不到充分利用。用。v直接映象方式下,数据块只直接映象方式下,数据块只能映象到能映象到Cache中唯一指中唯一指定的位置,故定的位置,故不存在替换不存在替换算法算法的问题。的问
21、题。现在学习的是第25页,共49页(3)组相联映像)组相联映像v是前两种方式的折衷。主存按是前两种方式的折衷。主存按Cache容量分区,每个区分为若干组,容量分区,每个区分为若干组,每组包含若干块。每组包含若干块。Cache也进行同样的分组和分块。主存中一个也进行同样的分组和分块。主存中一个组内的块数与组内的块数与Cache中一个组内的块数相等。组间采用中一个组内的块数相等。组间采用直接直接方式,方式,组内采用组内采用全相联全相联方式。方式。主存地址分成四部分:区号、组号、主存块号、块内地址主存地址分成四部分:区号、组号、主存块号、块内地址 Cache地址从高到低分成:组号、组内块号、块内地址
22、。地址从高到低分成:组号、组内块号、块内地址。组的容量组的容量 1时即时即直接映像直接映像 当组的容量当组的容量 整个整个Cache的容量时即的容量时即全相联映像全相联映像现在学习的是第26页,共49页(3)组相联映像)组相联映像vCache的存在的存在对于程序员对于程序员透透明明,Cache的的地址变换和数地址变换和数据块的替换算据块的替换算法都采用法都采用硬件硬件实现。实现。对于下图,即当组数对于下图,即当组数=8时为时为直接映像;直接映像;当组数当组数=1时为时为全相联映像,此时全相联映像,此时 区以区以1块的步长在滑动块的步长在滑动现在学习的是第27页,共49页当组的容量当组的容量 整
23、个整个Cache的容量时为的容量时为全相联映像全相联映像01234567第第0区区第第1区区第第2区区01234567现在学习的是第28页,共49页 5替换算法替换算法 当新的主存字块需要调入当新的主存字块需要调入cache存储器而它的可用位置又已被占满时,存储器而它的可用位置又已被占满时,就产生替换算法问题。就产生替换算法问题。先进先出先进先出FIFO算法算法总是把一组中最先调入总是把一组中最先调入 cache存储器的字块替换出去,存储器的字块替换出去,它不需要随时记录各个字块的使用情况,所以实现容易,开销小它不需要随时记录各个字块的使用情况,所以实现容易,开销小近期最少使用近期最少使用LR
24、U算法算法是把一组中近期最少使用的字块替换出去。这是把一组中近期最少使用的字块替换出去。这种替换算法需随时记录种替换算法需随时记录cache存储器中各个字块的使用情况,以便存储器中各个字块的使用情况,以便确定哪个字块是近期最少使用的字块确定哪个字块是近期最少使用的字块。LRU替换算法的平均命中率替换算法的平均命中率比比FIFO要高,并且当分组容量加大时,能提高要高,并且当分组容量加大时,能提高LRU替换算法的替换算法的命中率。命中率。现在学习的是第29页,共49页LRU是最常使用的一种算法、其设计思想是把组中各块的使用情况记录在是最常使用的一种算法、其设计思想是把组中各块的使用情况记录在一张表
25、上(如图一张表上(如图7.6所示)。并所示)。并把最近使用过的块放在表的最上面把最近使用过的块放在表的最上面。这种算法用硬件实现比较麻烦,经常采用修改型这种算法用硬件实现比较麻烦,经常采用修改型LRU算法。算法。另外还有一种随机替换法(另外还有一种随机替换法(RAND),),这种算法不考虑使用情况,在这种算法不考虑使用情况,在组内随机选择一块来替换。在硬件上容易实现,且速度也比前两组内随机选择一块来替换。在硬件上容易实现,且速度也比前两种策略快。缺点是降低了命中率和种策略快。缺点是降低了命中率和cache工作效率。工作效率。现在学习的是第30页,共49页图图7.6 LRU算法替换登记表算法替换
26、登记表现在学习的是第31页,共49页6Cache的命中率的命中率v设设NC表示表示Cache完成存取的总次数,完成存取的总次数,Nm表示主存完成存取的总次数,表示主存完成存取的总次数,h定义为定义为命中率命中率,则有,则有h=NC/(NC+Nm)v若若tc表示命中时的表示命中时的Cache访问时间,访问时间,tm表示未命中时的主存访问时表示未命中时的主存访问时间,间,1-h表示未命中率,则表示未命中率,则Cache/主存系统的主存系统的平均访问时间平均访问时间ta为:为:ta=htc+(1-h)tmv设设r=tm/tc表示主存慢于表示主存慢于Cache的倍率,的倍率,e表示访问效率,则有表示访
27、问效率,则有e=tc/tm=tc/htc+(1-h)tm=1/h+(1-h)r=1/r+(1-h)v为提高访问效率,为提高访问效率,h 接近接近1好。好。现在学习的是第32页,共49页 v例:例:CPU执行一段程序时,执行一段程序时,Cache完成存取的次数为完成存取的次数为1900次,次,主存完成存取的次数为主存完成存取的次数为100次,已知次,已知Cache存取周期为存取周期为50ns,主存存取周期为主存存取周期为250ns,求,求Cache/主存系统的效率和平均访主存系统的效率和平均访问时间。问时间。解:解:h=NC/(NC+Nm)=1900/(1900+100)=0.95 r=tm/t
28、c=250ns/50ns=5 e=1/r+(1-r)h=1/5+(1-5)*0.95=83.3%ta=tc/e=50ns/0.833=60ns现在学习的是第33页,共49页7.3 虚拟存储器虚拟存储器1.什么是虚拟存储器什么是虚拟存储器虚拟存储器只是一个容量非常大的存储器的逻辑模型,虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。不是任何实际的物理存储器。它借助于磁盘等辅助存储器来扩大主存容量,使之为更大它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。或更多的程序所使用。它指的是主存它指的是主存-外存层次。以透明的方式给用户提供了一外存层次。以透
29、明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。个比实际主存空间大得多的程序地址空间。返回返回返回返回现在学习的是第34页,共49页注意注意:物理地址(实际地址):物理地址(实际地址):实际主存单元地址。它由实际主存单元地址。它由CPU地地 址引脚送出,用于访问主存的地址。址引脚送出,用于访问主存的地址。虚拟地址(逻辑地址):虚拟地址(逻辑地址):用户编程用户编程(即程序中出现即程序中出现)的地址的地址 (程序员看到的地址空间程序员看到的地址空间)。它是由编译程序生成。它是由编译程序生成 的,是的,是程序的逻辑地址,其地址空间的大小受到程序的逻辑地址,其地址空间的大小受到 辅助存储
30、器容量辅助存储器容量的限制。的限制。主存主存-外存层次和外存层次和cache-主存层次用的地址变换映射方法和替主存层次用的地址变换映射方法和替换策略是相同的,都基于换策略是相同的,都基于程序局部性原理程序局部性原理。现在学习的是第35页,共49页它们遵循的原则是:它们遵循的原则是:把程序中最近常用的部分驻留在高速的存储器中。把程序中最近常用的部分驻留在高速的存储器中。一旦这部分变得不常用了,把它们送回到低速的存储器中。一旦这部分变得不常用了,把它们送回到低速的存储器中。这种换入换出是由硬件或操作系统完成的,对用户是透明的。这种换入换出是由硬件或操作系统完成的,对用户是透明的。力图使存储系统的性
31、能接近高速存储器,价格接近低速存储器。力图使存储系统的性能接近高速存储器,价格接近低速存储器。v两种存储系统的主要区别在于:两种存储系统的主要区别在于:在虚拟存储器中未命中的性能损失要远大于在虚拟存储器中未命中的性能损失要远大于cache系统中未命中的损系统中未命中的损失。失。注意:注意:(1)虚拟存储器中的地址映象是实现虚拟存储器中的地址映象是实现逻辑地址与物理地址逻辑地址与物理地址之间的变换;之间的变换;(2)Cache中的地址映象是实现中的地址映象是实现主存地址和主存地址和Cache地址地址之间的变换。之间的变换。现在学习的是第36页,共49页2.主存主存-外存层次的基本信息传送单位外存
32、层次的基本信息传送单位主存主存-外存层次的基本信息传送单位可采用几种不同的方案:段、页或外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页。段页。段段段段是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位。单位。优点优点是段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;是段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段具有动态可变长度,允许自由调度以便有效利用主存空间。某些类型的段具有动态可变长度,允许自由调度以便有效利用主存空间。缺点缺点是因为段的长度各不相同,
33、起点和终点不定,给主存空间分配带来麻烦,是因为段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦,而且容易在段间留下许多空余的零碎存储空间,造成浪费。而且容易在段间留下许多空余的零碎存储空间,造成浪费。现在学习的是第37页,共49页v在段式虚拟存储系统中,段是按照在段式虚拟存储系统中,段是按照程序的逻辑结构程序的逻辑结构划分的,各划分的,各个段的长度因程序而异。个段的长度因程序而异。v虚拟地址由虚拟地址由段号段号和和段内地址段内地址组成,为了把虚拟地址变换成实主存组成,为了把虚拟地址变换成实主存地址,需要一个地址,需要一个段表段表。v段表也是一个段,可以存在外存中,但一般是驻留在主存中。
34、段表也是一个段,可以存在外存中,但一般是驻留在主存中。v虚存地址向实存地址的变换过程演示虚存地址向实存地址的变换过程演示 现在学习的是第38页,共49页2.主存主存-外存层次的基本信息传送单位外存层次的基本信息传送单位主存主存-外存层次的基本信息传送单位可采用几种不同的方案:段、外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页。页或段页。页页页页是主存物理空间中划分出来的等长的固定区域。是主存物理空间中划分出来的等长的固定区域。优点优点是页面的起点和终点地址是固定的是页面的起点和终点地址是固定的,方便造页表方便造页表,新页调入主存也新页调入主存也很容易掌握,比段式空间浪费小。很容易
35、掌握,比段式空间浪费小。缺点缺点是处理、保护和共享都不及段式来得方便。是处理、保护和共享都不及段式来得方便。现在学习的是第39页,共49页v页式虚拟存储系统中,虚拟空间分成页,称为页式虚拟存储系统中,虚拟空间分成页,称为逻辑页逻辑页;主存空间也;主存空间也分成同样大小的页,称为分成同样大小的页,称为物理页物理页。v虚存地址虚存地址分为两个字段:高字段为分为两个字段:高字段为逻辑页号逻辑页号,低字段为,低字段为页内行地页内行地址址。v实存地址实存地址也分两个字段:高字段为也分两个字段:高字段为物理页号物理页号,低字段为,低字段为页内行地页内行地址址。v页表中每一个虚存逻辑页号有一个表目,表目内容
36、包含该逻辑页所页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址在的主存页面地址(物理页号物理页号),用它作为实存地址的高字段,与虚,用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。来访问主存。v页式管理的地址变换演示页式管理的地址变换演示 现在学习的是第40页,共49页2.主存主存-外存层次的基本信息传送单位外存层次的基本信息传送单位主存主存-外存层次的基本信息传送单位可采用几种不同的方案:段、页或外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页。段页
37、。段页式段页式段页式段页式管理采用分段和分页结合的方法。管理采用分段和分页结合的方法。它把程序按逻辑单位分段以后,再把每段分成固定大小的页。它把程序按逻辑单位分段以后,再把每段分成固定大小的页。进入主存以页为基本信息传送单位,用段表和页表进行两级定位进入主存以页为基本信息传送单位,用段表和页表进行两级定位管理。管理。v程序对主存的调入调出是按页面进行的,但它又可以按段实现程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护,兼备页式和段式的优点。共享和保护,兼备页式和段式的优点。v缺点是在映象过程中需要多次查表。缺点是在映象过程中需要多次查表。现在学习的是第41页,共49页7.4
38、相联存储器相联存储器相联存储器不按地址访问存储器,而按所存数据字的全部内容或部相联存储器不按地址访问存储器,而按所存数据字的全部内容或部分内容进行查找(或检索)。例如,在虚拟存储器中,将虚地址分内容进行查找(或检索)。例如,在虚拟存储器中,将虚地址的虚页号与相联存储器中所有行的虚页号进行比较,若有内容相的虚页号与相联存储器中所有行的虚页号进行比较,若有内容相等的行,则将其相应的实页号取出,这是按数据字的部分内容进等的行,则将其相应的实页号取出,这是按数据字的部分内容进行检索的例子。行检索的例子。返回返回返回返回现在学习的是第42页,共49页根据内容根据内容(或部分内容或部分内容),查找其地址及
39、与之相关的内容。,查找其地址及与之相关的内容。相联存储器的结构图相联存储器的结构图现在学习的是第43页,共49页主要包括:主要包括:存储体存储体2m个单元个单元N位位 输入检索寄存器输入检索寄存器 屏蔽寄存器屏蔽寄存器 比较器(与所有单元比较)比较器(与所有单元比较)现在学习的是第44页,共49页主要包括:主要包括:字匹配寄存器(字匹配寄存器(2m位)位)数据寄存器数据寄存器MDR 地址寄存器地址寄存器MAR及地址译码及地址译码可用于可用于Cache和虚拟存储器的辅助硬设备。和虚拟存储器的辅助硬设备。现在学习的是第45页,共49页7.5 存储保护存储保护 由于多个用户对主存的共享,就有多个用户
40、程序和系统软由于多个用户对主存的共享,就有多个用户程序和系统软件存于主存中。为使系统能正常工作,要防止由于一个用户程件存于主存中。为使系统能正常工作,要防止由于一个用户程序出错而破坏其他用户的程序和系统软件,还要防止一个用户序出错而破坏其他用户的程序和系统软件,还要防止一个用户程序不合法地访问不是分配给它的主存区域。为此,系统应提程序不合法地访问不是分配给它的主存区域。为此,系统应提供存储保护。供存储保护。存储保护主要包括两个方面:存储保护主要包括两个方面:存储区域保护存储区域保护和和访问方式的保护访问方式的保护。返回返回返回返回现在学习的是第46页,共49页 1.存储区域保护存储区域保护v对
41、于不是虚拟存储器的主存系统可采用界限寄存器方式、由系统软对于不是虚拟存储器的主存系统可采用界限寄存器方式、由系统软件经特权指令设置上、下界寄存器为每个程序划定存储区域,禁止件经特权指令设置上、下界寄存器为每个程序划定存储区域,禁止越界访问。越界访问。v界限寄存器方式只适用于每个用户占用一个或几个连续的主存区域;界限寄存器方式只适用于每个用户占用一个或几个连续的主存区域;在虚拟存储系统中,由于一个用户程序的各页能离散地分布于主存在虚拟存储系统中,由于一个用户程序的各页能离散地分布于主存中,不能使用这种保护方式,所以,通常采用页表保护和键保护等中,不能使用这种保护方式,所以,通常采用页表保护和键保
42、护等方式。方式。现在学习的是第47页,共49页v页表保护:在作虚拟的段和页转换成线性地址空间前,对段号和页表保护:在作虚拟的段和页转换成线性地址空间前,对段号和页号进行检查,确认是否超出范围,若是则提示错误信息。页号进行检查,确认是否超出范围,若是则提示错误信息。v键保护:操作系统为主存的每个页面分配一个键键保护:操作系统为主存的每个页面分配一个键(Key),每个用户进),每个用户进程的实存页面的键相同程的实存页面的键相同-存储键。用户进程也被存储键。用户进程也被OS赋予一个赋予一个Key访问键,当数据要写入主存时,访问键与存储键进行比较,访问键,当数据要写入主存时,访问键与存储键进行比较,相
43、符则能访问,否则拒绝访问。相符则能访问,否则拒绝访问。v环保护:把线性的物理空间转换成环,然后分成多个控制保护级环保护:把线性的物理空间转换成环,然后分成多个控制保护级别。用户程序运行前有别。用户程序运行前有OS赋予不同的级别号,从而实现对不同区域赋予不同的级别号,从而实现对不同区域的保护。的保护。现在学习的是第48页,共49页 2.访问方式保护访问方式保护v对主存信息的使用可以有三种方式读(对主存信息的使用可以有三种方式读(R)、)、写(写(W)和执行(和执行(E),),执行执行指作为指令来用。所以相应的访问方式保护就有指作为指令来用。所以相应的访问方式保护就有R,W,E三种以及由这三种方式形成的逻辑组合。三种以及由这三种方式形成的逻辑组合。v访问方式保护可以和上述区域保护结合起来使用,以上所讲的存访问方式保护可以和上述区域保护结合起来使用,以上所讲的存储保护都是由硬件实现的。储保护都是由硬件实现的。现在学习的是第49页,共49页