1、第7章 微型计算存储器,7.1 概述 7.2 随机存取存储器 7.3 只读存储器 7.4 微机内存区域划分 7.5 存储器与CPU的连接,存储器,CPU,7.1 概述,7.1.1 半导体存储器的分类 7.1.2 半导体存储器的结构 7.1.3 半导体存储器的主要性能指标 7.1.4 存储器的分级结构存储器分为两大类:内部存储器和外部存储器。 本章主要介绍内存,内存由半导体存储器构成,因此本章重点介绍半导体存储器的工作原理、特点和半导体存储器的扩展技术。,7.1.1 半导体存储器的分类,根据存取方式的不同,半导体存储器可分为随机存取存储器RAM和只读存储器ROM两类。随机存取存储器RAM:CPU
2、可以对RAM的内容随机地进行读写访问,RAM中的信息断电后会丢失。只读存储器ROM:ROM的内容只能随机读出而不能写入,断电后信息不会丢失。常用来存放不需要改变的信息,如基本输入输出系统等。,7.1.1 半导体存储器的分类,根据制造工艺的不同,随机存取存储器RAM主要有双极型和MOS型两类。双极型RAM具有存取速度快、集成度较低、功耗较大、成本较高等特点,适用于对速度要求较高的高速缓冲存储器。MOS型RAM具有集成度高、功耗低、价格便宜等特点,适用于内存储器。,7.1.1 半导体存储器的分类,MOS型RAM按信息存放方式的不同可分为静态RAM(SRAM)和动态RAM(DRAM)。SRAM的存储
3、电路以双稳态触发器为基础,控制电路简单,状态稳定,只要不掉电,信息不会丢失,但集成度较低,适用于不需要大存储容量的计算机系统。DRAM的存储单元以电容为基础,电路简单,集成度高,但电容中的电荷由于漏电会逐渐丢失,因此DRAM需要定时刷新,适用于大存储容量的计算机系统。,7.1.1 半导体存储器的分类,目前常见的只读存储器ROM有:掩膜式ROM:用户不可对其编程,其内容已由厂家设定好,不能更改。可编程ROM(PROM):用户只能对其进行一次编程,写入后不能更改。可擦除的PROM(EPROM):其内容可用紫外线擦除,用户可对其进行多次编程。电擦除的PROM(EEPROM或E2PROM):能以字节为
4、单位进行擦除和更改。,7.1.2 半导体存储器的结构,半导体存储器芯片一般由以下部分组成:地址译码电路、存储体、三态数据缓冲器、控制逻辑。,2nN,1. 存储体,记忆单元:能够表示二进制“0”和“1”的状态的物理器件构成了一个个记忆单元,每个记忆单元可以保存一位二进制信息。存储单元:1个或多个记忆单元构成一个存储单元,每个存储单元有一个唯一的编号,该编号就是存储单元的地址。存储体(存储矩阵):许多存储单元有规则地组织起来(一般为矩阵结构)就构成了存储体。,2. 地址译码电路,存储体通常含有2n个存储单元,采用n条地址线对其进行访问。存储芯片中的地址译码电路对CPU从地址总线发来的n位地址信息进
5、行译码,经译码产生的选择信号可以唯一地选中片内某一存储单元,在读/写控制电路的控制下可对该单元进行读/写操作。芯片内部的地址译码主要有两种方式:单译码方式和双译码方式。单译码方式适用于容量较小的存储芯片。双译码方式适用于容量较大的存储芯片。,单译码方式只用一个译码电路对所有地址信息进行译码,译码输出的选择线直接选中对应的存储单元。,双译码方式把n根地址线分成两部分,分别进行译码,产生一组行选择线X和一组列选择线Y,每一根X线选中存储矩阵中位于同一行的所有单元,每一根Y线选中存储矩阵中位于同一列的所有单元,当某一单元的X线和Y线同时有效时,相应的存储单元被选中。,三态数据缓冲器:是数据输入/输出
6、的通道,数据传输的方向取决于控制逻辑对三态门的控制。读写控制电路:接收CPU发来的相关控制信号,以控制数据的输入/输出。CPU发往存储芯片的控制信号主要有读信号、写信号和片选信号等。注意:不同性质的半导体存储芯片其外围电路部分也各有不同,如在动态RAM中还要有预充、刷新等方面的控制电路,而对于ROM芯片,在正常工作状态下只有输出控制逻辑等。,3. 读/写控制电路,存储器性能指标主要有三项:存储容量、存取时间、带宽。存储容量:反映存储器可存储信息量的指标。以单元个数数据位数表示。如:某存储器存储容量为64K8位,即64K字节。设微机的地址线和数据线位数分别是p和q,则该存储器芯片的地址单元总数为
7、2p,该存储器芯片的位容量为2p q。例如:存储器芯片6116,地址线有11根,数据线有8根则该芯片的位容量是位容量 = 211 8 = 2KB。存储容量常用单位: B、KB、MB、GB、TB1KB=1024B 1MB=1024K 1GB=1024MB 1TB=1024GB,7.1.3 半导体存储器的主要性能指标,存取时间:表示启动一次存储操作到完成该操作所经历时间,一般为几ns到几百ns。存取时间越短,则存取速度越快。存储器的存取时间主要与其制造工艺有关,双极型半导体存储器的存取速度高于MOS型的存取速度。带宽:每秒传输数据的总量,通常以B/S表示。带宽 = 存储器总线频率 数据宽度 / 8
8、例如:一存储器的总线频率为100MHZ,存储宽度为64位,则:带宽 = 100 64 / 8 = 800MB/S,7.1.3 半导体存储器的主要性能指标,为了同时满足速度快、容量大、价格低等要求,计算机系统采用分级结构。,7.1.4 存储器的分级结构,7.2 随机存取存储器,7.2.1 静态随机存取存储器(SRAM) 7.2.2 动态随机存取存储器(DRAM) 7.2.3 集成随机存取存储器(IRAM) 7.2.4 视频随机存取存储器(VRAM) 7.2.5 高速RAM,基本存储单元,7.2.1 静态随机存取存储器(SRAM),双译码方式把n根地址线分成两部分,分别进行译码,产生一组行选择线X
9、和一组列选择线Y,每一根X线选中存储矩阵中位于同一行的所有单元,每一根Y线选中存储矩阵中位于同一列的所有单元,当某一单元的X线和Y线同时有效时,相应的存储单元被选中。,典型静态RAM存储器芯片6116,7.2.1 静态随机存取存储器(SRAM),外部引脚A10-A0:地址信号输入引脚。WE#:读/写控制信号输入引脚。OE#:输出控制信号输入引脚。D7-D0 :数据输入输出信号引脚。CS#:片选输出控制信号输入引脚。VCC:电源。GND:地。,Intel 6116工作方式与控制信号之间的关系。,7.2.1 静态随机存取存储器(SRAM),常用的静态存储器SRAM有:6116(2K8)、6264(
10、8K8)、62256(32K8)62512(64K8)等。,DRAM基本存储电路。,7.2.2 动态随机存取存储器DRAM,DRAM的刷新。动态RAM是利用电容C上充积的电荷来存储信息的。当电容C有电荷时,为逻辑“1”,没有电荷时,为逻辑“0”。但由于任何电容都存在漏电,因此当电容C存有电荷时,过一段时间由于电容的放电过程导致电荷流失,信息也就丢失,因此需要周期性地对电容进行充电,以补充泄漏的电荷,通常把这种补充电荷的过程叫刷新或再生。刷新时间间隔一般要求在1100 ms。工作温度为70时,典型的刷新时间间隔为2 ms,也就是2 ms内必须对存储的信息刷新一遍。,7.2.2 动态随机存取存储器
11、DRAM,集成随机存取存储器(IRAM)视频随机存取存储器(VRAM)EDO DRAMSDRAMRDRAMDDR DRAMDDR2 DRAMDDR3 DRAM,7.2.2 动态随机存取存储器DRAM,ROM (Read Only Memory) 工作特点:在微机系统的在线运行过程中,只能对其进行读操作,而不能进行写操作;电源关断,信息不会丢失,属于非易失性存储器件;常用来存放不需要改变的信息。掩模式ROMMROM(Mask ROM)可编程ROMPROM(Programmable ROM)可擦除可编程ROMEPROM(Erasable Programmable ROM)电可擦除可编程ROMEEP
12、ROM(Electrically Erasable Programmable ROM)快擦型存储器(F1ash Memory),7.3 只读存储器ROM,7.3.3 可擦除的可编程只读存储器(EPROM),微型计算机内存从0开始编址,末地址与处理器寻址能力有关。微型计算机内存的整个物理地址空间划分若干区域:常规内存、保留内存和扩展内存等。,7.4 微机内存区域划分,7.5.1 存储器与CPU连接时应注意的问题7.5.2 存储器地址译码方法7.5.3 存储芯片的扩展,7.5 存储器与CPU的连接,如何用容量较小、字长较短的芯片组成微机系统所需容量和字长的存储器?,1. 存储器与CPU之间的时序配
13、合CPU对存储器进行读操作时,CPU发出地址和读命令后,存储器必须在规定时间内给出有效数据。而当CPU对存储器进行写操作时,存储器必须在写脉冲规定的时间内将数据写入指定存储单元。 2. CPU总线负载能力 地址线、控制线是单向的,故采用单向驱动器。 数据线是双向传送的,故采用双向驱动器。,7.5.1 存储器与CPU连接时应注意的问题,3. 存储器芯片的选用根据存储器的存放对象、总体性能、芯片的类型和特征等方面综合考虑。 对芯片类型的选用 对芯片型号的选用 4. 存储器与控制总线的连接CPU的存储器读写信号同存储器芯片的控制信号线(片选、读、写) 连接。,7.5.1 存储器与CPU连接时应注意的
14、问题,5. 存储器与数据总线的连接数据线是CPU与存储器交换信息的通路,连接要考虑驱动问题及字长。6. 存储器与地址总线的连接低位地址线直接与存贮芯片的地址引脚对应相连;高位地址线,利用片外地址译码器产生“片选”信号。,7.5.1 存储器与CPU连接时应注意的问题,通常微机的存储器是由多个存储器芯片构成,因此芯片外部需要对高位地址进行译码以产生正确的片选信号。常用的片选产生的方法有:线选法部分译码法全译码法,7.5.2 存储器地址译码方法,线选法当存储器容量不大,所使用的存储芯片数量不多,而CPU寻址空间远远大于存储器容量时,可用高位地址线直接作为存储芯片的片选信号,每一根地址线选通一块芯片,
15、这种方法称为线选法。,4个片选信号必须使用4根地址线,电路结构简单,缺点是:系统必须保证A16A13不能同时为有效低电平;因为最高段地址信号( A19 A15 )不参与译码,存在地址重叠问题;,思考:试写出各芯片占用的地址空间。,部分译码法用高位地址中的一部分地址进行译码产生片选信号。,系统最高段地址信号( A19A15 )不参与片选译码,即这几位地址信号可以为任何值。,全译码法用全部的高位地址进行译码产生片选信号。,地址译码实现方法,1.门电路译码用TTL或CMOS数字电路实现译码。 2.专用译码器译码用专用译码器如2-4/3-8译码器译码。 3.用可编程器件PLD译码。利用PLD编程译码。
16、,例1 用门电路实现的全译码电路,用门电路完成片选译码,电路结构看起来比较复杂。,例2 用译码器实现的全译码电路,用译码器代替门电路完成片选译码,电路工作稳定,结构简练。,常用的集成译码器: 常用的2:4译码器:74LS139 常用的3:8译码器:74LS138 常用的4:16译码器:74LS154,74LS138功能表,下图为全译码的2个例子。前一例采用门电路译码,后例采用38译码器译码。单片2764(8K8位,EPROM)在高位地址A19A13=0001110时被选中,其地址范围为1C000H1DFFFH。,7.5.3 存储芯片的扩展,用多片存储芯片构成一个需要的内存空间,它们在整个内存中
17、占据不同的地址范围,任一时刻仅有一片(或一组)被选中存储器的扩展。,当构成内存的存储器芯片的字长小于内存单元的字长时,芯片每个单元中的字长满足,但单元数不满足,芯片每个单元中的字长不满足,单元数也不满足,用64K1bit的芯片扩展实现64KB存储器,当存储器芯片的数据位数不满足系统存储器要求时要进行位扩展。 位扩展即用多个存储器芯片组成一个整体,使数据位数增加而单元个数不变。,一、位扩展,位扩展连接方法,首先确定存储器芯片的个数。地址线全部并联。片选信号线并联。读/写控制信号并联。数据线分高低部分分别与数据总线相应位连接。,二、字扩展,用8K8bit的芯片扩展实现64KB存储器,所谓字扩展就是
18、存储单元数的扩展,由于存储单元的个数取决于地址线,而与数据线无关,因此,字扩展实际上就是地址线的扩展,即增加地址线的条数。,字扩展连接方法,首先确定存储器芯片的个数。数据线全部并联。读/写控制线并联。低位地址线由芯片本身的地址线并联产生;译码器的输入端为高位地址线;译码器输出端分别连接到相应芯片的片选信号;扩展后的片选信号由译码器使能输出端确定。,三、字位全扩展,用16K4bit的芯片扩展实现64KB存储器,首先对芯片分组进行位扩展,以实现按字节编址;,其次设计每个芯片组的片选进行字扩展,以满足容量要求;,字位全扩展连接方法,首先计算出组成存储器模块所需芯片数分组进行位扩展。在位扩展基础上进行
19、字扩展。,存储容量与地址总线、地址范围的关系,容量 1K 2K 4K 8K 16K 32K总线数 10 11 12 13 14 15范围 000 000 000 0000 0000 00003FF 7FF FFF 1FFF 3FFF 7FFF容量 64K 128K 256K 512K 1MB 总线数 16 17 18 19 20范围 0000 00000 00000 00000 00000FFFF 1FFFF 3FFFF 7FFFF FFFFF,【例7.1】已知一个RAM芯片外部引脚信号中有8条数据线和12条地址线,则其容量有多大?若RAM的起始地址为3000H,则它对应的末地址为多少? 解:
20、容量:212 8bit = 4KB。末地址:3000H + 4K 1 = 3FFFH。,【例7.2】用2K8位的SRAM芯片组成8K8位的存储器模块,求所需芯片数。用什么方法扩展?画出连线图,并写出每一个芯片的地址范围。 解: 1、(8K8)/(2K8) = 4片。 2、采用字扩展。,3 、采用全译码的连线图:,4 、地址空间分配:,【例7.3】某微机系统地址总线为16位,实际存储器容量为16KB,ROM区和RAM区各占8KB。其中,ROM区采用容量为2KB的EPROM芯片;RAM区采用容量为1KB的静态RAM芯片。试设计该存储器的地址译码电路。 解:地址空间分配:微机系统寻址空间为64KB,
21、实际存储空间为16KB。16KB安排在从0000H开始的连续存储空间,即:0000H3FFFH。其中0000H1FFFH为EPROM区,2000H3FFFH为RAM区。, 根据所采用的存储芯片容量,可画出地址分配图;地址分配表。 确定译码方法并画出相应的地址位图。 根据地址位图,可考虑用3-8译码器完成一次译码,用适当逻辑门完成二次译码。,例:三片8KB的存储器芯片组成 24KB 容量的存储器。,确定各存储器芯片的地址空间?,课堂练习,1、已知一个存储器子系统如图所示,试指出其中RAM和EPROM的存储容量以及各自的地址范围。,课堂练习1 解: A19 A18 A17 A16 A15 A14
22、A13 A12 A11 A10 A0 RAM地址范围: 1 1 1 1 1 0 0 1 0 0 0 (F9000H)1 1 1 1 1 0 0 1 0 1 1 (F97FFH) 2KB 或:1 1 1 1 1 0 0 1 1 0 0 (F9800H)1 1 1 1 1 0 0 1 1 1 1 (F9FFFH)2KB EPROM地址范围 1 1 1 1 1 1 0 1 0 0 0 (FD000H)1 1 1 1 1 1 0 1 1 1 1 (FDFFFH)4KB 所以,RAM的存储容量为2KB,地址范围为F9000HF97FFH 或 F9800HF9FFFH。 由于A11未参与RAM的地址译码,
23、所以RAM存储区存在“地址重叠”现象,一个RAM单元对应2个地址。 EPROM的存储容量为4KB,地址范围为FD000HFDFFFH。,课堂练习,2、利用EPROM 2732(4K8位)、SRAM6116(2K8位)及译码器74LS138,设计一个存储容量为16KB ROM和8KB RAM的存储子系统。要求ROM的地址范围为F8000HFBFFFH,RAM的地址范围为FC000HFDFFFH。系统地址总线20位(A0A19),数据总线8位(D0D7),控制信号为RD#、WR#、M#/IO(低为访问存储器,高为访问I/O接口)。,课堂练习2,解: (1) 所需存储芯片数及地址信号线的分配:16K
24、B ROM需用4片2732构成,8KB RAM需用4片6116构成。2732容量为4K8位:用12条地址线作片内地址(A0A11);用8条地址线作片外地址(A12A19);6116容量为2K8位:用11条地址线作片内地址(A0A10);用9条地址线作片外地址(A11A19)。用74LS138作片选译码器,其输入、输出信号的接法依存储芯片的地址范围要求而定。,课堂练习2,(2) 地址范围 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10A0 EPROM1EPROM4(16KB):1 1 1 1 1 0 0 0 0 0 (F8000H)1 1 1 1 1 0 1 1 1 1 (FBFFFH) SRAM1、SRAM2(4KB):1 1 1 1 1 1 0 0 0 0 0 (FC000H)1 1 1 1 1 1 0 0 1 1 1 (FCFFFH) SRAM3、 SRAM4(4KB):1 1 1 1 1 1 0 1 0 0 0 (FD000H)1 1 1 1 1 1 0 1 1 1 1 (FDFFFH),逻辑图,习题,作业:P152 7.9 7.10 7.11 7.13,