第5章 存储器 5.1 存储器概述 5.2 半导体存储芯片结构及使用 5.3 16位系统的存储器接口
5.1 存储器概述 5.1.1 半导体存储器的分类 5.1.2 半导体存储器的主要性能指标 5.1.3 典型的半导体存储器芯片
5.1.1 半导体存储器的分类
1.随机存取存储器RAM (Random Access Memory) 存储器中的信息既可以读又可以写。 RAM中的信息在掉电后立即消失,是一种易失性存储器。 RAM分为: 1)静态RAM(SRAM) 2)动态RAM(DRAM)
1)静态RAM(SRAM) 利用触发器的两个稳定状态表示“1”和“0”,最简单的TTL电路组成的SRAM存储单元由两个双发射极晶体管和两个电阻构成的触发器电路组成;而MOS管组成的SRAM存储单元由6个MOS管构成的双稳态触发电路组成。 只要电源不掉电,写入SRAM的信息就不会丢失。同时对SRAM进行读操作时不会破坏原有信息。 功耗较大,容量较小,存取速度快,不需要刷新。 常用于容量较小的单板机、工业控制等小系统中。
2)动态RAM(DRAM) 利用MOS管的栅极对其衬底间的分布电容来保存信息的。 每个存储单元所需要的MOS管较少,典型的由单管MOS组成,因此DRAM的集成度较高、功耗低。 缺点是MOS管栅极对其衬底间的分布电容上的电荷会随着电容器的放电过程而逐渐消失。一般信息在DRAM中保存的时间为2ms左右。 为了保存DRAM中的信息,每隔1~2ms要对其刷新一次。刷新的过程就是“读出”的过程,由读出再生电路完成。因此采用DRAM的计算机必须配置刷新电路。 存储器速度较慢,容量较大,且功耗低。 广泛应用于内存容量较大的微型机系统。如PC机的内存。
2.只读存储器ROM (Read Only Memory) 用户在使用时只能读出信息,不能写入新的信息,存储信息断电后不会丢失。 用来存放固定的应用程序、系统软件、监控程序、常数表格等。
ROM的分类 1)掩膜式ROM(Masked ROM) 2)PROM (Programmable ROM) 由用户使用专门的编程器自行一次性写入的,一旦写入就无法更改。
ROM的分类(续) 3)EPROM (Erasable Programmable ROM) 4)EEPROM (Electrically Erasable Programmable ROM) 用电信号进行擦除和写入信息,芯片不离开插件板便可擦除部分或全部信息和写入其中信息。EEPROM为经常需要修改程序和参数的应用领域提供了极大的方便,但存取速度较慢,价格较贵。
3.闪速存储器(Flash Memory) 又称为快擦型存储器,是一种非挥发性存储器。 具有功耗低、集成度高、体积小、可靠性高等特点。 广泛应用于便携式计算机的PC卡存储器(固态硬盘),以及用来存放主板上的BIOS以代替原来的EPROM的BIOS。 采用Flash Memory制作的“U盘”已成为大容量、高速度的移动式存储器。
5.1.2 半导体存储器的主要性能指标 1.存储容量 指存储器可以容纳的二进制信息量。 一般存储器都采用一维线性编址,存储器中每个存储单元都被赋予一个地址。 存储容量与存储地址数有关,与每个存储单元的位数有关,即存储器的存储容量=2M×N,其中M是存储器的地址数,N是存储器的每个存储单元的位数。 某存储器芯片的地址数为16位,存储字长为8位,则该存储器的存储容量为216×8b=64KB=512Kb。 2.存储速度 可以用两个时间参数表示: “存取时间”TA (Access time):从启动一次存储操作,到完成该操作所经历的时间; “存储周期”TM (Memory cycle):为启动两次独立的存储器操作之间所需的最小时间间隔。 通常存储周期TM略大于存取时间TA。
5.1.3 典型的半导体存储器芯片 1.静态RAM(SRAM)芯片HM6116 高速静态CMOS随机存取存储器。 片内有16384(即16K)个存储单元,排列成128×128的矩阵,构成2K个字,字长8位,可构成2KB的内存。 该芯片有11条地址线A0~A11、8条数据线I/O1~I/O8、还有3条控制线:片选信号CE,用来选择芯片;写允许信号WE控制读/写操作;输出允许信号OE,用来把输出数据输出到数据线。 常用的还有2114(1K×4b)、6264(8K×8b)、62128(16K×8b)、62256(32K×8b)、62512(64K×8b)、HM628128(128K×8b)和HM628512(512K×8b)等。
5.1.3 典型的半导体存储器芯片(续) 2.动态RAM(DRAM)芯片Intel 2164 64K×1 b。 由行地址选通信号RAS将先送入的8位行地址送到片内行地址锁存器,然后由列地址选通信号CAS将后送入的8位列地址送到片内列地址锁存器。16位地址信号选中64K存储单元中的一个单元。 数据线是输入和输出分开的,则WE信号控制读/写。当为高电平时,所选中单元的内容经过输出三态缓冲器从DOUT引脚读出;当为低电平时,DIN引脚上的内容经过输入三态缓冲器,对选中单元进行写入。 行选通信号和列地址选通信号也起到了片选的作用。 常用的DRAM还有2116(16K×1b)、21256(256K×1b)、21010(1M×1b)、21014(256K×4b)、44100(1M×4b)等。
5.1.3 典型的半导体存储器芯片(续) 3.只读存储器(EPROM)芯片Intel 2732A 存储容量为4K×8 b,有12条地址线A11~ A0,8条数据线O7~O0。 2个控制信号中CE为芯片允许信号,用来选择芯片;OE/VPP为输出允许信号及编程电源输入线。当CE为低电平时,若OE/VPP也为低电平,对存储器进行读操作,把输出数据送上数据线;若OE/VPP加上21 V编程电压时,对存储器重新编程。当CE为高电平时,2732A处于待用状态。 常用的还有:2716(2K×8b)、2764(8K×8b)、27128(16K×8b)、27256(32K×8b)、27512(64K×8b)等。
5.2 半导体存储芯片结构及使用 5.2.1 半导体存储器的基本结构 5.2.2 半导体存储芯片的使用
5.2.1 半导体存储器的基本结构
5.2.1 半导体存储器的基本结构(续) 当CPU启动一次存储器读操作时: CPU将地址通过地址总线送入MAR。 使读相关的控制信号有效,MAR中的地址码经过地址译码器译码后选中该地址对应的存储单元,并通过读/写驱动器将选中单元的数据送入MDR,最后通过数据总线读入CPU。 当CPU启动一次存储器写操作时: 将数据通过数据总线送入MDR,然后使写相关的控制信号有效,MAR中的地址码经过地址译码器译码后选中该地址对应的存储单元,并通过读/写驱动器将MDR的数据送入选中存储单元。
5.2.2 半导体存储芯片的使用 1.半导体存储芯片的使用 2.存储器芯片与CPU连接时应考虑的问题
1.半导体存储芯片的使用 CPU对存储器芯片的使用,是通过软件和硬件协调工作完成的。 MOV AL, [1000H];读存储器操作 MOV [1000H],AL;写存储器操作 在硬件方面,可以将存储器芯片的地址线、数据线、控制线与CPU的地址总线、数据总线、控制总线直接相连接,并采用译码电路产生存储器芯片的片选信号,实现CPU与半导体存储芯片的正确连接。
由8088CPU组成的8位存储器系统
1)地址线的连接 可以根据所选用的半导体存储器芯片地址线的多少,把CPU的地址线两部分,一部分通常是低位的地址线直接和存储器芯片的地址线相连,用于芯片内的地址译码,选中该存储器芯片的一个存储单元;另一部通常是剩余的高位地址线经另加的地址译码器,产生存储器芯片的片选信号,用来选中CPU所要访问的存储器芯片。 图5.6中,对存储器芯片而言,片内地址线为A15~A0,直接与CPU的地址线A15~A0相连接。CPU未连接的4位高位地址A19~A16即剩余地址线,经地址译码器译码后输出作为存储器芯片的片选信号。
2)数据线的连接 图5.6中,存储器芯片有8条数据线,可直接同8088 CPU的8位数据线相连。
3)控制线的连接 图5.6中,CPU对存储器读/写操作的控制信号主要有WR、RD和IO/M,前两个可直接同存储器芯片的控制信号线WE和OE连接,IO/M可作为地址译码器的使能端实现对存储器的读/写操作。
2.存储器芯片与CPU连接时应考虑的问题 存储器芯片与CPU连接时,原则上可以将存储器芯片的地址线、数据线、控制线与CPU的地址总线、数据总线、控制总线直接相连接,但在实际操作时,必须考虑以下几个问题: CPU的负载能力 各种信号线的连接 CPU的时序与存储器存取速度的配合 存储器的地址分配及片选信号的产生。 目前存储器芯片的容量仍然是有限的,所以常常需要多片存储器芯片才能组成一个存储器系统,这就要求正确选择片选信号。 通常,片选信号是由CPU剩余的高位地址线译码产生,译码电路既可采取集成电路地址译码器,也可采用基本门电路实现。
5.3 16位系统的存储器接口 5.3.1 16位微机系统中的内存储器接口 5.3.2 存储器容量的扩展
5.3.1 16位微机系统中的内存储器接口
5.3.2 存储器容量的扩展 存储芯片的容量是有限的,实际系统需要更大存储容量时,就必须采用多片现有的存储器芯片构成较大容量的存储器模块,这就是存储器的扩展。 扩展存储器的方法有三种: 1.位扩展 2.字扩展 3.字位扩展
1.位扩展 64K×1 b芯片位扩展组成64K×8 b存储器
2.字扩展 图5.11 16位系统线选法字扩展接线图
图5.11存储器芯片的地址范围 组别 高位地址线 低位地址线 地址 范围 A19 A18 A17 A16 A15 A14 A13~A1 A0 第1组 1#(偶片) × 1 0000000000000 ~ 1111111111111 08000H 0BFFEH 2#(奇片) 08001H 0BFFFH 第2组 3#(偶片) 4#(奇片) 04000H 07FFFH 线选法的优点是结构简单,缺点是地址空间浪费大。由于部分地址线未参与译码,会出现大量地址重叠。此外,当通过线选的芯片增多时,还可能出现地址空间不连续的情况。
2.字扩展(续) 图5.12 16位系统部分译码法字扩展接线图
图5.12存储器芯片的地址范围 采用部分译码法,可简化译码电路,但由于地址重叠,会造成系统地址空间资源的部分浪费。 组别 高位地址线 低位地址线 地址 范围 A19 A18 A17 A15 C A14 B A13 A A12~A1 A0 第1组 1#(偶片) 2#(奇片) × 1 000000000000 ~ 111111111111 02000H 03FFFH 第2组 3#(偶片) 4#(奇片) 04000H 05FFFH A16 采用部分译码法,可简化译码电路,但由于地址重叠,会造成系统地址空间资源的部分浪费。
2.字扩展(续) 图5.13 16位系统全译码法字扩展接线图
图5.13 存储器芯片的地址范围 采用全译码法,每个存储单元的地址都是唯一的,不存在地址重叠,但译码电路较复杂,连线也较多。 组别 高位地址线 低位地址线 地址 范围 A19 C A18 B A17 A A16~A1 A0 第1组 1#(偶片) 2#(奇片) 0000000000000000 ~ 1111111111111111 × 00000H 1FFFFH 第2组 3#(偶片) 4#(奇片) 1 20000H 3FFFFH 第3组 5#(偶片) 6#(奇片) 40000H 5FFFFH 采用全译码法,每个存储单元的地址都是唯一的,不存在地址重叠,但译码电路较复杂,连线也较多。
3.字位扩展 图5.14 8088系统字位扩展的接线图
图5.14 存储器芯片的地址范围 组别 高位地址线 低位地址线 地址范围 A19 ~A13 A12 C A11 B A10 A A9~A0 第1组 2114(1#) 2114(2#) 1000111 1 0000000000 ~ 1111111111 8F000H 8F3FFH 第2组 2114(3#) 2114(4#) 8F400H 8F7FFH 第3组 2114(5#) 2114(6#) 8F800H 8FBFFH 第4组 2114(7#) 2114(8#) 8FC00H 8FFFFH