资源预览内容
第1页 / 共266页
第2页 / 共266页
第3页 / 共266页
第4页 / 共266页
第5页 / 共266页
第6页 / 共266页
第7页 / 共266页
第8页 / 共266页
第9页 / 共266页
第10页 / 共266页
亲,该文档总共266页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3章 存储器体系结构内容提要:随着计算机和微电子技术的发展,存储器无论是其器件还是体系结构都发生了很大的变化。本章首先介绍存储器层次结构、性能参数、多体并行存储器及磁盘阵列的基本概念与组成方式,然后讲述高速缓冲存储器Cache的组成与工作原理、虚拟存储器的构成与管理方式以及存储器保护措施。重点是存储器性能参数、多体并行存储器、磁盘阵列的组成方式、Cache的组成原理与地址映象、Cache的置换策略与主存更新、虚拟存储器组成与管理方式。难点是Cache的地址映象、Cache的置换策略与主存更新、虚拟存储器的组成与段页式管理。第3章 存储器体系结构3.1 概 述3.2 高速缓冲存储器Cache3.3 虚拟存储器3.4 存储器保护措施3.1 概 述3.1.1 存储器的层次结构3.1.2 基本概念与性能参数3.1.3 多体并行存储器3.1.4 磁盘阵列3.1.1 存储器的层次结构 存储器是计算机的主要部件之一,其容量、速度、价格是存储器设计时所要考虑的三个要素。近年来出现了许多种类型的存储器,它们各有特色,有的速度快,但容量小;有的容量大,但速度慢。一般而言,速度快的存储器容量小,位价格高。目前,存储器按照存储介质可分为半导体存储器、磁表面存储器和光存储器等。其中半导体存储器容量小,速度快,位价格高,常用作主存。磁表面存储器有磁盘和磁带,属于非易失存储器,容量大,位价格低,信息可以长久保存。光存储器容量也很大,位价格也很低,信息也可以长久保存。1.存储器访问中的局部性原理 研究发现,程序在运行的过程中(8090)%时间是在执行(1020)%的程序代码,即局部性原理。表现为两个方面。(1)时间局部性:如果一个存储项被访问,则该存储项可能很快再次被访问。(2)空间局部性:如果一个存储项被访问,则该项及其相邻项可能很快被一起访问.形成这种局部性的原因在于程序的顺序执行和所包含的循环程序。2.存储器的层次结构 为满足CPU对高速大容量存储器的需求,又不过高地增加成本。无论是巨型机、大型机、中小型还是微型计算机,都采用层次化的存储器体系结构,其表示如图3.1所示。图3.1 多层存储器结构 寄存器一般与CPU制作在一起,其速度与CPU一致,但数量有限。高速缓冲存储器(Cache)一般由双极型器件构成,容量小,界于CPU和主存储器之间,速度与CPU匹配,用来存放(1020)%的常用程序或数据。主存多由半导体存储器构成,与CPU直接连接,容量较大。外存由非易失的存储器构成,容量很大,有时也称为海量存储器,用来存储暂不执行的程序或不被处理的数据。3.1.2 基本概念与性能参数1.基本概念 在CPU工作时,首先从Cache中读取指令或数据。如果能从Cache获得指令或数据,称为命中(Hit);否则称为未命中或者失效(Miss),这时需要访问主存,从主存中获取指令或数据,同时传送到上层的Cache中。若在主存中未能获取指令或数据,则称访问主存失效或未命中,这时再去访问外存。一般情况下,上层所存储的信息是下层存储器中的一个子集,或者说是下层的映像。在Cache与主存之间传送信息,常以块或者页为单位;在主存与外存之间常以文件为单位。为了说明各层之间的关系和一些基本概念,下面以图3.2为例进行说明。图3.2 存储器层次关系 图中Mi表示不同的存储器,靠近CPU的(M1)速度快,容量小,位价格高;远离CPU的(Mn)速度慢,容量大,位价格低。若以Si、Ci、Ti分别表示存储器Mi的容量、位价格和访问时间,则:SiSi+1CiCi+1TiTi+1 根据时间局部性,Mi级存储器一般只存放Mi+1级中近期使用过的数据块或页;根据空间局部性,在从Mi+1级存储器读取一个字并送往Mi级时,一般把该字所在的块或页整体送往Mi级,以提高CPU访问Mi级时的命中率。2.性能参数 常用参数有4个,即命中率、等效访问时间、平均位价格和访问效率,分别用H、T、C和e表示。(1)命中率H 通常是把在Mi级访问成功的概率称为该级的命中率,用H来表示,一般用模拟的方法来确定,即测试程序,分别统计出访问成功的次数N1和不成功的次数N2,则命中率为:H=N1N1+N2若用F表示失效率或未命中率,则F=1-H (2)等效访问时间T 等效访问时间也称为访问周期。以主存-辅存二级存储器系统为例,T1表示访问M1成功所用的时间(即一个读/写周期);Tm表示访问失效所用的时间,它不仅是访问M2所用的时间T2,而且要从M2中读出一个数据块(或页)送入M1,再从M1中读出所需要的字,因此Tm应当包括这一过程的全部时间。这样,主存-辅存构成的二级存储器系统的等效访问时间为:T=HT1+(1-H)Tm (3.1)当命中率H近似于1时,等效访问时间近似于T1。但是,由于在上一级存储器中访问的命中率一般都很高,为了简单起见常用访问M2的时间T2来代替Tm。这样 T=HT1+(1-H)T2 对于上述二级存储器,访问效率可表示如下:(3.4)(3.3)(4)访问效率CC1S1+C2S2S1+S2e=T1T=T1HT1+(1-H)Tm1H+(1-H)Tm/T1(3)平均位价格 对于二级存储器系统,若用C1和S1表示M1的位价格和容量,C2和S2表示M2的位价格和容量,则平均位价格为:【例3.1】设有某台计算机是由高速缓冲存储器Cache与主存构成二级存储器系统,其中Cache的存取周期T1=50nS,主存的存取周期T2=400nS,访问Cache的命中率为98%。试问该存储器系统的等效访存时间T是多少?访问效率是多少?解:已知T1=50nS,T2=400nS,命中率H=0.98,使用简单算式得:T=HT1+(1-H)T2=0.9850+(1-0.98)400=57nS e=T1/T=50/570.8773.1.3 多体并行存储器 为使存储器的速度能适应CPU的需求,已形成不同的体系结构。主要有以下几种:(1)单体单字存储器 是最早的一种结构形式,一个存储体,一个地址对应一个字(或字节),字的位数与数据线的宽度相同,每访问一次存储器,可读/写一个字(或字节)。(2)单体多字存储器 是一种单体单字存储器的一种改进结构,数据线的宽度是存储器单元字(或字节)长的整倍数。每访问可同时读/写多个字(或字节),提高了访存速度,即支持猝发传送方式。(3)多体单字交叉存储器 存储器由多个存储体构成,每个存储体中的字(字节)长与数据线相同,每次访问仅读/写一个字(或字节)。数据存储的方式有两种,一种是按存储体连续存放;另一种是把连续数据交叉存放在各个存储体中。多个存储体可按流水线的方式启动,有利于提高整体速度,支持多处理机系统。(4)多体多字交叉存储器 存储器也是由多个存储体构成。但是数据线是每一个存储体字(或字节)长的整倍数,每访问一次存储器,可同时读/写多个字(或字节)。多个存储体按流水线的方式启动,提高了存储器的整体速度,支持猝发传送方式,支持多处理机系统。1.高位地址交叉多体存储器 高位地址交叉多体存储器的逻辑结构如图3.3所示,体内地址连续,设有n位,容量为2n。若总体地址有m位,其高位地址经译码,选择某一存储体。存储体的个数最多有2m-n个,通过对m-n位的高位地址译码选择不同的存储体。图3.3 高位地址交叉多体存储器的逻辑结构图图3.4 低位地址交叉多体存储器的逻辑结构图2.低位地址交叉多体存储器 低位地址交叉多体存储器如图3.4所示,用低位地址译码选择不同的存储体,而高位地址用于内部寻址。若总体地址有m位,低位地址有n位,则可连接2n个存储体,体内地址空间为2m-n。若设存储器的字存取周期为t0,由k个子周期组成,即t0=k。如果使用k个存储体交叉存储,再按时间依次启动k个存储体,则构成流水线存取方式,其示意如图3.5所示,其中k=4。图3.5 多体交叉存储体流水线读/写操作示意 从整体上看,提高了存取速度,在访问存储器不冲突的情况下,3之后每隔时间就可读/写一个字。连续读/写k个字需要的时间为t0+(k-1);顺序读/写需要的时间为kt0。显然,在不发生访问冲突时按流水线访问,其带宽是单体存储器的k倍。3.1.4 磁盘阵列 1.磁盘 磁盘以其大容量、低成本、工作稳定可靠和存储信息的非易失性等特点,一直是各类计算机必不可少的外部辅助存储器。按照载体,分为硬盘和软盘;按照尺寸,常见的有14吋、10.8吋、5.25吋、3.5吋、2.5吋、1.8吋和1.3吋等。除了尺寸和结构之外,衡量磁盘性能的技术指标主要有以下6条。(1)记录密度 磁盘信息是记录在磁头掠过的同心圆上,分为道密度、位密度和面密度。显然:面密度=道密度位密度。过去,硬盘的道密度多在1257r/i之上,位密度多在23980b/i之上,面密度在100Mb/i2之上。现在,面密度已经达到1020Gb/i2。且面密度每经1.5年翻一番。(2)存储容量 磁盘在出厂时已经格式化,早期每个扇区记录512个字节的数据。因此:硬盘容量=柱面数磁头数(扇区数/道)512B现在,每一个扇区记录的字节数远不止512个字节,已有1KB、2KB、4KB和8KB等多种字节数。【例3.2】已知Quantum的LSP 540AT硬盘机有1120个柱面、16个磁头,每道59个扇区,试求总的容量。解:在硬盘中,柱面数对应的是每面的磁道数,磁头数对应的是盘面数,若设每个扇区记录512个字节,则:总容量=11201659512B=541 327 360B54MB目前,硬盘的容量已经达到几百GB甚至几TB以上。上述方式是在每一条磁道上记录相同的数据位,显然内道信息密度大,外道信息密度小。目前已有改进,即把盘面上的若干条相邻磁道分为一组,称为分带记录。每一个记录带内的各条磁道有相同的扇区数,各分带之间的磁道扇区数不同,靠近内部的分带磁道扇区数小,靠近外部的分带磁道扇区数大。(3)平均寻道时间是指磁头定位到所要寻找的磁道上时所用的时间,常以磁头沿半径方向运动一半所用的时间来表示。过去一般在8.5mS左右,现在可减小到4.2mS。(4)旋转延迟时间 是指磁头定位到所要找的扇区所用的时间,常以磁头沿周长运动1/2周所用的时间。目前多采用的7200r/min的磁盘机,旋转延迟时间为4.17mS。对于10000r/min和15000r/min的磁盘机,旋转延迟时间仅为3mS和2mS。(5)传输时间 是指数据传输所用的时间,它不仅与电机的转速、数据长度有关,而且与磁盘接口电路板有关。目前,常以传输率来表示,比如100MBps、200MBps等。(6)控制延迟时间 是指磁盘控制器从收到读/写磁盘命令到启动磁头移动所用的时间,主要由磁盘接口电路板决定。综上所述,访问磁盘数据的时间是寻道时间、旋转延迟时间、控制延迟时间和传输时间之和。【例3.3】设有一个磁盘,其平均寻道时间为5ms,传输率为10MBps,控制开销为2ms,驱动电机的转速为7200r/min,求读/写一个512字节的扇区所用的时间。解:根据题意:平均寻道时间为5ms,传送512字节数据的传输时间为512/10=51.2s,旋转延迟时间为 60/72000.5=4.17ms,控制延迟时间为2ms,则读/写一个512字节的扇区所用的时间为:5ms+51.2s+4.17ms+2ms=11.22ms。2.磁盘阵列的概念在外部辅助存储器中磁盘阵列引人注目,全称廉价冗余磁盘阵列RAID(Redundant arrays of inexpensive disk),是由多台低成本的小型磁盘构成同步化的磁盘阵列,数据展开存放在多台磁盘上,既可提高数据传输的带宽,又可利用冗余技术提高可靠性,类似于存储器多体交叉存储。而且容量大,数据传输率高,功耗低,体积小,成本低,便于维护。其关键技术是多台磁盘的同步控制,其逻辑框图如图3.6所示。其中控制处理器由微处理器构成,是磁盘阵列的控制中心,它接收和分析主机的操作命令,调度和管理磁盘阵列通路,控制设备命令的执行。数据通路是在控制处理器的控制下,实现数据的分配,集中,缓冲,奇/偶校验,数据校正和通道重构等操作。图3.6 磁盘阵
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号