第5 章微机的存储器 本章首先以半导体存储器为对象,在讨论存储器及其基本电路、基本知识的基础上,讨 论存储芯片及其与CPU 之间的连接和扩充问题。然后,介绍内存条的技术发展以及外部 存储器。最后,简要介绍存储器系统的分层结构。 5.1 存储器的分类与组成 计算机的存储器可分为两大类:一类为内部存储器,简称内存或主存,其基本存储元件 多以半导体材料制造;另一类为外部存储器,简称外存,多以磁性材料或光学材料制造。 图5.1 半导体存储器的分类 5.1.1 半导体存储器的分类 半导体存储器的分类如图5.1所示。按使用的功能可分为两大类:随机存取存储器 (Random AccessMemory,RAM)和只读存储器(ReadOnlyMemory,ROM)。RAM 在程 序执行过程中,每个存储单元的内容根据程序的要求既可随时读出,又可随时写入,故可称 读/写存储器。它主要用来存放用户程序、原始数据、中间结果,也用来与外存交换信息和用 作堆栈等。RAM 所存储的信息在断开电源时会立即消失,是一种易失性存储器。 ROM 在程序执行过程中,对每个存储单元的原存信息,只能读出,不能写入。ROM 在断开 电源时,所存储的信息不会丢失。因此,ROM 常用来存储固定的程序,例如,微机的监控程 序、汇编程序、系统软件以及各种常数、表格等。 RAM 按工艺又可分为双极型RAM 和MOSRAM 两类,而MOSRAM 又可分为静态 (Static)和动态(Dynamic)RAM 两种。双极型RAM 的特点是存取速度快,但集成度低,功 耗大,主要用于速度要求高的位片式微机中;静态RAM 的集成度高于双极型RAM,而功耗 低于双极型RAM;动态RAM 比静态RAM 具有更高的集成度,但它是靠电路中的栅极电 容来储存信息的,由于电容器上的电荷会泄漏,因此,它需要定时进行刷新。 只读存储器(ROM)按工艺也可分为双极型和MOS 型,但一般根据信息写入的方式不 同,而分为掩模式ROM,可编程ROM(PROM)和可擦除、可再编程ROM(紫外线擦除 EPROM 与电子擦除EEPROM)等几种。 1.半导体存储器的组成 5.2 半导体存储器的组成框图如图5.它一般由存储体、读/写电路和 控制电路组成。 2所示, 地址选择电路、 图5.半导体存储器的组成框图 2 1. 存储体 存储体是存储1或0信息的电路实体,它由许多个存储单元组成,每个存储单元赋予一 个编号,称为地址单元号。而每个存储单元由若干相同的位组成,每个位需要一个存储元 件。对存储容量为1KB(1024 个单元)×8 位的存储体,其总的存储位数为: 1024×8 位=8192 位 存储器的地址用一组二进制数表示,其地址线的位数 n 与存储单元的数量 N 之间的关 系为: 2n = N 第 5 章微机的存储器 541 地址线数与存储单元数的关系如表5. 1所示。 表5.地址线数与存储单元数的关系 1 地址线数 n 3 4 … 8 9 10 11 12 13 14 15 16 存储单元数N=2n 8 16 … 256 512 1024 2048 4096 8192 1638432768 65536 存储容量8B16B … 256B 512B 1KB 2KB 4KB 8KB 16KB 32KB 64KB 2. 地址选择电路 地址选择电路包括地址码缓冲器、地址译码器等。 地址译码器用来对地址码译码。设其输入端的地址线根数为n,输出线数为 N ,则它分 别对应2n 个不同的地址码,作为对地址单元的选择线。这些输出的选择线又称字线。 地址译码方式有以下两种。 1)单译码方式(或称字结构) 单译码方式的全部地址码只用一个地址译码器电路译码,译码输出的字选择线直接选 中与地址码对应的存储单元,如图5.有A2A1、A0 这3根输入地址线,经过 2所示。图中,、 地址译码器输出8种不同编号的字线,即000 、001 、010 、011 、100 、101 、110 、111 。这8条字 线分别对应着8个不同的地址单元。该方式需要的选择线数较多,只适用于小容量的存 储器 2 。 )双译码方式(或称重合译码) 双译码方式如图5.3所示,它将地址码分为 X 与 Y 两部分,用两个译码电路分别译码。 X 向译码又称行译码,其输出线称行选择线,它选中存储矩阵中一行的所有存储单元。 Y 向译码又称列译码,其输出线称列选择线,它选中一列的所有存储单元。只有当 X 向和 Y 向的选择线同时选中那一位存储单元,才能进行读或写操作。由图可见,具有1024 个基本 单元电路的存储体排列成32×32 的矩阵,它的 X 向和 Y 向译码器各有32 根译码输出线, 共64 根。若采用单译码方式,则有1024 根译码输出线。因此,双译码方式所需要的选择线 数目较少,也简化了存储器的结构,故它适用于大容量的存储器。 图5.双译码存储器结构 3 641 新编16/32 位微型计算机原理及应用(第 6 版 ) 3. 读/写电路与控制电路 读/写电路包括读/写放大器、数据缓冲器(三态双向缓冲器)等。它是数据信息输入和 输出的通道。 外界对存储器的控制信号有读信号(RD )、写信号(WR)和片选信号(CS)等,通过控制 电路以控制存储器的读或写操作以及片选。只有片选信号处于有效状态,存储器才能与外 界交换信息。 5.随机存取存储器 2 5.1 静态随机存取存储器 2. 1. 静态RAM 的基本存储电路 静态RAM 的基本存储电路是由6个MOS 管组成的RS 触发器,如图5. 4所示。 图5. 46 管静态存储电路 在图5.T3、T1、T2 交叉耦合组成了一个RS 触发器,具有两个稳定状 4中,T4 为负载管 , .. 态。在A点(相当于Q端)与B点(相当于Q端)可以分别寄存信息1和0。T5、T6 为行向 选通门,受行选线上的电平控制。T7、T8 为列向选通门,受列选线上的电平控制。由此,组 成了双译码方式。当行选线与列选线上的信号都为高电平时,则分别将T5、T6 与T7、T8 导 .. 通,使A、B两点的信息经D与D两点分别送至输入/输出电路的I/O线及I/O线上,从而存 储器某单元位线上的信息同存储器外部的数据线相通。这时,就可以对该单元位线上的信 息进行读/写操作。 写入时,被写入的信息从I/O和I/O线输入。如写1时,使I/O线为高电平,/O线为低 电平,经T7、T5 与T8、T6 分别加至A端和B端,使T1 截止而T2 导通,于是AI 端为高电 平,触发器为存1的稳态;反之亦然。 读出时,只要电路被选中,T5、T6 与T7、T8 导通,A端与B端的电位就送到I/O及I/O 线上。若原存的信息为1,则I/O线上为1,/O线上为0;反之亦然。读出信息时,触发器状 态不受影响,故为非破坏性读出。 I 第 5 章微机的存储器 2. 静态RAM 的组成 静态RAM 的结构组成原理图如图5. 5所示。存储体是一个由64×64=4096 个 6管静态存储电路组成的存储矩阵。在存储矩阵中, X 地址译码器输出端提供X0~X63 计 64 根行选择线,而每一行选择线接在同一行中的64 个存储电路的行选端,故行选择线能同 时为该行64 个行选端提供行选择信号。 Y 地址译码器输出端提供Y0~Y63 计64 根列选择 线,而同一列中的64 个存储电路共用同一位线,故由列选择线同时控制它们与输入/输出电 路(/O电路)连通。显然,只有行、列均被选中的某个单元存储电路(这里为1位), 在其 X 向选通门与 Y 向选通门同时被打开时,才能进行读出信息和写入信息的操作。 图5.静态RAM 的结构组成原理图 5 图5.5中所示的存储体是容量为4K×1 位的存储器,因此,它仅有一个I/O电路,用于 存取各存储单元中的1位信息。如果要组成字长为4位或8位的存储器,则每次存取时,同 时应有4个或8个单元存储电路与外界交换信息。因此,在这种存储器中,要将列的列向选 通门控制端引出线按4位或8位来分组,使每根列选择线能控制一组的列向选通门同时打 I 开;相应地,/O电路也应有4个或8个。每一组的同一位共用一个I/O电路。这样,当存 储体的某个存储单元在一次存取操作中被地址译码器输出端的有效输出电平选中时,则该 单元内的4位或8位信息将被一次读/写完毕。 必须指出,在图5.则在读/写操作时每次只 5中的存储体如果是4K×1 位的存储矩阵, 能存取1位信息。如果是8个4K×1 位的存储矩阵,则在读/写操作时每次只能存取 8位信息,这时的存储容量为4K×8 位。 通常,一个RAM 芯片的存储容量是有限的,需要用若干片才能构成一个实用的存储 器。这样,地址不同的存储单元,可能处于不同的芯片中,因此,在选中地址时,应先选择其 所属的芯片。对于每块芯片,都有一个片选控制端(CS), 只有当片选端加上有效信号时,才 能对该芯片进行读或写操作。一般来说,片选信号由地址码的高位译码产生。 3. 静态RAM 的读/写过程 静态RAM 的读/写过程如图5. 5所示。 新编16/32 位微型计算机原理及应用(第 6 版 ) 1)读出过程 (1)地址码A0~A11 加到RAM 芯片的地址输入端,经 X 与 Y 地址译码器译码,产生行 选与列选信号,选中某一存储单元,经一定时间,该单元中存储的代码出现在I/O电路的输 入端。I/O电路对读出的信号进行放大、整形,送至输出缓冲寄存器。缓冲寄存器一般具有 三态控制功能,没有开门信号,所存数据也不能送到DB 上。 (2)在传送地址码的同时,还要传送读/写控制信号(R/..或RD 、WR)和片选信号 W (CS )。读出时,使R/..W=1,CS=0,这时,输出缓冲寄存器的三态门将被打开,所存信息送 至DB 上。于是,存储单元中的信息被读出。 2)写入过程 (1)地址码加在RAM 芯片的地址输入端,选中相应的存储单元,使其可以进行写操作。 (2)将要写入的数据放在DB 上。 (3)加上片选信号CS=W=0。这两个有效控制信号打开三态门使 0及写入信号R/.. DB 上的数据进入输入电路,送到存储单元的位线上,从而写入该存储单元。 4. 静态RAM 芯片举例 常用的静态RAM 芯片有2114 、2142 、6116 、6264 、62256 、628128 、628512 、6281024 等。 例如,常用的Intel6116 是CMOS 静态RAM 芯片,属双列直插式、24 引脚封装。它的 存储容量为2K×8 位,其引脚及内部结构框图如图5. 6所示。 图5.l6116 芯片的引脚及内部结构框图 6 Inte Intel6116 芯片内部的存储体是一个由128×128=16384 个静态存储电路组成的存储 矩阵。A0~A10 这11 根地址线用作行、列地址的译码,以便对211=2048 个存储单元进行选 址。每当选中一个存储单元,将从该存储单元中同时读/写8位二进制信息,故Intel6116 有8根数据输入/输出线I/O0~I/O7。Intel6116 存储矩阵内部的基本存储电路上的信息, 第 5 章微机的存储器 正是通过I/O控制电路和数据输入/输出缓冲器与CPU 的数据总线连通的。数据的读出 或写入将由片选信号(CE )、写允许信号(WE)以及数据输出允许信号(OE)一起控制。当 CE 有效而WE 为低电平时,1门导通,使数据输入缓冲器打开,信息将由I/O0~I/O7 写入被 选中的存储单元;当CE 与OE 同时有效而WE 为高电平时,2门导通,使数据输出缓冲器打 开,CPU 将从被选中的存储单元由I/O0~I/O7 读出信息送往数据总线。无论是写入或读 出,一次都是读/写8位二进制信息。 Intel6264 芯片的结构及工作原理与Intel6116 相似,它是一个存储容量为8KB×8 位 的CMOSSRAM 芯片,其有28 条引脚,包括13 根地址线(A12~A0)、8根双向数据线(D7~ D0)以及4根控制线(片选信号线CS1、CS2,输出允许信号OE 与写允许信号WE), 另外,还有 3根其他信号(+5V 电源端VCC 、接地端GND 、空端NC )。这些引脚的功能及其用法都是很 容易理解的,限于篇幅这里不再赘述。 5.2 动态随机存取存储器 2. 动态随机存取存储器简称动态RAM 芯片,它是以MOS 管栅极电容是否充有电荷来 存储信息的,其基本存储电路一般由四管、三管和单管组成,以三管和单管较为常用。由于 它所需要的管子较少,故可以扩大每片存储器芯片的容量,并且其功耗较低,所以在微机系 统中,大多数采用动态RAM 芯片。 5.2.动态基本存储电路 2.1 下面重点介绍常用的三管和单管这两种基本存储电路。 1. 三管动态基本存储电路 7所示,、 读、写选择线)以及两条数据线( 写数据线)组成。 其中,T1 是写数控制管;T2 是存储管,用其栅极电 容Cg 存储信息;T3 是读数控制管;T4 是一列基本 存储电路上共同的预充电管,以控制对输出电容 CD 的预充电。 写入操作时,写选择线上为高电平,T1 导通。 待写入的信息由写数据线通过T1 加到T2 管的栅 极上,对栅极电容Cg 充电。若写入1,则Cg 上充 有电荷;若写入0,则Cg 上无电荷。写操作结束 后,T1 截止,信息被保存在电容Cg 上。 三管动态基本存储电路如图5.它由T1T2、T3这3个管子和两条字选择线(读、 7 图5.三管动态基本存储电路 读出操作时,先在T4 栅极加上预充电脉冲,使 T4 导通,读数据线因有输出电容CD 而预充到1 ()。然后使读选择线为高电平,T3 导通。若T2 栅极电容Cg 上已存有1信息,则T2 导 通。这时,读数据线上的预充电荷将通过T3、T2 而泄放,于是读数据线上为0。若T2 栅极 电容上所存为0信息,则T2 不导通,而读数据线上为1。因此,经过读操作,在读数据线上 VDD 新编16/32 位微型计算机原理及应用(第 6 版 ) 可以读出与原存储相反的信息。若再经过读出放大器反相,即可得到原存储信息。 对于三管动态基本存储电路,即使电源不掉电,Cg 的电荷也会在几毫秒之内逐渐泄漏, 而丢失原存1信息。为此,必须每隔1~3ms 定时对Cg 充电,以保持原存信息不变,此即动 态存储器的刷新(或称再生)。 7所示, 但不往外输出( 刷新要有刷新电路,如图5.若周期性地读出信息, 读信号RD 为高电 平有效), 经三态门(刷新信号RFSH 为低电平时使其导通)反相,再写入Cg,就可实现刷新。 2. 单管动态基本存储电路 单管动态基本存储电路如图5.它由T1 管和寄生电容CS 组成。 8所示, 写入时,使字选线上为高电平,T1 导通,待写入的信 息由位线D(数据线)存入CS。 读出时,同样使字选线上为高电平,T1 导通,则存储 在CS 上的信息通过T1 送到D线上,再通过放大,即可得 到存储信息。 为了节省面积,电容CS 不可能做得很大,一般使CS