计算机系统结构.ppt_第1页
计算机系统结构.ppt_第2页
计算机系统结构.ppt_第3页
计算机系统结构.ppt_第4页
计算机系统结构.ppt_第5页
已阅读5页,还剩164页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机系统结构,主讲蔡启先,第3章存储系统,3.1存储系统原理,3.2虚拟存储系统,3.3高速缓冲存储器Cache,第3章存储系统,3.4三级存储系统,3.7存储域网络(SAN),3.5并行存储器,3.6RAID系统,本章重点,存储系统原理和层次结构虚拟存储器的概念、基本结构、地址变换、替换算法Cache的概念、基本结构、设计与地址变换、替换算法,3.1存储系统原理,3.1.1存储系统的概念,3.1.2存储器的层次结构,一个存储器的性能通常有三个主要参数:容量、价格和速度。存储器容量SM=Wlm。其中,W为存储体的字长(单位为位或字节),l为每个存储体的字数,m为并行工作的存储体个数。,3.1.1存储系统的概念,存储器的速度可以用访问时间TA、存取周期TM和频宽(也称带宽)Bm来描述。TA是存储器从接到访存读申请,到信息被读到数据总线上所需的时间。这段时间是处理机在启动访存申请后必须等待的时间。TM则是连续启动一个存储体所需要的间隔时间,它一般总比TA大。,存储器频宽是存储器可提供的数据传送速率,一般用每秒钟传送的信息位数(或字节数)来衡量,又分最大频宽(或称极限频宽)和实际频宽。最大频宽Bm是存储器连续访问时能提供的频宽。单体的Bm=W/TM。m个存储体并行工作时可达到的最大频宽Bm=Wm/TM。由于存储器不一定总能连续满负荷地工作,所以,实际频宽往往要低于最大频宽。,存储器的价格可以用总价格C或每位价格c来表示。具有SM位的存储器每位价格c=C/SM。存储器价格包含了存储单元本身及为该存储器操作所必须的外围电路的价格。,计算机系统总希望存储器能在尽可能低的价格下,提供尽量高的速度和尽量大的存储容量。在速度上应尽量和CPU匹配,容量上应尽可能放得下所有系统软件和多个用户软件及其运行时所需的空间。只用一种存储器无法解决上述高速度、大容量、低价格的要求。有两个途径,一个是用多种类型的存储器组成具有一定层次的存储系统,组合实现存储器的大容量、高速度和低价格要求,一个是发展并行存储体系,通过并行访存来提高存储器的性能。,存储系统的定义,多个性能各不相同的存储器用硬件或软件方法连接成一个系统。这个系统对应用程序员透明。在应用程序员看来,它是一个存储器,其速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。,设n个存储器M1(T1,S1,C1)、M2(T2,S2,C2)、Mn(Tn,Sn,Cn)构成一个存储器系统,从外部看:该存储器的存储周期Tmin(T1,T2,Tn)存储器的容量Smax(S1,S2,Sn)存储器每位的价格Cmin(C1,C2,Cn),从外部看T,S,C,M1(T1,S1,C1),M2(T2,S2,C2),Mn(Tn,Sn,Cn),例:两种存储系统,Cache存储系统:由Cache与主存储器构成,目标是提高速度,全部采用硬件调度,对系统程序员透明。虚拟存储系统:由主存储器与外存储器构成,目标是扩大存储容量,采用软硬件结合方法调度,对应用程序员透明。,对S、C、T的讨论,设M1和M2构成一个存储器,其中:S1C2T1512),H降低明显,3.3.311种先进的Cache性能优化方法,可从三个方面来优化Cache性能,即减少命中时的访问时间(简称命中时间)、降低缺失率(不命中率)和减小缺失代价(即不命中时付出的开销),总结了11种先进的Cache性能优化方法,1小而简单的Cache减少命中时间现代计算机中,一级Cache应尽可能小,这样块表小,查表速度快;同时也应使二级Cache尽可能小,使之能与CPU处于同一芯片内,避免片外时间代价。在快速时钟频率下,通过动态执行隐藏一级Cache缺失和使用二级Cache来避免直接访问主存。2路预测(waypredicting)减少命中时间路预测要求Cache块中预留一个块预测位,用来预测下一次访问Cache时可能用到的方式或块,以便提前使用多路选择器来选择所需的块。若预测正确,则有最快的命中时间,若失败,将选择其它的块。模拟表明对于2路组相联来说,组预测的精度有85%。Pentium4使用了路预测技术。,3踪迹Cache(tracecache)减少命中时间在指令级并行的情况下,踪迹Cache的应用为转移预测提供了方便。踪迹Cache更好地利用了指令Cache中的长块,在它的块中包含了对已执行指令的动态跟踪信息,而不是在存储器中的静态指令序列。Pentium4采用了踪迹Cache,并使用译码微操作,节省了译码时间。但是踪迹Cache成本较高,硬件复杂,其它处理器几乎没有用到它。4流水线Cache访问此方法将流水线、Cache访问、使一级Cache命中时的有效时延分散到几个时钟周期。它提供了较短的周期和高带宽,但是命中时间长。若流水线产生阻塞,可能有更多的时钟周期代价。,5利用非阻塞Cache(lockup-freecache)增加Cache带宽对于允许乱序执行的流水线机器(见第5章)来说,处理器是不需用在Cache缺失时停顿的。比如处理器在等待数据Cache返回数据的同时,可以继续从指令Cache中取指令。非阻塞Cache在缺失时继续保持Cache命中,减少了缺失代价。如果Cache能重叠多个缺失,则会进一步降低缺失代价,实现“多重缺失仍命中”或“缺失时仍缺失”。通常,乱序执行的处理器若能在二级Cache中命中,则能隐藏一级Cache所产生的缺失代价。6利用多组Cache增加Cache带宽此法类似对存储器的并行存取,将Cache分为若干个独立的存储体以支持并发访问,增加Cache带宽。如AMDOpteron的二级Cache有2个存储体,Sun的Niagara有4个存储体。,7关键字优先和提前重启动以减小缺失代价此技术来源于经验数据:处理器在同一时刻只需要块中的一个字,因此不必等到全部块装入就将所需字送出,然后重新启动处理器访问。具体有两种策略:(1)关键字优先。首先向主存请求缺失的字,一旦它到达即送处理器,使得处理器在装入其它字的同时能够继续执行。(2)提前重启动。以正常顺序获取字,块中所需字一旦到达即送处理器,使得处理器在装入其它字的同时能够继续执行。一般上述技术只适用于较大Cache块的情况。因为在填充剩余块的时候,Cache还会继续支持其它块的访问。,8合并写缓冲区(mergingwritebuffers)以降低缺失代价采用写直达法的Cache要有一个写缓冲区,写回法Cache在替换块时也要用到一个简单的写缓冲区。如果写缓冲区为空,可将被替换掉的数据和地址放到写缓冲区中,写操作即结束,写缓冲区准备将数据写回存储器时,处理器可继续工作。如果写缓冲区里还有其它修改过的数据,应检查新数据的地址是否与写缓冲区中的某一合法项数据地址相匹配。若匹配,新数据就合并到该项中,这就是写合并。此法可一次写多个字,并减少了因写缓冲区已满而产生的访Cache停顿。,9编译器优化以降低缺失率此法试图采用软件方法来优化Cache性能。在编译器中设法在不影响程序正确性的前提下进行程序代码和数据重组,以改善空间局部性。10指令和数据硬件预取以降低缺失代价或缺失率将Cache的预取算法发展到多个流缓冲区中。例如Pentium4能从8个分别来自不同的4KB页面的流中,预取数据到二级Cache。,11编译控制预取降低缺失代价或缺失率此法利用编译器来插入预取指令,提前发出数据请求。有寄存器预取(把数据与渠道寄存器中)和Cache预取(只把数据预取到Cache中)两种方式。目前大多数处理器采用非故障性Cache预取技术。当然编译控制预取的目的是使指令执行和预取数据能够重叠进行,循环程序就很适宜预取优化。然而生成预取指令会带来指令的开销,因此应谨慎使用以保证开销在可接受的范围内。,Cache-主存-磁盘三级存储系统组织方式1)两个存储系统组织方式Cache-主存存储系统和主存-磁盘存储系统,CPU,MMU,Cache,主存储器,数据或指令,数据或指令,虚拟地址,物理地址,物理地址,存储管理部件,能将虚拟地址变换为主存物理地址,若未命中Cache,则访问主存,块替换,3.4三级存储系统,2)一个存储系统组织方式Cache-主存-磁盘存储系统,CPU,MMU,Cache,主存储器,3)全Cache系统Cache-磁盘存储系统(无主存储器)在嵌入式系统中较多应用。,3.5并行存储器,3.5.1存储器的频带平衡,3.5.2并行存储器,3.5.1存储器的频带平衡,计算机运行中至少有4种访问源,即访存取指令、访存取操作数、访存写结果,I/O设备也要与主存交换数据。如何让存储器访问速度跟得上系统的需要,一直是设计者关注的问题。现代计算机普遍采用指令并行技术,对存储器的频带宽度提出了更高的要求。存储器的频带:访问源对存储器访问的速度,用MW/S(百万字每秒)或MB/S(百万字节每秒)表示存储器频带宽度的计算:各访问源的频带之和存储器的频带平衡:存储器速度与系统需要相适应,3.5.1存储器的频带平衡,例如,设一台计算机的执行速度为200MIPs(2亿指令/秒),要求:CPU取指令速度为200MW/S(设每条指令的长度为一个字);CPU取/存操作数速度为400MW/S(平均每条指令访问周期2个操作数);各种I/O设备访问存贮器速度为5MW/S;可求得存贮器的总频宽应为605MW/S,即要求访存周期T16.5ns。目前DRAM的访存周期是达不到这一要求的。,解决存储器频带平衡的三条途径:并行存储器缓冲存储器Cache存储系统,3.5.2并行存储器,并行存储器:多个独立的存储器并行工作,同一存储周期内可访问多个数据。有三种并行存储器:1单体多字并行存储器2交叉访问存储器3无冲突访问存储器,1单体多字并行存储器,原理:增加存储器字长,实现同时读写多个字原mw字改为m/nnw字m:存储单元数,w:字长访问方法:地址码高位访问存储单元,低位控制多路选择器选择其中数据,一般存储器访问,设存储器为1MB,每字8位即220字8位数据寄存器MBR为8位地址寄存器MAR为20位,单体多字并行存储器访问,设存储器为1MB,每字64位即220/8字88位=217字64位数据寄存器MBR为8个字节地址寄存器MAR若仍为20位,则MAR高17位选字MAR低3位控制多路选择器8中选1,并行访问寄存器分析,主要优点:简单容易主要缺点:访问的冲突大取指令冲突(例如转移时同时读出的指令,后面的指令将可能无用):概率小读操作数冲突(同时读出的数据不一定都有用):概率大写数据冲突。(只写1个或2个字节时需读出再写入,需专门控制)读写冲突(读写同一个存储字内的内容无法在同一周期内完成,需专门控制)原因:只有一套地址寄存器和控制逻辑,如果每个存储体都有独立的地址寄存器和控制逻辑,即由多个存储体组成存储器,显然,没有写数据冲突和读写冲突,其它冲突也会缓解。这时,对存储器的访问通常采用交叉方式。,2交叉访问存储器,主存储器由多个模块构成。假设主存储器包含m=2a个存储器模块,每个模块包含w=2b个存储单元(字),则总存储容量为字地址位数为a+b,两种组织方式交叉访问的存储器可以分为两种:(1)高位交叉方式(2)低位交叉方式,1)高位交叉访问存储器存储器地址的高a位作为存储器模块地址,邻接的存储器单元被分配在同一个存储器模块中,在每个存储器周期内,只能对各模块存取一个字。所以不支持邻接单元的成块存取。高位n路交叉存取如下图:,各个存储模块有独立的控制部件,地址码高位指示存储体号,地址码低位是各存储体的体内地址(高位译码选体)设:m:存储体容量n:存储体个数j:体内地址0m-1k:存储体体号0n-1存储单元地址A=mk+j若已知A,则存储体体内地址:Aj=Amodm存储体体号:对多任务多用户,可提高访问速度,对单任务可扩大容量,向下取整,2)低位交叉访问存储器存储器地址的低a位用来指明存储器模块,高b位是每个模块内的字地址。低位n路交叉存取如下图:,字地址译码器,各个存储模块有独立的控制部件,地址码低位指示存储体号,地址码高位是各存储体的体内地址(低位译码选体)存储单元地址:A=nj+k存储体体内地址:存储体体号:Ak=Amodn,向下取整,如8路交叉,n=8,m=8,a=b=3,8路低位交叉存取如下图:,分时启动,启动间隔Tm:存储体访问周期低位交叉以流水线方式支持成块存取,低位交叉流水线方式示意图:,时间,Tm为主周期,t=Tm/n为小周期,n为交叉存取度,低位交叉访问有可能将速度提高n倍,实际上低于n,因为存在访问冲突,低位交叉访问存储器访问冲突分析,设每个存储周期只能取到k个有效字(k=1n),p(k)是k的概率密度函数,N是k的平均值,又称并行存储器的加速比,g为程序的转移概率,则:,讨论:1)g=0即不发生转移,N=n2)g=1即每条指令都是转移指令且转移成功,N=1,同单个存储体结论:必须把并行和交叉访存与Cache存储系统配合起来才能组成高速主存,3无冲突访问存储器(略),产生冲突的原因:程序转移和数据的随机性一种解决方法:主存储器的存储体个数为质数,3.6RAID系统,在服务器中为了提高磁盘存储器的容量和机器可靠性,通常采用磁盘阵列(DiskArray),或者称为独立冗余磁盘阵列(RAID,RedundantArrayofIndependentDisks)。RAID系统采用多个低成本硬盘,以阵列形式排列,能够提供一个独立的大型存储设备解决方案。它将数据分散展开在多台磁盘上进行并行的读写操作,类似于存储器中的宽字存储器和多体交叉技术,提高了数据传输的带宽和磁盘操作的处理能力。RAID系统具有容量大、数据传输率高、可靠性高、数据安全,易于磁盘管理等优点。,3.6RAID系统,RAID的关键技术是对多台磁盘机进行数据的同步控制,包括使用缓冲器使数据同步,采用冗余技术提高可靠性。RAID技术经过不断的发展,现在已拥有了从RAID0到RAID6七种基本的RAID级别。不同RAID级别代表着不同的存储性能、数据安全性和存储成本。,(1)RAID0:非冗余的磁盘阵列RAID0是把N块同样的硬盘用硬件的形式通过磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍地提高硬盘的容量。此方式成本低、效率高。RAID0没有提供冗余或错误修复能力,其最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。,(1)RAID0:非冗余的磁盘阵列RAID0的另一种模式是在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的N块硬盘中同时进行读写。N块硬盘的并行操作使同一时间内磁盘读写的速度提升了N倍。但是频繁进行读写操作时,很容易使控制器或总线的负荷超载。可增加磁盘控制器。最好每一块硬盘都配备一个专门的磁盘控制器。RAID0一般用于要求容量大但对数据安全性要求不高的情况。,(2)RAID1:镜像磁盘冗余阵列磁盘镜像的原理是数据在写入一块磁盘的同时,会在另一块配对的磁盘上生成镜像文件。这种磁盘配对有主从式结构,数据优先读写主盘,再读写备份盘;也有对等式结构。这两种方式都能使一个盘读/写时,另一个盘作校验工作。这就在不影响性能情况下,最大限度地保证系统的可靠性和可修复性。当然,成本也会明显增加,磁盘利用率为50%。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID1多用在保存关键性的重要数据的场合。,(3)RAID2:采用海明码纠错冗余的磁盘阵列它将数据按位交叉,分别写入不同的磁盘中,成倍提高了数据传输率。阵列中专门设置了几个磁盘存放海明码纠错信息,访问时进行按位的出错校验。它比镜像磁盘阵列的冗余度小,但增加了海明码的编码和解码开销,一般适合于大量顺序数据访问。,(4)RAID3:采用奇偶校验冗余的磁盘阵列它也采用数据按位交叉,使用一个专门的磁盘用于存储其他n个磁盘上对应字节的异或(XOR),这个第n1个磁盘被称为奇偶盘。如果任何一个磁盘发生了故障,可以通过对其他磁盘上的对应位执行异或来重构故障磁盘的每一位。这种阵列冗余度小,特别是磁盘较多时。RAID3所存在的最大一个不足是校验盘很容易成为整个系统的瓶颈。对于那些经常需要执行大量写入操作的应用来说,校验盘的负载将会很大。因此,RAID3更适合于那些写操作较少、读操作较多的应用环境,例如数据库和WEB服务器等。,(5)RAID4:独立传送磁盘阵列与RAID3不同之处是它将数据按块而不是按位交叉存储在多个磁盘上,且校验数据以块为单位存放在一个校验盘上。在数据不冲突时,多个磁盘可并行独立读/写。和RAID3一样,校验盘为整个系统的瓶颈。而且对于只写一个磁盘的少量数据访问操作,校验数据的计算需要根据原数据计算出差值,这需要对磁盘上的原数据进行读操作,再读取校验盘上数据,然后将数据写入数据盘,并计算出新的校验数据,最后写入校验盘,需要4次访问磁盘的操作。因此虽然RAID4适合于小块数据的读/写,但用得较少。,(6)RAID5:另一种独立传送磁盘阵列它与RAID4一样采用数据按块交叉存储,这种拆分方式对某些应用来说可能更加高效。例如,如果有很多并发执行的事务,每个事务需要读取数据的一段,则可以并行地满足这些数据读取请求。但与RAID4不同的是,奇偶校验信息本身被拆分并依次存储在每个盘上,避免了把所有奇偶信息存储在一个独立的奇偶盘上而导致的瓶颈。RAID5的冗余度小,这种方式也适合于小块数据的读/写,但对控制器要求较高。,(7)RAID6:高效容错的磁盘阵列该阵列采用两级数据冗余和新的数据编码以解决数据恢复问题,其最大特点是能实现两个磁盘容错,即有两个磁盘出故障时仍能正常工作。在进行写操作时,RAID6分别进行两个独立的校验核算,形成两个独立的冗余数据,写入两个磁盘。比如在Intel的80333IOP芯片中,有一种称为P+Q的冗余技术,采用两种不同分组大小的“Reed-Solomon”循环码编码,可以在两个磁盘同时出故障时恢复数据。校验数据还可以采用二维的算法,将数据组织成矩阵格式后,分别按行按列计算,生成冗余数据。,另外,还有一些基本RAID级别的组合形式,如RAID10、RAID0+1、RAID50等。RAID10是先组织成镜像备份的RAID1,再将两个RAID1组织成扩展容量的RAID0。RAID0+1则先组织成RAID0,再组成RAID1。RAID0+1在具有RAID0的高性能的同时也具有RAID1的冗余和镜像能力。RAID10模式同RAID0+1模式一样具有良好的数据传输性能,但却比RAID0+1具有更高的可靠性。它们的磁盘利用率都为50,且至少由4个硬盘驱动器构成。,RAID系统中的关键部件是RAID控制器,它根据主机的访问要求将数据读/写操作分解成多个磁盘的操作。目前,RAID控制器只对数据进行拆分、磁盘容错管理和校验,并不对数据请求事务进行合并、调度和优化处理。这些工作由操作系统完成。RAID只进行先来先服务的操作方式。RAID通常采用嵌入式固件方式实现。RAID系统实现了将多个物理磁盘构成一个逻辑上统一的虚拟磁盘存储系统。其原理是将磁盘的扇区地址映射为一个与物理位置无关的线性逻辑块地址,这个工作由RAID控制器担任。这样,软件上就可以以“卷”为单位对磁盘空间进行管理。,RAID技术早期被用于高级服务器内应用SCSI接口的硬盘系统中。随着近年PC机的CPU速度进入GHz时代,IDE接口的硬盘也相继推出了ATA66和ATA100硬盘。这就使得RAID技术被应用于中低档甚至个人PC机上成为可能。RAID通常是由在硬盘阵列中的RAID控制器或电脑中的RAID卡来实现的。,3.7存储域网络(SAN),数据管理的实质是存储管理,完善的存储策略既要全面支持现有社会环境中开放式多平台存储环境,又要应付当今业务应用中数据的飞速增长。这就要求存储管理创建一种独立于LAN、统一的、扩展性很好的存储架构,存储域网络(SAN,Storage-areanetwork)就应运而生。SAN通常是由服务器、存储设备(磁带机、磁盘阵列、CD-ROM库等)、交换机及光纤通道连接而成的存储网络。利用光纤通道,主机可以通过SCSI与存储设备对话。目前,光纤通道支持的数据传输速率已达到千兆位及以上带宽。,分布式SAN可以把多台不同的服务器与多台存储设备连接起来。在SAN中,不同平台的服务器可以对多个存储设备进行存储;存储设备之间也可以不通过服务器而相互备份。SAN使得存储设备不再附属于某个服务器,而是直接联到网络上,形成存储域网络,从而减少对服务器CPU的占用,提高了存储效率。SAN采用后端的网络连接存储,服务器通过光纤通道与存储接口而不是网络接口与存储设备互连。这个网络可以是共享式网络,也可以是交换式网络。在SAN的存储模式中,存储资源的动态分配,空闲资源的回收和再分配操作不会影响主机应用程序的运行。主机系统可以使用多重路径来连接同一个存储设备以避免单点故障。,客户机与服务器组成的局域网(LAN)属于前端网络,在这个面向客户的前端网络中,每个服务器可以在它所在的LAN中为客户端提供服务。在SAN的后端网络中有一个主动合并部件,可实现数据合并和统一的数据备份和检索,并保证数据的完整性和可靠性。,SAN在扩大共享存储空间的同时,还实现了文件系统的虚拟化。它基于存储系统的虚拟化,以数据块为单位跨越整个存储网络构成分布式虚拟存储空间,从而建立起全局的分布式文件系统,或者代理文件系统。这种虚拟化的文件系统将访问不同文件系统中的远程数据时面临的复杂性与用户和应用程序隔离开来。所有的用户和应用程序都不必处理位于不同服务器上的不同类型文件系统,可以像位于一个文件系统中那样访问数据,使得分布式存储网络看上去如同本地的一个文件系统。文件系统的虚拟化通常采用软件方式,由主机操作系统下的逻辑卷管理软件来实现。,SAN具有高带宽、模块化的可伸缩性、高可用性、故障修复、存储合并、集中管理和总体拥有成本低等优点,是当前网络存储的主要发展技术。SAN的实现和发展可以分为三个阶段。第一阶段是连接。这一阶段的任务是把不同平台的服务器与各种存储设备相连,使用户可以点对点地通过光纤通道共享存储设备。第二阶段是统一管理。在SAN中,利用集中统一的存储管理软件、自动监视、报告并调整网上的存储资源。由于存储可以集中统一的管理,使得存储系统具有更强的灵活性,并降低系统的管理成本。第三阶段是存储资源的充分利用。这一阶段要建立起磁盘存储池或磁带存储池,利用智能技术,实现跨平台的数据存储、设备共享、数据共享。,SAN系统是一个综合系统,包括存储基础网络的硬件和支撑软件,也包括存储设备、用于管理存储设备的服务器及存储管理软件等部分。今后的SAN系统在整体上将变得更加统一、协调,但在体系结构上严格的分层隔离。这样,SAN应用系统将只关注于应用层的逻辑实体,运行在由系统层和物理层提供的平台上,而不必关心底层物理设备的具体实现方式;同理,在虚拟化技术的支持下,系统层也只关注于相应的虚拟实体(系统对象模型),通过更低层的设备支撑管理软件对物理层的设备、网络进行监控和配置,管理设备的变更,收集系统运行信息并进行综合统计,实时调整和优化系统。而底层的物理设备与设备支撑管理软件也应该以一种“即插即用”的方式嵌入到系统层中来实现它的功能。,当前SAN尚未发展成熟,各种接口标准尚未统一或还在制订中。有关多个SAN跨平台资源整合,分层管理的数据安全性可靠性,支持模块化和多协议,刀片化集成以及引入专家系统智能化管理等问题尚需进一步研究和解决。,第3章小结,1一个存储器的性能通常有三个主要参数:容量、价格和速度。所谓存储系统,是指多个性能各不相同的存储器用硬件或软件方法连接成一个系统。这个系统对应用程序员透明。在应用程序员看来,它是一个存储器,其速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。计算机的存储系统包括高速缓存器(Cache)、主存和外部存储器,形成一个层次化的存储结构,包括以Cache和主存构成的Cache存储系统与以主存和磁盘存储器构成的虚拟存储系统。如何提高命中率,如何缓和存储器之间的速度级差,一直是存储系统改进的重点。,2虚拟存储器由主存和联机工作的外存共同组成。主存常用DRAM实现,联机外存通常是磁盘存储器。应用虚拟存储器的主要目的是解决内存容量不够的问题,对于应用程序员来说,他面对的是一个单一的容量比物理主存大得多的具有整个虚拟空间的存储器。虚拟存储器的建立和管理主要基于软件,因此对系统程序员是不透明的。虚拟存储器的地址空间有三种:虚地址空间、主存地址空间和辅存地址空间。段式虚存按程序段访问,最大优点是程序的模块化性能好,主要缺点是地址变换费时,主存利用率低及对辅存管理较为困难。,页式虚存按固定大小的页访问,主要优点是主存利用率高、页表简单、地址映象与变换速度较快和对辅存管理比较容易。主要缺点是程序的模块化性能不好,页表可能会很长。段页式虚拟存储器综合段式模块性好和页式主存利用率高的优点,把实存分为固定大小的页,程序按模块分段,每个段又分成与实存页面大小一样的页。段页式虚存具有程序的模块化较好、主存利用率较高和对辅存管理容易的优点,但也带来查表速度问题。,对虚存的改进主要有:用多级页表解决页表容量大的问题,采用目录表、快慢表、散列函数等方法加快地址变换过程。判断页面替换算法的主要标准有两个,一是命中率要高,二是算法容易实现。替换的主要依据是程序访问的局部性。常见的页面替换算法有:随机算法、先进先出算法FIFO、近期最少使用算法LRU和最优替换算法OPT。其中LRU算法较合理,也较易实现,被广泛采用。OPT法是理想算法,常用于做替换算法的比较基准。LRU、OPT法属于堆栈型替换算法。影响主存命中率的主要因素有:程序执行中的页地址流分布,由程序本身决定;所采用的页面替换算法,如采用LRU替换算法较优越;页面大小,存在最佳值;主存容量,要有足够大;所采用的页面调度方法。,3高速缓冲存储器(Cache)系统由高速、小容量的Cache和主存共同组成。Cache以块为单位访存。Cache的地址映象与变换方法主要有全相联映象关系、直接映象方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论