大学计算机基础(第二版)
上QQ阅读APP看书,第一时间看更新

2.2.3 存储器

1.存储器的基本概念

存储器是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。计算机系统中的存储器不是由单一器件或单一装置构成,而是由不同材料、不同特性、不同管理方式的存储器类型构成的一个存储器系统。

2.存储器的单元和地址

构成存储器的存储介质,目前主要采用半导体器件和磁性材料。存储器中最小的存储单位是存储元,它可存储一位二进制代码0或1。任何具有两个稳定状态(双稳态)的物理器件都可以用作存储元,如一个双稳态半导体电路或一个CMOS晶体管或磁性材料的正负极。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。

(1)存储单元

在存储器中有大量的存储元,把它们按相同的位划分为组,组内所有的存储元同时进行读出或写入操作,这样的一组存储元称为一个存储单元。存储单元是CPU访问存储器的基本单位。一般地,存储器以8位二进制组成基本存储单元,称为“字节”。以字节为单位组成的可以被CPU一次存取或运行的最长数据长度称为“字长”(Word Length)。计算机的“字长”一般为字节的整数倍,用来描述CPU的数据存取能力。如32位机器,就是指CPU一次从存储器中存取的数据长度是32位。

(2)存储器地址

无论CPU数据处理的长度是多少,在存储器系统中,存储单元都是以字节为单位进行存储组织的,即每个存储单元可存放一个字节。每个存储单元在存储器的位置都有一个唯一的编号,该编号称为存储单元的地址。存储单元的地址在计算机内部用二进制编码表示,在书写时可以用十六进制或十进制表示,如图2-5所示。

图2-5 主存储器的结构

CPU根据存储单元的编号对存储单元的内容即数据进行存取操作。要注意的是,存储单元的地址和地址中的内容两者是不一样的。前者是存储单元的编号,表示存储器总的一个位置,而后者表示这个位置中存放的数据。例如,同一个建筑物具有许多大小相同的房间,把这个建筑物比作存储器,每个房间就是一个存储单元,每个房间号就是存储单元的地址,房间里面存放的物品就是存储单元的内容。

(3)存储容量

一个存储器中所有存储单元可存放数据的总和称为存储器的存储容量。以32位机器为例,其存储器的内存地址由32位二进制数(0~232-1)组成,每个存储单元存放一个字节,其总存储容量为4GB(232=4×230)。容量的常用单位有KB、MB、GB等。

3.存储器的结构和种类

计算机技术的发展使存储器的地位不断得到提升,计算机系统由最初的以运算器为核心逐渐转变成以存储器为核心。这就对存储器技术提出了更高的要求,不仅要求存储器具有更高的性能,而且能通过硬件、软件或软硬件结合的方式将不同类型的存储器组合在一起来获得更高的性价比,这就是存储器系统。

(1)存储器系统的层次结构

为了提高计算机系统的性能,要求存储器具有尽可能高的存取速度、尽可能大的存储容量和尽可能低的价格。但是,这3个性能指标是相互矛盾的。为了获得更高的性价比,就形成了存储器系统的层次结构。

按照与CPU的接近程度,存储器分为内存储器与外存储器,简称内存与外存。内存储器又常称为主存储器(简称主存),属于主机的组成部分;外存储器又常称为辅助存储器(简称辅存),属于外围设备。CPU不能像访问内存那样直接访问外存,外存要与CPU或I/O设备进行数据传输,必须通过内存进行。这种结构形式,构成存储器系统的主存-辅存结构,如图2-6所示。

计算机存储器系统的主存-辅存结构的基本工作原理:程序和数据存储在辅助存储器中,被执行的程序从辅助存储器中调入主存储器运行,运行结束后,程序和数据被重新存放回辅助存储器中。

主存速度快,容量小,价格高;辅存速度慢,容量大,价格低,因此它们之间具有极好的互补性。从经济学的角度,大量使用低成本的辅助存储器可以降低计算机的价格。主存储器和CPU直接进行数据交换。辅助存储器通过电缆与主机连接,在协调控制机构的作用下,主存和辅存交换数据。

图2-6 存储器系统的主存-辅存结构

主-辅存储器结构解决了程序的执行和存放的问题。从计算机执行程序的角度看,主存空间越大越有利于程序的快速执行。但从性能和价格方面综合考虑,往往速度快的存储器价格不菲,因此需要在容量和速度之间寻找二者矛盾的解决方法。

为解决内存容量和速度之间的矛盾,在存储器系统中,采取多个层次结构,即相对少量的寄存器、中等数量的高速缓冲存储器(Cache)和相对低速的较大容量的主存储器,低速的、大容量的外部存储器作为整个存储器系统的辅助存储器,如图2-7所示。

图2-7 存储器系统的层次结构

存储器系统采用层次结构的主要原因是:第一,合理解决速度与成本的矛盾,以得到较高的性能价格比。半导体存储器速度快,但价格高,容量不宜做得很大,因此仅用作与CPU频繁交流信息的内存储器。磁盘存储器价格较便宜,可以把容量做得很大,但存取速度较慢,因此用作存取次数较少且需存放大量程序、原始数据(许多程序和数据是暂时不参加运算的)和运行结果的外存储器。计算机在执行某项任务时,仅将与此有关的程序和原始数据从磁盘上调入容量较小的内存,通过CPU与内存进行高速的数据处理,然后将最终结果通过内存再写入磁盘。这样的配置价格适中,综合存取速度则较快。第二,为解决高速的CPU与速度相对较慢的主存之间的矛盾,还可使用Cache。使用Cache的另外一个原因就是程序执行的局部性特点。研究表明,有20%的代码(指令)在80%的CPU时间里总是重复执行。Cache采用速度很快、价格更高的半导体静态存储器(SRAM),甚至与微处理器做在一起,存放当前使用最频繁的指令和数据。当CPU从内存中读取指令与数据时,将同时访问高速缓存与主存。如果所需内容在高速缓存中,就能立即获取;如Cache中没有,再从主存中读取。高速缓存中的内容是根据实际情况及时更换的。这样,通过增加少量成本即可获得很高的速度。第三,使用磁盘作为外存,不仅价格便宜,可以把存储容量做得很大,而且在断电时它所存放的信息也不丢失,可以长久保存,且复制、携带都很方便。

(2)存储器的性能指标

存储器的性能指标较多,常用的指标主要有存储容量和存储周期。存储周期是对存储器进行一次读/写操作所需要的时间,一般使用毫秒(ms,1s=1000ms)、微秒(μs,1ms=1000μs)以及纳秒(ns,1μs=1000ns)作为单位。表2-1给出了各种存储器的主要性能参数。

表2-1 各种存储器的主要性能参数

(3)存储器的种类

存储器的类型很多,如图2-8所示,其主要原因是不同器件的存储器有着不同的特性和成本。目前使用的存储器主要有半导体存储器、磁介质存储器和光存储设备。

图2-8 存储器系统组成

4.主存储器

主存储器主要由半导体存储器组成,计算机使用内存运行程序,因此拥有大容量内存的计算机的执行速度快,执行效率高。半导体存储器有RAM和ROM两种类型。图2-9所示是典型的存储器芯片的外形。

图2-9 半导体存储器芯片

(1)RAM

RAM(Random Access Memory,随机存取存储器)是计算机主存储器系统中的主要组成部分。顾名思义,RAM数据的存取是随机发生的,用户或者程序可以随时对RAM写入数据,也可以随时从RAM读取数据。

RAM的特点是存取速度快,体积小。它的另一个特点是易失性,也就是说RAM存储的数据会由于系统断电而消失。RAM根据其保持数据的方式可以分为动态RAM(Dynamic RAM,DRAM)和静态RAM(Static RAM,SRAM)两种类型。DRAM中的存储单元类似于一个电容,要保持数据必须定时给电容充电,这个过程叫作“刷新”。SRAM的存储单元是一个具有自身维持信号不变的电路。相对于SRAM,DRAM的存取速度较慢,但价格要便宜些。

(2)ROM

ROM(Read Only Memory,只读存储器)中的数据只能被读出,而不能被写入。ROM芯片是为了存放只需要读取的数据和程序而设计的,数据和程序是在使用之前被写入的。它的特点是一旦数据被写入,即使断电也不会丢失。ROM在计算机中一个重要的应用是用来存放启动计算机所需要的BIOS(Basic Input and Output System,基本输入/输出系统)程序。因为计算机每次开机都执行相同的操作,所以BIOS程序是固定不变的,它被“固化”在ROM中。计算机每次开机加电时,首先执行的就是BIOS程序。

根据对芯片写入数据的方式不同,ROM有以下几种类型:

①PROM:可编程只读存储器(Programming ROM),这是一次性地写入存储器芯片,用户或制造商通过专门编程设备把数据存储到芯片中。

②EPROM:可擦除的可编程只读存储器(Erasable PROM),如果数据需要被改写,需要用一种紫外光设备将原数据擦除后再重新写数据。

③EEPROM:电可擦除的可编程只读存储器,它是通过施加特殊的电信号擦除原来的数据,可以对部分单元进行重新写入。

④Flash Memory:闪存,是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的固态存储器,它继承了RAM存储器速度快的优点,具备了ROM的非易失性。允许在操作中被多次擦或写的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位(区块大小一般为256KB到20MB)。闪存是电子可擦除只读存储器(EEPROM)的变种,闪存与EEPROM不同的是,EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。适合于需要存放大数据量的应用,如固态硬盘、优盘和存储卡。

5.外存

计算机外存包括磁介质(或称磁表面)存储设备、光存储设备和半导体存储设备。磁介质存储设备用磁性材料作为载体存储信息,有磁性为数据1,无磁性为数据0。由于磁介质存储器使用磁性材料的物理极化特性,因此在相当长的时间内能维持信息不变,所以它们被用来长期保存数据信息。磁盘、磁带均属于磁介质存储器。光存储设备利用激光存储和读取数据,如光盘(Compact Disc)。半导体存储设备如U盘和闪存(Flash Memory)等。

6.虚拟存储器

在具有层次结构存储器的计算机系统中,虚拟存储器(Virtual Memory)能从逻辑上为用户提供一个比物理存储容量大得多、可寻址的“主存储器”。虚拟存储器的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。它借助于磁盘扩大主存容量,使之为更大或更多的程序所使用。