资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第三章 存储系统,本章要点,半导体存储元件的存储原理;,主存储器的设计方法,;,高速缓冲存储器,(cache),技术;,高速存储器技术,;,虚拟存储器技术;,存储保护。,第三章 存储系统,本章需掌握的主要内容:,1.,存储器分类及技术参数;,2.,存储器的分级结构,3.,用半导体存储器芯片设计主存储器的方法:,RAM,、,ROM,与,CPU,的连接方法;,4.,多体交叉存储器及相联存储器技术;,5.Cache,存储器基本原理,;,6.,主存与,Cache,的地址映射及替换策略;,7.,虚拟存储器技术;,8.,常用存储器保护方式。,第三章 存储系统,3.1,存储器概述,3.2,SRAM,3.3,DRAM,3.4,只读存储器和闪速存储器,3.5,并行存储器,3.6,cache,存储器,3.7,虚拟存储器,3.8,存储保护,本章小结,习题,3.1,存储器概述,存储器,是计算机系统中的记忆设备,用来存放程序和数据;,构成存储器的存储介质,目前主要采用,半导体器件,、,磁性材料,及,光介质;,存储器中最小存储单位是,存储元,,它可存储一个二进制代码;,由若干个存储元组成一个,存储单元,,然后再由许多存储单元组成一个,存储器;,每个存储单元都有一个编号,别于访问,称为存储单元,地址。,3.1,存储器概述,3.1.1,存储器分类,3.1.2,存储器的分级结构,3.1.3,存储器的技术指标,3.1.1,存储器分类,根据存储材料的性能及使用方法不同,存储器有各种不同的分类方法,:,按存储介质分:半导体存储器、磁表面存储器、光介质等,按存储方式分:,随机存储器,(半导体存储器),、顺序存储器,按存储器的读写功能分 只读存储器,(,ROM,),、随机读写存储器,(,RAM,),按信息的可保存性分 非永久记忆的存储器、永久记忆性存储器,按在计算机系统中的作用分,主存储器、辅助存储器、高速缓冲存储器、控制存储器,3.1.2,存储器的分级结构,为了解决存储器容量,速度,成本三者之间的矛盾,目前通常采用高速缓冲存储器、主存储器和外存储器多级存储器体系结构。,辅存,cache,其他脱机存储器,3.1.3,存储器的技术指标,主存储器的性能指标主要是:,存储容量(,W,,,B,),存取时间和存储周期,(,s,),存储器带宽(,b/s,,,B/s,),3.1.3,存储器的技术指标,主存储器的主要几项技术指标,指标,含义,表现,单位,存储容量,在一个存储器中可以容纳的存储单元总数,存储空间的大小,字数,字节数,存取时间,启动到完成一次存储器操作所经历的时间,主存的速度,存储周期,连续启动两次操作所需间隔的最小时间,主存的速度,存储器带宽,单位时间里存储器所存取的信息量,数据传输速率技术指标,位,/,秒,字节,/,秒,3.2 SRAM,存储器,3.2.1,SRAM,存储器元,3.2.2,基本,SRAM,逻辑结构,3.2.3,SRAM,存储器容量扩展,3.2.4,SRAM,存储器读写波形图,3.2.1 SRAM,存储元,基本,存储元,是组成存储器的基础和核心,它用来存储,一位,二进制信息,0,或,1,。,六管,SRAM,存储元的电路图如图,3.2.2,基本,SRAM,逻辑结构,SRAM,存储器,的组成框图如图,存储体:,地址译码器:,驱动器,:,I/O,电路:,片选,:,输出驱动电路,3.2.2,基本,SRAM,逻辑结构,SRAM,存储器的,地址译码器过程,3.2.2,基本,SRAM,逻辑结构,2114,存储器芯片的,逻辑结构,方框图,图,24-2-2,RAM,2114,管脚图,64*16,阵列,3.2.3 SRAM,存储器容量扩展,存储器与,CPU,连接,CPU,对存储器进行读,/,写操作,,首先由地址总线给出地址信号,然后发出读操作或写操作的控制信号,最后在数据总线上进行信息交流;,存储器与,CPU,连接,即实现地址线、数据线和控制线的连接;,存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。主要方法有:,位扩展法、字扩展法、字位同时扩展法,3.2.3 SRAM,存储器容量扩展,位扩展法,3.2.3 SRAM,存储器容量扩展,字扩展法,3.2.4 SRAM,存储器读写波形,在与,CPU,连接时,CPU,的控制信号与存储器的读、写周期之间的配合非常重要。下图是读出时序图。,读出时间,是从给出有效地址到外部数据总线上稳定地出现读出 数据所经历的时间。,读周期,则是存储片进行两次连续读操作时所 必须间隔的时间,它总是大于或等于读出时间。,3.2.4 SRAM,存储器读写波形,下图是,SRAM,的写入时序图,3.3 DRAM,存储器,3.3.1,DRAM,存储器元,3.3.2,DRAM,逻辑结构,3.3.3,DRAM,存储器刷新方式,3.3.4,主存储器组成实例,3.3.5,高性能的主存储器,3.3.1 DRAM,存储器,元,1,四管动态存储元,四管的动态存储电路是将六管静态存储元电路中的负载管,T3,,,T4,去掉而成的。,写操作,读操作,刷新操作,3.3.1 DRAM,存储器元,2.,单管动态存储元,单管动态存储元电路由一个管子,T1,和一个电容,C,构成。,写入,:字选择线为,“,1,”,,,T1,管导通,写入信息由位线,(,数据线,),存入电容,C,中;,读出,:字选择线为,“,1,”,,存储在电容,C,上的电荷,通过,T1,输出到数据线上,通过读出放大器即可得到存储信息。,DRAM,存储器工作原理,3.3.2 DRAM,存储器逻辑结构,DRAM,存储器芯片的结构大体与,SRAM,存储器芯片相似,由存储体与外围电路构成。但它集成度要高,外围电路更复杂。下图是,16K,的,DRAM,存储器片,2116,的逻辑结构示意图。,3.3.2 DRAM,存储器逻辑结构,row column,3.3.2 DRAM,存储器逻辑结构,414256/41L4256,内部结构,3.3.3 DRAM,存储器的刷新方式,动态,MOS,存储器采用,“,读出,”,方式进行刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期。,常用的刷新方式有三种:,集中式,分散式,异步式,3.3.3 DRAM,存储器的刷新方式,集中式,刷新,在整个刷新间隔内,前一段时间重复进行读,/,写周期或维持周期,等到需要进行刷新操作时,便暂停读,/,写或维持周期,而逐行刷新整个存储器,它适用于高速存储器。,读写周期为,0.5us,存储器有,128,行,刷新间隔,2ms,0.5us,64us,3.3.3 DRAM,存储器的刷新方式,分散式,刷新,把一个存储系统周期,t,c,分为两半,周期前半段时间,t,m,用来读,/,写操作或维持信息,周期后半段时间,t,r,作为刷新操作时间。这样,每经过,128,个系统周期时间,整个存储器便全部刷新一遍。,读写周期为,0.5us,存储器有,128,行,0.5us,3.3.3 DRAM,存储器的刷新方式,异步式,刷新,异步式刷新方式是前两种方式的结合。,0,1,127,2ms,15.5us,0.5us,0.5us,0.5us,15.5us,15.5us,3.3.3 DRAM,存储器的刷新方式,【,例,2】,说明,512,2048,1,位,DRAM,片子的刷新方法,设刷新周期为,8ms,,读写周期为,0.5s,。,【,解,】,如果选择一个行地址进行刷新,刷新地址为,A,0,-A,8,,因此这一行上的,2048,个存储元同时进行刷新,即在,8ms,内进行,512,个周期的刷新。,刷新方式可采用:,在,8ms,中进行,512,次刷新操作的集中刷新方式(,256s,死时间),,按,8ms,512,15.5s,刷新一次的异步刷新方式。,3.3.4,主存储器组成实例,存储器控制电路,DRAM,存储器的刷新需要有硬件电路的支持,包括刷新计数器、刷新,/,访存裁决、刷新控制逻辑等。这些控制线路形成,DRAM,控制器,它将,CPU,的信号变换成适合,DRAM,片子的信号。,3.3.4,主存储器组成实例,下图是采用,W4006AF,构成的,80X86,主存储器简图。,3.3.4,主存储器组成实例,(1)W4006AF,的外特性,可以控制两个存储体交叉访问;,可以对,256KB-16MB,的,DRAM,片子进行访问;,最多可控制,128,个,DRAM,片子;,采用,CAS,在,RAS,之前的刷新方式。,(2),主存储器组成,用,W4006AF,控制器构成存储器,几乎不需要外加电路,直接把,W4006AF,同,CPU,和,DRAM,双方进行连接即可。要对主存容量进行扩充,只需扩充,DRAM,芯片数量或更换存储容量更大的,DRAM,芯片即可。,3.3.5,高性能的主存储器,1.EDRAM,芯片,EDRAM,芯片又称,增强型,DRAM,芯片,它在,DRAM,芯片上集成了一个,SRAM,实现的小容量高速缓冲存储器,从而使,DRAM,芯片的性能得到显著改进。,以,SRAM,保存一行内容的办法,对成块传送非常有利。如果连续的地址高,11,位相同,意味着属于同一行地址,那么连续变动的,9,位列地址就会使,SRAM,中相应位组连续读出,这称为,猝发式读取,。,EDRAM,的这种结构还带来另外两个优点:,在,SRAM,读出期间可同时对,DRAM,阵列进行刷新。,芯片内的数据输出路径与输入路径是分开的,允许在写操作完成的同时来启动同一行的读操作。,2.EDRAM,芯片内存条:,1M4b8,3.,主存物理地址的存储空间分布,奔腾,PC,机最大可访问主存空间为,256MB,,实际只安装了,16MB,的,DRAM,。,存储空间分成基本内存、保留内存、扩展内存几部分。,3.3.5,高性能的主存储器,常见内存:,内存,对于每一个电脑用户来说都是不能回避的问题,现在市场上主流的内存品种已经被,DDR,(,Double Data Rate,)所占据,而,SDRAM,(Synchronous Dynamic Random Access Memory),却已经成为了明日黄花,就算是性能一流的,RAMBUS,也因为其高昂的代价和,Intel,的 放弃而退出了家用电脑市场,把如此一个广阔前景都留给了,DDR,,至少现在是这样。,内存,条封装形式,SIMM:Single In-Line Memory Modules,DIMM:Dual In-Line Memory Modules,3.3.5,高性能的主存储器,内存经历了,30pin,SIMM,72pin,SIMM-FPM/,EDO,PC66/PC100/PC400,等的,168pin DIMM,SDRAM,184PIN DIMM,的,DDR,和,RAMBUS,240 PIN DIMM,DDR2,。,3.3.5,高性能的主存储器,168pin,DIMM,SDRAM,486,DDR,内存,先后经历了,DDR200/DDR266/DDR333/DDR400,等,(pentium),。,3.3.5,高性能的主存储器,184PIN DIMM,的,DDR,DDR2,内存起始频率从,DDR,内存最高标准频率,400Mhz,开始,现可以生产的频率支持到,533Mhz,到,667Mhz,等,目前流行的为,800Mhz,工作电压为,1.8V,。,DDR2,采用全新定义的,240 PIN DIMM,接口标准,完全不兼容于,DDR,的,184PIN DIMM,接口标准。,DDR2,内存技术最大的突破点其实不在于所谓的两倍于,DDR,的传输能力,而是,在采用更低发热量,更低功耗的情况下,反而获得更快的频率提升,突破标准,DDR,的,400MHZ,限制。,3.3.5,高性能的主存储器,240 PIN DIMM,DDR2,DDR3,显存可以看作是,DDR2,的改进版,二者有很多相同之处,例如采用,1.8V,标准电压、主要采用,144Pin,球形针脚的,FBGA,封装方式。,3.3.5,高性能的主存储器,GDDR-4,已经将逐步成为业内最快而且是最好的主存储器,三星的,1GHz(,运行频率,2GHz),的,GDDR-4,技术已经相当成熟,并且已经开始量产,同时三星已经成功开发出,0.6ns,的,GDDR-4,颗粒,运行频率高达,3.2GHz,。,3.3.5,高性能的主存储器,去年年初三星推出的首款,DDR4,内存,3.4,只读存储器和闪速存储器,3.4.1,只读存储器,3.4.2,闪速存储器,3.4.1,只读存储器,1.ROM,的分类,只读存储器简称,ROM,,它只能读出,不能写入。它的最大优点是具有,非易失性,。,根据编程方式不同,,ROM,通常分为三类:,掩模式、一次编程、多次编程,3.4.1,只读存储器,ROM,主要由地址译码器、存储矩阵和输出电路三部分组成。,字选线,场浮,效置,应栅,管,V,cc,位线,3.4.1,只读存储器,ROM,主要由地址译码器、存储矩阵和输出电路三部分组成。,A,1,A,0,A,1,A,0,A,1,A,0,A,1,A,0,A,1,A,0,D,3,D,2,D,1,D,0,-V,CC,译,码,器,K:,输出控制端,3.4.1,只读存储器,2716,的管脚图,2716,内部结构图,2.EPROM,实例,用,SRAM,和只读存储器构成存储器,【,例,3】,CPU,的地址总线,16,根,(A15-A0,,,A0,为低位,),,双向数据总线,8,根,(D7-D0),,控制总线中与主存有关的信号有,MREQ(,允许访存,低电平有效,),,,R/W(,高电平为读命令,低电平为写命令,),。现有如下存储器芯片:,EPROM,:,8K,8,位,(,控制端仅有,CS,,低电平有效,);,SRAM,:,16K,1,位,,2K,8,位,,4K,8,位,,8K,8,位,.,请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑,(,可选用门电路及,38,译码器,74LS138),与,CPU,的连接,说明选哪些存储器芯片,选多少片。,主存地址空间分配如下:,0-8191,为系统程序区,由只读存储芯片组成;,8192-32767,为用户程序区;,最后,(,最大地址,)2K,地址空间为系统程序工作区。,上述地址为十进制,按字节编址。,用,SRAM,和只读存储器构成存储器,根据给定条件,选用,EPROM,:,8K,8,位芯片,1,片。,SRAM,:,8K,8,位芯片,3,片,,2K,8,位芯片,1,片。,38,译码器仅用,Y,0,,,Y,1,,,Y,2,,,Y,3,和,Y,7,输出端,且对最后的,2K,8,位芯片需加门电路译码。主存储器的组成与,CPU,连接逻辑图如图所示。,用,SRAM,和只读存储器构成存储器,用,SRAM,和只读存储器构成存储器,3.4.2,闪速存储器,闪速存储器是一种高密度、非易失性的读,/,写半导体存储器,它突破了传统的存储器体系,改善了现有存储器的特性。,特点:,固有的非易失性,廉价的高密度,可直接执行,固态性,3.5,并行存储器,由于,CPU,和主存储器在速度上不匹配,而且在一个,CPU,周期中可能需要用几个存储器字,这便限制了高速计算,为了使,CPU,不至因为等待存储器读写操作的完成而无事可做,可以采取一些加速,CPU,和存储器之间有效传输的特殊措施。,采用更高速的存储芯片或增加字长,采用并行操作的双端口存储器,采用缓存技术,采用多体交叉存储器,采用存储内容和地址相关的相联存储器,3.5,并行存储器,3.5.1,双端口存储器,3.5.2,多模块交叉存储器,3.5.3,相联存储器,3.5.1,双端口存储器,双端口存储器是指同一个存储器具有两组,相互独立的,读写控制线路,是一种高速工作的存储器。,一般提供了两个相互独立的端口,即左端口右端口。,它们分别具有各自的地址线、数据线和控制线,可以对存储器中任何位置上的数据进行独立的存取操作。,3.5.2,多模块交叉存储器,1.,存储器的模块化组织,一个由若干个模块组成的主存储器是线性编址的。,这些地址在各模块有两种安排方式:,顺序方式,交叉方式,3.5.2,多模块交叉存储器,顺序方式,:各模块串行工作,存储器的带宽受到了限制。,3.5.2,多模块交叉存储器,交叉方式,:连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。,3.5.2,多模块交叉存储器,2.,多模块交叉存储器的基本结构,四模块交叉存储器结构框图如图。,每个模块各自以等同的方式与,CPU,传送信息。,CPU,同时访问四个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。,它是一种并行存储器结构。,3.5.2,多模块交叉存储器,设模块字长等于数据总线宽度,模块存取一个字的存储周期为,T,,总线传送周期为,,存储器的交叉模块数为,m,,为了实现流水线方式存取,应当满足:,T=m,(,m=T/,称为交叉存取度),交叉存储器要求其模块数必须大于或等于,m,,以保证启动某模块后经,m,时间再次启动该模块时,它的上次存取操作已经完成。,连续读取,m,个字所需的时间为:,t,1,=T+(m-1),3.5.2,多模块交叉存储器,顺序方式存储器连续读取,m,个字所需时间为,t,2,=mT,。交叉存储器的带宽确实大大提高了。下图为,m=4,时的时序图。,3.5.2,多模块交叉存储器,【,例,4】,设存储器容量为,32,字,字长,64,位,模块数,m=4,。分别用顺序方式和交叉方式进行组织。存储周期,T=200ns,,数据总线宽度为,64,位,总线传送周期,=50ns,。问连续访问相邻的,4,个字,顺序存储器和交叉存储器的带宽各是多少,?,3.5.2,多模块交叉存储器,【,解,】,顺序存储器和交叉存储器连续读出,m=4,个字的信息总量都是:,q=64,位,4=256,位,顺序存储器和交叉存储器连续读出,4,个字所需的时间分别是:,t,2,=mT=4,200ns=800ns=8,10-,7,s;,t,1,=T+(m-1)=200ns+150ns=350ns=3.5,10-,7,s,顺序存储器和交叉存储器的带宽分别是:,W,2,=q/t,2,=256,(8,10-,7,)=32,10,7,位,/s,;,W,1,=q/t,1,=256,(3.5,10,-7,)=73,10,7,位,/s,当访问信息量很大时,带宽的比率接近,4,!,3.5.3,相联存储器,相联存储器,是指其中任一存储项内容作为地址来存取的存储器。选用来寻址存储器的子段叫做,关键字,。,存放在相联存储器中的项可以看成具有,KEY,,,DATA,这样的格式。其中,KEY,是地址,,DATA,是被读写信息。,相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项,(,即关键字项,),,去检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写入。,3.6 cache,存储器,3.6.1 cache,基本原理,3.6.2,主存与,cache,的地址映射,3.6.3,替换策略,3.6.4 cache,的写操作策略,3.6.5,奔腾,PC,机的,cache,3.6.1cache,基本原理,程序局部性原理,时间,局部性,刚刚被访问过的字,可能近期还要被访问,空间,局部性,一个字被访问后,接下来被访问的字很可能是紧挨着的下一个字,3.6.1cache,基本原理,利用程序局部性原理,把程序中最近常用的部分驻留在高速的存储器中。,一旦这部分变得不常用了,把它们送回到低速的存储器中。,这种换入换出是由,硬件,或,操作系统,完成的,对用户是,透明,的。,力图使存储系统的性能接近高速存储器,价格接近低速存储器。,两种存储系统的主要区别在于:,在虚拟存储器中未命中的性能损失要远大于,cache,系统中未命中的损失。,3.6.1cache,基本原理,1.cache,的功能,cache,是介于,CPU,和主存之间的小容量存储器,存取速度比主存快。,它能高速地向,CPU,提供指令和数据,加快程序的执行速度。,它是为了解决,CPU,和主存之间速度不匹配而采用的一项常用技术。,3.6.1cache,基本原理,CPU,与存储系统,间的关系图:,3.6.1cache,基本原理,2.,cache,的基本原理,CPU,与,cache,之间的数据交换是以,字,为单位,而,cache,与主存之间的数据交换是以,块,为单位。,CAM,:,Content Addressable Memory,3.6.1cache,基本原理,3.cache,的命中率,增加,cache,的目的,就是在性能上使主存的平均读出时间尽可能接近,cache,的读出时间。因此,cache,的命中率应接近于,1,(,100%,)。由于程序访问的局部性,这是可能的。,在一个程序执行期间,设,N,c,表示,cache,完成存取的总次数,,N,m,表示主存完成存取的总次数,,h,定义为,命中率,,则有:,3.6.1cache,基本原理,3.cache,的命中率,(平均访问、访问效率),若,t,c,表示命中时的,cache,访问时间,,t,m,表示未命中时的主存访问时间,,1-h,表示未命中率,则,cache/,主存系统的,平均访问,时间,t,a,为:,t,a,=ht,c,+(1-h)t,m,设,r=t,m,/t,c,表示主存慢于,cache,的倍率,e,表示,访问效率,,则有,:,为提高访问效率,命中率,h,越接近,1,越好,,r,值以,5-10,为宜,不宜太大。,命中率,h,与程序的行为、,cache,的容量、组织方式、块的大小有关。,3.6.1cache,基本原理,【,例,5】,CPU,执行一段程序时,,cache,完成存取的次数为,1900,次,主存完成存取的次数为,100,次,已知,cache,存取周期为,50ns,,主存存取周期为,250ns,,求平均访问时间和,cache/,主存系统的效率。,【,解,】,:,平均访问时间:,t,a,=(N,c,t,c,+N,m,t,m,)/(N,c,+N,m,),=(190050+100250)/(1900+100),=60ns,访问效率:,e=t,c,/t,a,=(50/60)100%=83.3%,3.6.2,主存与,cache,的地址映射,cache,的容量很小,它保存的内容只是主存内容的一个子集,且,cache,与主存的数据交换是以块为单位。,地址映射:用某种方法把主存地址定位到,cache,中。,址映射方式有,:,全相联方式、直接方式、组相联方式,3.6.2,主存与,cache,的地址映射,全相联映射的示意图,全相联方式,主存中一个块的地址与块的内容一起存于,cache,的行中,其中块地址存于,cache,行的标记部分中。,这种方法可使主存的一个块直接拷贝到,cache,中的任意一行上,非常灵活。,3.6.2,主存与,cache,的地址映射,全相联方式,缺点是比较器电路难于设计和实现,适合于小容量,cache,。,3.6.2,主存与,cache,的地址映射,直接方式,这也是一种多对一的映射关系,但一个主存块只能拷贝到,cache,的一个特定行位置上去。,cache,的行号,i,和主存的块号,j,有如下函数关系:,i=j mod m,(,m,为,cache,中的总行数),直接映射方式的示意图,3.6.2,主存与,cache,的地址映射,直接方式,优点是硬件简单,成本低。,缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。适合大容量,cache,采用。,直接映射方式的示意图,3.6.2,主存与,cache,的地址映射,组相联方式,这种方式是前两种方式的折衷方案。它将,cache,分成,u,组,每组,v,行,主存块存放到哪个组是固定的,至于存到该组哪 一行是灵活的,即有如下函数关系:,m,u,v,组号,q,j mod u,组相联映射的示意,3.6.2,主存与,cache,的地址映射,组相联方式,组相联映射方式中的每组行数,v,一般取值较小,这种规模的,v,路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。,组相联映射的示意,3.6.3,替换策略,cache,工作原理要求它尽量保存最新数据,必然要产生替换。,对直接映射的,cache,来说,只要把此特定位置上的原主存块换出,cache,即可。,对全相联和组相联,cache,来说,就要从允许存放新主存块的若干特定行中选取一行换出。,常用替换算法有:,最不经常使用,(LFU,:,Least frequently used,),算法,近期最少使用,(LRU,:,Least Recently Used,),算法,随机替换,3.6.3,替换策略,最不经常使用,(,Least Frequency Used,,,LFU,),即替换被,CPU,访问次数最少的行。,LFU,算法是将每个行设置计数器,起始为,0,,每被,CPU,访问一次,就加,1,,当需要替换时,找到那个计数最小的替换出来,同时将其它行的计数置,0,。,这种算法利用了时间局限性原理,但是每次替换完都把其它行置,0,,使得把这种局限性的时间限定在了两次替换之间的时间间隔内。由于替换太频繁,让这时间间隔太短了,并不能完全反映出,CPU,近期的访问情况。,3.6.3,替换策略,近期最少使用,(,Least Recently Used,,,LRU,),即替换在近段时间里,被,CPU,访问次数最少的行,它是,LFU,的拓宽版本。其原理是在每个行中设置一个计数器,哪一行被,CPU,访问,则这行置,0,,其它增,1,,在一段时间内,如此循环,待到要替换时,把计数值最大的替换出去。,这种算法相当于延长了替换时间,从而更能本质地反应行的使用情况。这种算法是目前最优秀的,大部分的,Cache,的替换策略都采用这种算法。,3.6.4cache,的写操作策略,CPU,对,cache,的写入更改了,cache,的内容。可选用写操作策略使,cache,内容和主存内容保持一致。常用的写操作策略有:,写回法、回写法,(Write Back),全写法、写直达法,(Write Through),写一次法,(Write Once),cache,的内容,cache,的内容包括:,标记:与地址映射方式有关;,有效位:是否有有效数据;,数据:以块为单位;,cache,一致性维护控制位(是否写过);,替换算法的控制位(计数器)。,3.6.5,奔腾,PC,机的,cache,奔腾,PC,机采用两级,cache,结构。安装在主板上的,2,级,cache(L2),采用,2,路组相联映射方式,集成在,CPU,内的,1,级,cache(L1),也采用,2,路组相联映射方式,,L1,又是,L2,的子集,从而使,L1,未命中处理时间大大缩短。,CPU,中的,L1,分设成各,8KB,的指令,cache,和数据,cache,有利于,CPU,高速执行程序。,数据,cache,采用,2,路组相联结构,采用,LRU,替换算法,一组两行共用一个,LRU,二进制位。数据,cache,的工作方式受,CPU,控制寄存器,CR,0,中,CD,和,NW,位组合状态控制。,3.7,虚拟存储器,3.7.1,虚拟存储器的基本概念,3.7.2,页式虚拟存储器,3.7.3,段式虚拟存储器,3.7.4,段页式虚拟存储器,3.7.5,替换算法,3.7.6,虚拟存储器实例,3.7.1,虚拟存储器的基本概念,1.,什么是虚拟存储器,虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。,它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。,它指的是主存,-,外存层次。,操作系统,以,透明,的方式给用户提供了一个比实际主存空间大得多的程序地址空间。,3.7.1,虚拟存储器的基本概念,物理地址,由,CPU,地址引脚送出,用于访问主存的地址。,虚拟地址,由编译程序生成的,是程序的逻辑地址,其地址空间的大小受到辅助存储器容量的限制。,主存,-,外存层次和,cache-,主存层次用的地址变换映射方法和替换策略是相同的,都基于,程序局部性原理。,3.7.1,虚拟存储器的基本概念,程序局部性原理,时间,局部性,刚刚被访问过的字,可能近期还要被访问,空间,局部性,一个字被访问后,接下来被访问的字很可能是紧挨着的下一个字,3.7.1,虚拟存储器的基本概念,利用程序局部性原理,把程序中最近常用的部分驻留在高速的存储器中。,一旦这部分变得不常用了,把它们送回到低速的存储器中。,这种换入换出是由,硬件,或,操作系统,完成的,对用户是,透明,的。,力图使存储系统的性能接近高速存储器,价格接近低速存储器。,两种存储系统的主要区别在于:,在虚拟存储器中未命中的性能损失要远大于,cache,系统中未命中的损失。,3.7.1,虚拟存储器的基本概念,2.,主存,-,外存层次的基本信息传送单位,主存,-,外存层次的基本信息传送单位可采用几种不同的方案:,段式,管理,页式,管理,段页式,管理,3.7.1,虚拟存储器的基本概念,段,是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位。,优点:段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段具有动态可变长度,允许自由调度以便有效利用主存空间。,缺点:因为段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦,而且容易在段间留下许多空余的零碎存储空间,造成浪费。,3.7.1,虚拟存储器的基本概念,页,是主存物理空间中划分出来的等长的固定区域。,优点:页面的起点和终点地址是固定的,方便造页表,新页调入主存也很容易掌握,比段式空间浪费小。,缺点:处理、保护和共享都不及段式来得方便。,3.7.1,虚拟存储器的基本概念,段页式,管理采用分段和分页结合的方法。,程序按模块分段,段内再分页,进入主存以页为基本信息传送单位,用段表和页表进行两级定位管理。,3.7.2,页式虚拟存储器,页式虚拟存储系统中,虚拟空间分成页,称为,逻辑页,;主存空间也分成同样大小的页,称为,物理页,。,虚存地址分为两个字段:高字段为逻辑页号,低字段为页内行地址。,实存地址也分两个字段:高字段为物理页号,低字段为页内行地址。,3.7.2,页式虚拟存储器,页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址,(,物理页号,),用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。,3.7.2,页式虚拟存储器,页式管理的地址变换示意图,3.7.2,页式虚拟存储器,为了避免页表已保存或已调入主存储器时对主存访问次数的增多,把页表的最活跃部分存放在高速存储器中组成快表。,快表与慢表实现,内部地址变换,方式示意图,3.7.3,段式虚拟存储器,在段式虚拟存储系统中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异。,虚拟地址由段号和段内地址组成,为了把虚拟地址变换成实主存地址,需要一个段表。,段表也是一个段,可以存在外存中,但一般是驻留在主存中。,3.7.3,段式虚拟存储器,虚存地址向实存地址的变换过程,3.7.4,段页式虚拟存储器,段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。,它把程序按逻辑单位分段以后,再把每段分成固定大小的页。,程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护,兼备页式和段式的优点。,缺点是在映象过程中需要多次查表。,3.7.5,替换算法,虚拟存储器,中的页面替换策略和,cache,中的行替换策略有很多相似之处,但有三点显著不同:,(1),缺页至少要涉及前一次磁盘存取,读取所缺的页,缺页使系统蒙受的损失要比,cache,未命中大得多。,(2),页面替换是由,操作系统,软件实现的。,(3),页面替换的选择余地很大,属于一个进程的页面都可替换。,3.7.5,替换算法,虚拟存储器中的替换策略一般采用,LRU,算法、,LFU,算法、,FIFO,算法,或将两种算法结合起来使用。,对于将被替换出去的页面,假如该页调入主存后没有被修改,就不必进行处理,否则就把该页重新写入外存,以保证外存中数据的正确性。为此,在页表的每一行应设置一修改位。,3.7.5,替换算法,【,例,7】,假设主存只有,a,b,c,三个页框,组成,a,进,c,出的,FIFO,队列,进程访问页面的序列是,0,,,1,,,2,,,4,,,2,,,3,,,0,,,2,,,1,,,3,,,2,号。若采用,FIFO,算法,,FIFO,算法,+LRU,算法,用列表法分别求两种替换策略情况下的命中率。,页面访问序列,0,1,2,4,2,3,0,2,1,3,2,命中率,FIFO,算法,a,0,1,2,4,4,3,0,2,1,3,3,2/11=,18.2%,b,0,1,2,2,4,3,0,2,1,1,c,0,1,1,2,4,3,0,2,2,命中,命中,FIFO+,LRU,算法,a,0,1,2,4,2,3,0,2,1,3,2,3/11=,27.3%,b,0,1,2,4,2,3,0,2,1,3,c,0,1,1,4,2,3,0,2,1,命中,命中,命中,3.7.6,虚拟存储器实例,奔腾,PC,的虚地址模式,奔腾,PC,的存储管理部件,MMU,包括分段部件,SU,和分页部件,PU,两部份,可允许,SU,,,PU,单独工作或同时工作。,MMU,支持的虚拟地址模式:,分段不分页模式,分段分页模式,不分段分页模式,3.8,存储保护,3.8.1,存储区域保护,3.8.2,访问方式保护,3.8.1,存储区域保护,当多个用户共享主存时,应防止由于一个用户程序出错而破坏其他用户的程序和系统软件,以及一个用户程序不合法地访问不是分配给它的主存区域。,在虚拟存储系统中,通常采用,页表保护,、,段表保护,和,键式保护方法,。,3.8.1,存储区域保护,1.,页表和,段表保护,每个程序的段表和页表本身都有自己的保护功能。每个程序的虚页号是固定的,经过虚地址向实地址变换后的实存页号也就固定了。那么不论虚地址如何出错,也只能影响到相对的几个主存页面。不会侵犯其他程序空间。,段表和页表的保护功能相同,但段表中除包括段表起点外,还包括段长。,3.8.1,存储区域保护,2.,键保护方式,这种方法是为主存的每一页配一个键,称为存储键,每个用户的实存页面的键都相同。为了打开这个锁,必须有钥匙,称为访问键。访问键赋予每道程序,并保存在该道程序的状态寄存器中。当数据要写入主存的某一页时,访问键要与存储键相比较。若两键相符,则允许访问该页,否则拒绝访问。,3.8.1,存储区域保护,3.,环保护方式,环保护方式可以做到对正在执行的程序本身的核心部分或关键部分进行保护。它是按系统程序和用户程序的重要性及对整个系统的正常运行的影响程度进行分层,每一层叫做一个环。在现行程序运行前由操作系统定好程序各页的环号,并置入页表中。然后把该道程序的开始环号送入,CPU,的现行环号寄存器。,程序可以访问任何外层空间;访问内层空间则需由操作系统的环控例行程序判断这个向内访问是否合法。,3.8.2,访问方式保护,对主存信息的使用可以有三种方式,:,读,(R),、写,(W),和执行,(E),相应的访问方式保护就有,R,,,W,,,E,三种方式形成的逻辑组合,.,这些访问方式保护通常作为程序状态寄存器的保护位,并且和区域保护结合起来实现。,不准读访问,R,(W+E),只能执行,不可读写,(R+W),E,只能读访问,R,(W+E),只能读写,不可执行,(R+W),E,不准写访问,(R+E),W,可进行任何访问,R+W+E,只能写访问,(R+E),W,不允许任何访问,R+W+E,含义,逻辑组合,含义,逻辑组合,习题,101,面:,1,、,2,、,7,、,9,
展开阅读全文