6.1存储器及半导体存储器的分类
存储器是计算机用来存储信息的部件。
6.1.1 存储器的分类
按存取速度和用途可把存储器分为两大类:内存储器和外存储器。
内存:把通过系统总线直接与CPU相连的存储器称为内存储器,简称内存。
特点:具有一定容量、存取速度快,且掉电数据将丢失。
作用:计算机要执行的程序和要处理的数据等都必须事先调入内存后方可被CPU读取并执行。
外存:把通过接口电路与系统相连的存储器称为外存储器,简称外存,如硬盘、软盘和光盘等。
特点:存储容量大而存取速度较慢,且掉电数据不丢失。
作用:外存用来存放当前暂不被CPU处理的程序或数据,以及一些需要永久性保存的信息。
通常将外存归入计算机外部设备,外存中存放的信息必须调入内存后才能被CPU使用。
早期的内存使用磁芯。随着大规模集成电路的发展,半导体存储器集成度大大提高,成本迅速下降,存取速度大大加快,所以在微型计算机中,目前内存一般都使用半导体存储器。
6.1.2 半导体存储器的分类
从应用角度可将半导体存储器分为两大类:随机存取存储器RAM(RandomAccess Memory)和只读存储器ROM(ReadOnly Memory)。
RAM是可读、可写的存储器,CPU可以对RAM的内容随机地读写访问,RAM中的信息断电后即丢失。
ROM的内容只能随机读出而不能写入,断电后信息不会丢失,常用来存放不需要改变的信息(如某些系统程序),信息一旦写入就固定不变了。
根据制造工艺的不同,随机读写存储器RAM主要有双极型和MOS型两类。
双极型存储器具有存取速度快、集成度较低、功耗较大、成本较高等特点,适用于对速度要求较高的高速缓冲存储器;
MOS型存储器具有集成度高、功耗低、价格便宜等特点,适用于内存储器。
MOS型存储器按信息存放方式又可分为静态RAM(StaticRAM,简称SRAM)和动态RAM(DynamicRAM,简称DRAM)。
只读存储器ROM在使用过程中,只能读出存储的信息而不能用通常的方法将信息写入存储器。目前常见的有:掩膜式ROM,用户不可对其编程,其内容已由厂家设定好,不能更改;可编程ROM(ProgrammableROM,简称PROM),用户只能对其进行一次编程,写入后不能更改;可擦除的PROM(ErasablePROM,简称EPROM),其内容可用紫外线擦除,用户可对其进行多次编程;电擦除的PROM(ElectricallyErasable PROM,简称EEPROM或E2PROM),能以字节为单位擦除和改写。
6.1.3 半导体存储器的主要技术指标
1.存储容量
(1) 用字数´位数表示,以位为单位。常用来表示存储芯片的容量,如1K´4位,表示该芯片有1K个单元(1K=1024),每个存储单元的长度为4位。
(2)用字节数表示,以字节为单位,如128B,表示该芯片有128个单元,每个存储单元的长度为8位。现代计算机存储容量很大,常用KB、MB、GB和TB为单位表示存储容量的大小。其中,1KB=210B=1024B;1MB=220B=1024KB;1GB=230B=l024MB;1TB=240B=1024GB。显然,存储容量越大,所能存储的信息越多,计算机系统的功能便越强。
2.存取时间
存取时间是指从启动一次存储器操作到完成该操作所经历的时间。例如,读出时间是指从CPU向存储器发出有效地址和读命令开始,直到将被选单元的内容读出为止所用的时间。显然,存取时间越小,存取速度越快。
3.存储周期
连续启动两次独立的存储器操作(如连续两次读操作)所需要的最短间隔时间称为存储周期。它是衡量主存储器工作速度的重要指标。一般情况下,存储周期略大于存取时间。
4.功耗
功耗反映了存储器耗电的多少,同时也反映了其发热的程度。
5.可靠性
可靠性一般指存储器对外界电磁场及温度等变化的抗干扰能力。存储器的可靠性用平均故障间隔时间MTBF(MeanTime Between Failures)来衡量。MTBF可以理解为两次故障之间的平均时间间隔。MTBF越长,可靠性越高,存储器正常工作能力越强。
6.集成度
集成度指在一块存储芯片内能集成多少个基本存储电路,每个基本存储电路存放一位二进制信息,所以集成度常用位/片来表示。
7.性能/价格比
性能/价格比(简称性价比)是衡量存储器经济性能好坏的综合指标,它关系到存储器的实用价值。其中性能包括前述的各项指标,而价格是指存储单元本身和外围电路的总价格。
6.1.4 半导体存储器芯片的基本结构
图6.2 半导体存储器组成框图
地址译码方式单译码方式
图6.3 单译码方式
双译码方式
图6.4 双译码方式
6.2 随机读写存储器(RAM)
6.2.1 静态RAM
Intel 2114 SRAM芯片
Intel2114 SRAM芯片的容量为1Kx4位,18脚封装,+5V电源,芯片内部结构及芯片引脚图和逻辑符号分别如图6.5和6.6所示。
由于1Kx4=4096,所以Intel2114 SRAM芯片有4096个基本存储电路,将4096个基本存储电路排成64行x64列的存储矩阵,每根列选择线同时连接4位列线,对应于并行的4位,从而构成了64行x16列=1K个存储单元,每个单元有4位。
图6.6 Intel 2114引脚及逻辑符号
(a)引脚;(b)逻辑符号
6.2.2 动态RAM
Intel2164A动态RAM芯片
Intel2164A芯片的存储容量为64Kx1位,采用单管动态基本存储电路,每个单元只有一位数据,其内部结构如图6.7所示。2164A芯片的存储体本应构成一个256x256的存储矩阵,为提高工作速度(需减少行列线上的分布电容),将存储矩阵分为4个128x128矩阵,每个128x128矩阵配有128个读出放大器,各有一套I/O控制(读/写控制)电路。
图6.7 Intel 2164A内部结构示意图
64K容量本需16位地址,但芯片引脚(见图6.8)只有8根地址线,A0~A7需分时复用。在行地址选通信号RAS控制下先将8位行地址送入行地址锁存器,锁存器提供8位行地址RA7~RA0,译码后产生两组行选择线,每组128根。然后在列地址选通信号CAS控制下将8位列地址送入列地址锁存器,锁存器提供8位列地址CA7~CA0,译码后产生两组列选择线,每组128根。
图6.8 Intel 2164A引脚与逻辑符号
(a)引脚;(b)逻辑符号
6.3 只读存储器(ROM)
6.3.1 掩膜式只读存储器(MROM)
图6.9 掩膜式ROM示意图
6.3.2 可编程只读存储器(PROM)
图6.10 PROM存储电路示意图
6.3.3 可擦除、可再编程的只读存储器
1.EPROM和E2PROM
图6.11 SIMOS型EPROM
(a) SIMOS管结构;(b)SIMOS EPROM元件电路
2.Intel2716 EPROM芯片
EPROM芯片有多种型号,常用的有 2716(2Kx8)
2732(4Kx8)
2764(8Kx8)
27128(16Kx8)
27256(32Kx8)等。
1) 2716的内部结构和外部引脚
2716 EPROM芯片采用NMOS工艺制造,双列直插式24引脚封装。其引脚、逻辑符号及内部结构如图6.15所示。
图6.12 Intel 2716的引脚、逻辑符号及内部结构
(a) 引脚;(b) 逻辑符号;(c) 内部结构
表6.1 常用的EPROM芯片
3. Intel 2816 E2PROM芯片
Intel 2816是2Kx8位的E2PROM芯片,有24条引脚,单一+5V电源。其引脚配置见图6.13。
图6.13 Intel 2816的引脚
表6.2 常用的E2PROM芯片
6.4 存储器的扩展
6.4.1 存储芯片的扩展
存储器的扩展主要解决两个问题:一个是如何用容量较小、字长较短的芯片,组成微机系统所需的存储器;另一个是存储器如何与CPU的连接。
1. 存储芯片的扩展
存储芯片的扩展包括位扩展、字扩展和字位同时扩展等三种情况。
(1) 位扩展
位扩展是指存储芯片的字(单元)数满足要求而位数不够,需要对每个存储单元的位数进行扩展。扩展的方法是将每片的地址线、控制线并联,数据线分别引出。其位扩展特点是存储器的单元数不变,位数增加。
下图6.14给出了使用8片8Kx1位的RAM芯片通过位扩展构成8Kx8位的存储器系统的连线图。
(2)字扩展
字扩展是指存储芯片的位数满足要求而字(单元)数不够,需要对存储单元数进行扩展。扩展的原则是将每个芯片的地址线、数据线、控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围。
下图6.18给出了用4个16Kx8位芯片经字扩展构成一个64Kx8位存储器系统的连接方法。
(3) 字位同时扩展
字位同时扩展是指存储芯片的位数和字数都不满足要求,需要对位数和字数同时进行扩展。扩展的方法是线进行位扩展,即组成一个满足位数要求的存储芯片组,再用这个芯片组进行字扩展,以构成一个既满足位数又满足字数的存储器。
图6.16给出了用2114(1Kx4)RAM芯片构成4Kx8存储器的连接方法。
扩展存储器所需存储芯片的数量计算:若用一个容量为mK×n位的存储芯片构成容量为MK×N位(假设M>m,N>n,即需字位同时扩展)的存储器,则这个存储器所需要的存储芯片数为:
(M/m)×(N/n)
对于位扩展:
因为 M=m,N>n,
则所需芯片数为 N/n;
对于字扩展:
因为 N=n,M>m,
则所需芯片数为 M/m。
2. 存储器与CPU的连接
扩展的存储器与CPU的连接实际上就是与三总线中相关信号的连接。
1)存储器与控制总线的连接
在控制总线中,与存储器相连的信号为数不多,如8086/8088最小方式下的M/IO(8088为IO/M)、RD和WR,最大方式下的MRDC、MWTC、IORC和IOWC等,连接非常方便,有时这些控制线(如M/IO)也与地址线一同参与地址译码,生成片选信号。
2)存储器与数据总线的连接
对于不同型号的CPU,数据总线的数目不一定相同,连接时要特别注意。
8086CPU的数据总线有16根,其中高8位数据线D15~D8接存储器的高位库(奇地址库),低8位数据线D7~D0接存储器的低位库(偶地址库),根据BHE(选择奇地址库)和A0(选择偶地址库)的不同状态组合决定对存储器做字操作还是字节操作。8位机和8088CPU的数据总线有8根,存储器为单一存储体组织,没有高低位库之分,故数据线的连接较简单。
3)存储器与地址总线的连接
对于字扩展和字位同时扩展的存储器与地址总线的连接分为低位地址线的连接和高位地址线的连接。低位地址线的连接较简单,直接和存储芯片的地址信号连接作为片内地址译码,而高位地址线的连接主要用来产生选片信号(称为片间地址译码),以决定每个存储芯片在整个存储单元中的地址范围,避免各芯片地址空间的重叠。
片间地址译码一般有线选法和译码法两种。
⑴ 线选法
所谓线选法就是直接将某一高位地址线与某个存储芯片片选端连接。这种方法的特点是简单明了,且不需要另外增加电路。但存储芯片的地址范围有重叠,且对存储空间的使用是断续的,不能充分有效地利用存储空间,扩从存储容量受限。
⑵ 译码法
所谓译码法就是使用译码电路将高位地址进行译码,以其译码输出作为存储芯片的片选信号。其特点是连接复杂,但能有效地利用存储空间。译码电路可以使用现有的译码器芯片。
常用的译码芯片有:74LS139(双2-4译码器)和74LS138(3-8译码器)等。
图6.18 74LS138引脚及逻辑符号
例题例6.1设某8位机系统(16根地址线)需装6KB的ROM,地址范围安排在0000H~17FFH。请画出使用EPROM芯片2716构成的连接线路图。
【分析】 2716的容量为2K×8,需用3片进行字扩展。2716有8条数据线(O7~O0)正好与CPU的数据总线(D7~D0)连接;11条地址线(A10~A0)与CPU的低位地址线(A10~A0)连接。2716选片信号(CS)的连接是一个难点,需要考虑两个问题:一是与CPU高位地址线(A15~A11)和控制信号(IO/M、RD)如何连接,二是根据给定的地址范围如何连接。
假如选择译码法,根据给定的地址范围,可列出3片EPROM的地址范围如下表所示。
各组芯片的地址范围
【解】 根据上表,EPROM与CPU的连接如图6.19所示。其中,
高位地址线A11、A12、A13分别与74LS138的输入端A、B、C连接,A14与使能端G2B连接,A15与使能端G2A连接;
控制信号IO/M、RD经或非门与使能端G1连接。
图6.19EPROM与CPU的连接
例 6.2设某8位机系统(16根地址线)用2114静态RAM芯片构成4K×8位存储器,其地址范围为2000H~2FFFH。试画出连接线路图,并写出每组芯片的地址范围。
【分析】 2114的结构是1K×4位,要用此芯片构成4K×8位的存储器需进行字位同时扩展。即可用两片2114按位扩展方法组成1K×8的存储器组;用8片可组成四组1K×8位的存贮器。
【解】 根据以上分析,可画出RAM与CPU的连接图,如图6.20所示。
各组芯片的地址范围