3.3 存储器
存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是计算机(包括微机)硬件系统的重要组成部分,有了存储器,计算机才具有“记忆”功能,自动完成信息处理的功能。
3.3.1 存储器的分类
1. 按构成存储器的器件和存储介质分类
按构成存储器的器件和存储介质主要可分为:磁芯存储器、半导体存储器、光电存储器、磁膜、磁泡和其他磁表面存储器以及光盘存储器等。
2. 按存取方式分类
可将存储器分为随机存取存储器、只读存储器两种形式。
(1)随机存储器RAM(Random Access Memory)
指能够通过指令随机地、个别地对其中各个单元进行读/写操作的一类存储器。按照存放信息原理的不同,随机存储器又可分为静态和动态两种。静态RAM是以双稳态元件作为基本的存储单元来保存信息的,因此,其保存的信息在不断电的情况下,是不会被破坏的;而动态RAM是靠电容的充、放电原理来存放信息的,由于保存在电容上的电荷,会随着时间而泄露,因而会使得这种器件中存放的信息丢失,必须定时进行刷新。
(2)只读存储器ROM(Read-Only Memory)
指只能对其进行读操作,而不能进行写操作的一类存储器。ROM通常用来存放固定不变的程序、汉字字形库、字符及图形符号等。随着半导体技术的发展,只读存储器也出现了不同的种类,如可编程的只读存储器PROM(Programmable ROM),可擦除的可编程的只读存储器EPROM(Erasible Programmable ROM)和EEPROM(Electric Erasible Programmable ROM)以及掩膜型只读存储器MROM(Masked ROM)等,近年来发展起来的快擦型存储器(F1ash Memory)具有EEPROM的特点。
3. 按照与CPU的接近程度分类
可分为主存储器(内存)、辅助存储器(外存)、缓冲存储器等。
主存储器又称为系统的主存或者内存,位于系统主机的内部,CPU可以直接对其中的单元进行读/写操作。
缓冲存储器位于主存与CPU之间,其存取速度非常快,但存储容量更小,可用来解决存取速度与存储容量之间的矛盾,提高整个系统的运行速度。
辅存存储器又称外存,位于系统主机的外部,CPU对其进行的存/取操作,必须通过内存才能进行。
把存储器分为几个层次主要基于以下原因。
(1)合理解决速度与成本的矛盾,以得到较高的性能价格比。半导体存储器速度快,但价格高,容量不宜做得很大,因此仅用作与CPU频繁交流信息的内存储器。磁盘等介质类永久性存储器价格较便宜,可以把容量做得很大,但存取速度较慢,因此用作存取次数较少,且需存放大量程序、原始数据(许多程序和数据是暂时不参加运算的)和运行结果的外存储器。计算机在执行某项任务时,仅将与此有关的程序和原始数据从磁盘上调入容量较小的内存,通过CPU与内存进行高速的数据处理,然后将最终结果通过内存再写入外存储器。这样的配置价格适中,综合存取速度则较快。为解决高速的CPU与速度相对较慢的主存的矛盾,还可使用高速缓存。它采用速度很快、价格更高的半导体静态存储器,甚至与微处理器做在一起,存放当前使用最频繁的指令和数据。当CPU从内存中读取指令与数据时,将同时访问高速缓存与主存。如果所需内容在高速缓存中,就能立即获取;如没有,再从主存中读取。高速缓存中的内容是根据实际情况及时更换的。这样,通过增加少量成本即可获得很高的速度。
(2)使用磁盘等介质类永久性存储器作为外存,不仅价格便宜,可以把存储容量做得很大,而且在断电时它所存放的信息也不丢失,可以长久保存,且复制、携带都很方便。
3.3.2 存储器结构及寻址
一个存储器系统由以下几部分组成。
1. 存储体
存储体由一个个寄存器存储单元组成,一个寄存器单元可以存放一位二进制信息,其内部具有两个稳定的且相互对立的状态,并能够在外部对其状态进行识别和改变。不同类型的存储单元,决定了由其所组成的存储器件的类型不同。一个基本存储单元只能保存一位二进制信息,若要存放M×N个二进制信息,就需要用M×N个基本存储单元,它们按一定的规则排列起来,由这些基本存储单元所构成的阵列称为存储体。
2. 地址译码器及地址线
由于存储器系统是由许多存储单元构成的,为了加以区分,我们必须首先为这些存储单元编号,即分配给这些存储单元不同的地址。地址译码器的作用就是用来接受CPU送来的地址信号并对它进行译码,选择与此地址码相对应的存储单元,以便对该单元进行读/写操作。
3. 片选与读/写电路及控制线
片选信号用以实现芯片的选择。对于一个芯片来讲,只有当片选信号有效时,才能对其进行读/写操作。片选信号一般由地址译码器的输出及一些控制信号来形成,而读/写控制电路则用来控制对芯片的读/写操作。
4. I/O电路及数据线
I/O电路位于系统数据总线与被选中的存储单元之间,通过数据线来进行信息的读出与写入。
5. 其他外围电路
对不同类型的存储器系统,有时,还专门需要一些特殊的外围电路,如动态RAM中的预充电及刷新操作控制电路等。
下面以一个8×4 ROM为例说明存储器的寻址过程:图3-4是一个8×4 ROM集成电路片的内部电路原理图。右半部分由矩阵电路及半导体二极管组成8个4位的存储单元。二极管的位置是由制造者配置好了而不可更改的。一条横线相当于一个存储单元,而一条竖线相当于一位。所以8条横线组成8个存储单元,4条竖线成为一个4位的字。二极管连接到的竖线,则为该位置1。无二极管相连的竖线,则为该位置0。输出电信号是取自限流电阻R上的电位。为了可控,每条数据线都加一个三态输出门(E门)。这样,只有在E门为高电位时,才有可能输出此ROM中的数据。
左半部为地址译码器电路。因为是8个地址号,所以只需3条地址线:A2,A1,A0,每条地址线都并以一个非门,而得3条非线:A2,A1,A0。这6条线通过8个与门即可译成8个地址号。例如,R0的地址号为A2A1A0=000,当地址线上出现A2A1A0=000时,则R0所在的那条横线所连接的与门1将导通,而使此横线为高电位。而此时R0的4条竖线中只有最右一条接有二极管。它将横线的高电位引至下面的限流电阻R上。所以电阻R的上端出现高电位。其他3条竖线由于无二极管与R0横线相连,所以它们各自的限流电阻上无电流流过而呈现为低电平(地电位)。当E门为高电位时,数据线D3D2D1D0将送出数据为0001,其他各个存储单元也可由地址线的信号之不同而选出,并通过E门将数据输出去。
图3-4 8×4 ROM内部电路原理图