第五章计算机的存储系统现代计算机采用程序控制方式工作,因此,用来存放程序的存储系统是计算机的重要组成部分。我们平常所说的存储器包括内存储器和外存储器。内存储器包括主存储器和高速缓存,外存储器即辅助存储器。主存储器简称主存,它位于主机内部。本章介绍计算机的存储系统,包括主存储器的基本组成、层次结构和工作原理,高速缓存的工作原理,以及各类外存储器。第一节存储器与存储系统概述一、存储器的作用现代计算机都是以存储器为中心的计算机,如下图所示是计算机硬件系统最简化的组成结构框图,从该图可以看出,存储器处于全机的中心地位。(1)计算机当前正在执行的程序和程序运行中所需要的数据都是存放在存储器中的,CPU中的控制部件所需的指令是从存储器中取出的,CPU中的运算部件所需的数据也是从存储器中取出的(除了少量的暂存于CPU寄存器中的原始数据、中间结果)。(2)现代计算机可以配置的输人、输出设备越来越多,数据传送速度不断加快,并且多数采用直接存储器存取(DMA)方式和输入输出通道技术,这些输入、输出设备与存储器是直接交换数据而不是通过CPU。(3)共享存储器的多处理器计算机的出现,使得可利用存储器来存放共享数据,并实现各处理器之间的通信,更加强了存储器作为整个计算机系统中心的作用。上图中所提的存储器通常是指主存储器,主存储器简称主存,但在一般叙述中,常称为内存储器(简称内存),其实内存储器应包括主存和高速缓存。作为计算机的存储系统,还应包括外存储器,现在的计算机系统都把外存储器作为计算机的基本配置。外存储器不能由CPU直接访问,它用来存放当前机器暂不运行的程序和数据。一旦机器需要存放在外存储器中的程序或数据,它可利用DMA方式把程序或数据直接传送到主存储器中,然后再由CPU去访问。由于目前CPU都是由高速器件组成的,因此大多数指令的执行速度基本上取决于主存储器的存取速度,取决于主存储器的技术发展水平。计算机整机性能是与主存储器的技术发展密切相关的。二、存储器分类按照存储元件的性能和使用方法等多种因素,存储器有各种不同的分类方法。1、按存取方式分类存储器按存取方式分类,可以分为随机存取存储器、只读存储器、顺序存取存储器和直接存取存储器4类。(1)随机存取存储器。随机存取存储器常用RAM表示,它的特点是:存储器中任何一个存储单元都能由CPU或I/O设备随机存取,且存取时间与存取单元的物理位置无关。这类存储器在一个存或取周期内只能进行一次访问,信息读取时间对任何地址都是相同的。而且,每一个字(字节)都有惟一的、直接和独立的寻址方法。随机存储器常用做主存或高速缓存。(2)只读存储器。只读存储器的特点是:存储器的内容只能读出而不能写入,常用ROM(ReadOnlyMemory)表示。这类存储器常用来存放固定不变的系统程序。作为固定存储,故又称做“固存”。这种事先写入又不能改写的ROM使用起来十分不便。后来又出现了可编程只读存储器(PROM),在制作时不写入信息,用户可根据需要写入具体要存储的内容,信息写入后就不能再改变。为了适应需要,进而出现了可擦编程只读存储器(EPROM),它可以采用紫外线等高能射线照射,抹去原存的内容,再用专用写入器,以高于使用条件的电压进行存储内容的写入。目前,广泛使用电擦除可编程的只读存储器(E2PROM),为用户方便地存入和改写内容提供了物质条件。(3)顺序存取存储器。顺序存取存储器的特点是:存储器中存储的信息(字或者记录块),完全按顺序进行存放或读出,在信息载体上没有惟一对应的地址号,访问指定信息所花费的时间和信息所在存储单元的物理位置密切相关,故称为顺序存取存储器,常用SAM表示。例如,磁带存储器就是顺序存取存储器,其信息的记录格式以记录块(或数据块)为单位再加上一些间隔和标志区,顺序地排列成若干个记录块并组成一个记录文件。当要访问某个记录块时,只能按顺序寻找目的块。因此,其存取时间长,速度慢。这种存储器的存储容量可以做得较大,位价格也低。(4)直接存取存储器。直接存取存储器的特点是:存储器的任何部位(一个字或字节、记录块等)没有实际的、连线的寻址机构,当要存取所需要的信息时,必须执行两个逻辑操作:首先,直接指向整个存储器的一个小区域(如磁盘上的磁道或磁头);然后对这一小区域像磁带那样顺序检索、记数或等待,直至找到最后的目的块(磁道上的扇区)。由于可以直接指向存储器的一个很小的局部,故称为直接存取存储器,常用DAM表示。又因后半段操作是顺序存取,故又有半顺序存储器之称。这类存储器的存取时间与信息存放的位置无关,而且,同一位置的信息在不同的时刻存取所需的时间长短也不相同。磁盘存储器就是直接存取存储器。这种存储器容量大,存取速度介于随机存储器与顺序存取存储器之间,多用做辅助存储器。顺序存取存储器和直接存取存储器又合称为串行访问存储器。2、按存储介质分类按存储介质分类,可将存储器分为半导体存储器、磁存储器和光存储器3类。(1)半导体存储器早期的半导体存储器,普遍采用典型的晶体管触发器和一些选择电路构成的存储单元。现代半导体存储器多为用大规模集成电路工艺制成的一定容量的芯片,再由若干芯片组成大容量的存储器。半导体存储器又分为双极型半导体存储器和MOS型半导体存储器。双极型半导体存储器采用TTL电路或ECL电路做存储单元,存取速度快,但功耗大,集成度低,多用做快速、小容量的存储器,如高速缓存。MOS型半导体存储器主要用做主存储器。(2)磁存储器在金属或非金属(如玻璃、塑料)基体的表面上,涂敷一层磁性材料作为记录介质,这层介质称为磁层。工作时,磁层随机体高速运动,用磁头在磁层上进行读、写操作。根据记录介质的不同形状,磁表面存储器有磁盘、磁带、磁鼓和磁卡片等结构形式。当前,广泛使用的是磁盘存储器和磁带存储器。其特点是;存储容量大,位价格低,但结构为机电组合,工艺复杂,存取速度慢,主要用做辅助存储器。在微型计算机系统中,软磁盘存储器和硬磁盘存储器是基本配置。(3)光存储器光存储器是由光盘驱动器和光盘片组成的光盘驱动系统,光存储技术是一种通过光学的方法读写数据的一种技术,它的工作原理是改变存储单元的某种性质的反射率,反射光极化方向,利用这种性质的改变来写入存储二进制数据。在读取数据时,光检测器检测出光强和极化方向等的变化,从而读出存储在光盘上的数据。由于高能量激光束可以聚焦成约0.8μm的光束,并且激光的对准精度高,因此它比硬盘等其他存储技术具有较高的存储容量。①光存储器的特点最常见的光盘(CD)能在单面上存储超过60分种的不可删除的音频信息。光存储器的制造成本低,其技术的成功认为是计算机数据存储技术上的一次革命。光存储器用激光读取存储在媒质中的数据。凹面表示1,凸面表示0。因为需要机械电气部件,所以光存储器单元比起半导体存储来读写速度慢,体积大,但它们比较便宜而且存储容量大。②几种常用的光存储器常用的光盘系统有:CD(光盘),CD-ROM(光盘只读存储器),CD-R(可刻录光盘),CD-RW(可重写光盘),DVD(数字视盘),DVD-R(可刻录DVD),DVD-RW(可重写DVD)。CD:存储数字音频信息的不可擦光盘,标标准系统采用12厘米大小,能记录连续播放60分钟以上的信息。CD-ROM:是由音频光盘(简称CD)发展而来的一种小型只读存储器,用于存储计算机数据的不可擦只读光盘。标准系统采用12厘米大小,能存储大于550M字节的容。DVD数字化视频盘:制作数字化的,压缩的视频信息以及其他大容量数字数据技术。可擦光盘:使用光技术,但容易擦去和重复写入的光盘,有3。25英寸和5。25英寸两种,容量通常用650M字节。光存储器主要应用在计算机中进行信息的存储,已经是计算机用来存储信息的一种不可缺少的器件了。3、按信息的可保存性分类按信息的可保存性分类,可将存储器分为易失性存储器和非易失性存储器。断电后,存储的信息将消失的存储器,称为易失性存储器,RAM为易失性存储器。断电后,存储的信息仍保存在存储器中,称非易失性存储器,ROM、闪速存储器(Flashmemory)和磁性材料存储器为非易失性存储器。4、按在计算机中的作用分类按在计算机中的作用分类,可将存储器分为主存储器、辅助存储器和缓冲存储器等,如下图所示。主存储器速度高,但容量较小,位价格较高。辅助存储器速度慢,容量大,价格低。缓冲存储器用于两个不同工作速度的部件之间。在交换信息过程中起缓冲作用。存储器主存储器辅助存储器缓冲存储器随机存储器双极存储器MOS存储器(静态,动态)只读存储器掩模型只读存储器可编程只读存储器可擦编程只读存储器磁盘(软盘,硬盘)存储器磁带存储器光存储器闪速存储器高速缓存三、存储器的层次结构随着计算机硬件系统和软件系统的不断发展,计算机应用领域的日益扩大,对存储器的要求也越来越高,既要求存储容量大、存取速度快,又要求成本价格低。这种要求本身是相互矛盾的,也是相互制约的,在同一存储器中难以同时满足。半导体存储器具有较快的存取速度,但存储容量却有限;磁盘和磁带存储容量大,但存取速度慢。为了发挥它们各自的优势,按照一定的体系结构有机地组合起来,则可得到下图所示的三级存储体系结构。中央处理器高速缓存主存储器辅助存储器图三级存储体系结构示意图1、主存一辅存层次在某一段时间内,中央处理器所运行的程序和数据只是整个存储系统所存信息的一部分。据此,可以把CPU所需的现行程序和数据存放在存取速度快、容量有限的半导体存储器中,供CPU直接使用,这类存储器称为“主存”或“内存”。主存必须具有和CPU相当的工作速度,才能保证整个计算机运算速度的提高。那些暂时不用或尚未用过的程序和数据则存放在容量大、存取速度慢的磁存储器或光存储器中,这类存储器称为辅助存储器,简称“辅存”或“外存”。当CPU需要执行某程序时,可以将其从辅存调入主存。主存—辅存构成的存储层次如下图所示。整个存储器层次具有接近主存的存取速度,又有辅存的容量和接近辅存地位平均价格,较好地解决了大容量和低成本的矛盾。辅存只与主存交换信息,CPU不直接访问辅存,因此,辅存的存取速度可以慢些。CPU主存辅存辅助软件及硬件图主存—辅存存储层次示意图2、主存—高速缓存层次早期计算机的主存存取速度与CPU的存取速度非常接近,如IBM704计算机,CPU的机器周期是12μs,主存的存取速度也是12μs。随着CPU制作工艺的进步,其机器速度缩短到几十ns;而主存则因容量大,寻址繁多和读写电路复杂等因素,存取速度仅能缩减到几百ns。主存的存取速度和CPU的存取速度往往差一个数量级。这样,主存的存取速度就形成了影响计算机整机速度的瓶颈。为了弥补主存速度的不足,按照局部操作(分批处理)的观念,在CPU与主存之间增加一级容量不大、速度很高的高速缓存,借助于辅助硬件把高速缓存与主存构成一个整体,如下图所示。该整体具有接近于高速缓存的速度、主存的容量,接近于主存地位平均价格,解决了速度与成本之间的矛盾。由于这个层次完全由硬件实现,不用系统辅助软件干扰,因此它对程序员来说是透明的。辅助硬件CPUCache主存图主存—高速缓存存储层次示意图高速缓存的地址空间与主存的地址空间的一部分是重叠的,高速缓存中各单元的内容与相同地址的主存的内容完全一样。因此,CPU在访问时,要把地址码同时送往高速缓存与主存。若高速缓存内有这个地址,则访问“命中”。反之,CPU则按原来访问主存一样,从主存中存取信息,这时叫做“访问失败”。因此,存储器体系结构不仅具有CPU→高速缓存→主存的数据通路,还有CPU→主存的直接通路。具有这个存储层次的计算机,事先把CPU某一小段时间内所执行的程序从主存调入高速缓存中,当CPU要执行这些程序时,就直接在高速缓存中存取,因此大大提高了CPU执行指令的速度。第二节主存储器一、主存储器的性能技术指标主存储器位于CPU直接访问的位置,由RAM和ROM组成,能快速地进行读写操作。一般容量在几十KB~几GB之间。衡量一个主存储器的性能指标主要有存储容量、存取时间、存储周期、可靠性和性能价格比等。1、存储容量在一个存储器中可以容纳的存储单元总数称为存储