Post on 03-Jan-2016
description
第六章 存储器接口
存储器是微型计算机系统中用来存放程序和数据的基本设备。系统对存储器的要求是容量大、速度快、成本低,但这三者在同一个存储器中不可兼得。为了解决这一矛盾,采用了分级存储器结构,通常将存储器分为高速缓冲存储器、主存储器和外存储器三级
6.1 半导体存储器 一、半导体存储器的分类 1 、按制造工艺分类 : 半导体存储器分为双极型和 MOS 型两大类 。 ( 1 )双极型存储器速度高,通常比 MOS 存储器要
快一个数量级。但集成度较低、功耗较大、成本价格较高,一般用作高速缓冲存储器或小容量主存储器 。
( 2 ) MOS 存储器则因为具有功耗低、价格低、集成度高等特点,普遍用来作为主存储器。
2 、按存储方式分类 分为随机存取存储器 RAM 和只读存储器 ROM 。
RAM 又分为: ( 1 )动态 RAM ( DRAM ):速度次于静态 RAM 、
集成度高于静态 RAM ( SRAM )、功耗低价格便宜,应用较多。但需要刷新电路,不断刷新。掉电后信息丢失。
( 2 )静态 RAM ( SRAM ):与 DRAM 比,它具有速度更快,集成度低于 SRAM ,功耗和价格较高与 DRAM ,但不需刷新。与 DRAM 一样,掉电后信息丢失。
( 3 )不挥发 RAM :特点是掉电后,信息不丢失。应用与电子表中。
ROM 又分为:
( 1 ) ROM :掩模 ROM ,不可重写。出厂时信息已经被写入。
( 2 ) PROM :一次可编程 ROM ,只允许编程一次。一般用于产品开发的初期软硬件的调试。
( 3 ) EPROM :紫外光可擦除 ROM ,通过紫外光可擦重写。
( 4 ) E2PROM :电可擦除的 ROM ,一般通过加载 21V 的电压擦除信息。
3 、几种新型的存储器 FIFO 存储器、闪速存储器、双端口 RAM
( 1 ) FIFO 存储器的特点 A 、 FIFO 存储器 (Fist In First Out Memory) 是一
个有两个端口 ( 输入口和输出口 ) ,并按先进先出的顺序来暂时存放数据的存储器。
B 、输入口和输出口的工作彼此是独立的。也就是说,只要当前存放在 FIFO 中的数据字数少于 FIFO的容量,那么就可以继续向 FIFO 中写入数据存满数据的时候 , 它会阻止继续写入数据。同样 , 只要FIFO 内部还存有数据 , 那么就可以继续从 FIFO 中读出数据,当 FIFO 中所有的数据被读完时 , 它就会禁止继续读出数据。
( 2 )闪速存储器的特点: A 、闪速存储器 (Flash Memory) ,一种新型的半
导体存储器,它具有可靠的非易失性、电擦除性以及低成本特性。
B 、可直接执行,对于需要实施代码或数据更新的嵌入性应用是一种理想的存储器。
C、它在固有性能和成本方面有较明显的优势。 D 、与 EPROM 只能通过紫光线照射实施擦除的特
点不同,闪速存储器可实现大规模电擦除,闪速存储器的擦除功能可迅速清除整个器件中所有内容。
E 、从功能上讲 ,由于其随机存取的特点 闪速存储器也可看作是一种非易失的 RAM 。兼 E
2PROM 与 RAM 的特点于一身,同时又优于 E2PROM 和 RAM 。
F 、经济的高密度, Intel 的 1M位闪速存储器的成本按每位计要比静态 RAM 低一半以上 ( 不包括静态 RAM 电池的额外花费和占用空间 ) 。
三、双端口 RAM 在数据采集、实时控制等微机应用系统中,常常
采用多个 CPU并行工作的方式,即两个 ( 或多个 )CPU同时工作 ,处理不同的任务,这样,利用
CMOS/BiCMOS技术 , 许多厂家生产了多端口 RAM 产品 ,如双端口、四端口的单片 RAM 器件等。
特点: A 、双端口 RAM 的两个端口被分别独立地控制,即
它们的控制信号、地址 I/O引线都是彼此独立的,通过这两个完全独立的端口 , 可以分别对任何一个存储单元进行读写操作。
B 、可进行数据总线宽度扩展,可完全异步操作 C、广泛应用在多数据总线或多处理器系统中 ,实现
数据共享。 D 、控制逻辑简单,每个处理器都可以完全独立
地把双端口 RAM看作是本地 RAM 一样进行访问,不仅方便了软件设计 , 还大大地提高了系统的工作效率。
二、半导体存储器的主要性能指标 主要从一下几方面考察: 1 、存储容量 2 、速度 3 、功耗 4 、集成度 5、可靠性
三、存储芯片的组成 1 、地址译码器:接收来自CPU的N位地址信息,
经译码后产生 2 的N次方个地址选择信号对片内寻址。 2 、控制逻辑电路:接收片选信号CS及来自CPU的
读/写控制信号,形成芯片内部控制信号,控制数据的读出和写入。
3 、数据缓冲器:寄存来自CPU的写入数据或从存储体内读出的数据 。
4 、存储体:是存储芯片的主体,由基本存储元按照一定的排列规律构成。排列方式可分为字
结构方式和位结构方式 。 ( 1 )字结构方式:是指将芯片上所有存储元排列成不同的存储单元,每个单元一个字,每个字的各位在同一个芯片内。例如 1KX8 位的芯片 。
( 2 )位结构方式:是指将芯片上所有存储元排列成不同的存储单元,每个单元一位,即将所有存储元列成不同字的同一位,例如 8KXl位的芯片。
大量芯片采用两种方式相结合,例如 2KX4
存储器组织举例:用静态 RAM6264 ( N×M= 8K×8)的芯片组织 128KB 和 128KW的存储体。各需要多少片?
( 1 ) Tc= 总容量 /N×8/M= 128K/8K×8/8= 16片
( 2 ) Tc = 128K/8K×16/8 = 32片
6.2 存储器接口技术 一、存储器接口中应考虑的问题 1 、存储器与 CPU的时序配合 几个问题: ( 1 )什么是总线周期?( 2 )什么
是时钟周期?( 3 )什么是 T 状态?( 4 )如何实现二者之间的时序配合?( 5)设计产生等待信号电路应注意那些问题?(见图 6- 3 )
2 、 CPU总线负载能力 如何提高 CPU的总线负载能力?芯片简介 :74LS
244 、 74LS245 3 、存储器芯片的选用 根据存储器的存放对象、总体性能、芯片类型及
价格等因素选用。
二、存储器地址译码方法 1 、什么是寻址? 存储器与 CPU地址总线连接时,要根据内存地址分配连接,以实现CPU在某一时刻只能唯一选中某一个内存地址单元,称为寻址。
2 、如何完成寻址功能? 要完成寻址功能必须具备两种选择: ( 1 )片选:即首先要从众多存储器中,选中要
进行数据传输的某一存储器芯片,称为片选。一般由接口电路中的端口译码产生。
( 2 )字选:然后从该芯片内选择出某一存储单元,称为字选。由存储器内部的译码电路完成。
3 、片选控制的译码方法 常用方法有:线选法、全译码法、部分译码法、混合译码法等。
( 1 )线选法 适用:存储器容量不大,所使用的存储芯片数量
不多,而CPU寻址空间远远大于存储器容量时的场合。
什么是线选法:用高位地址线直接作为存储芯片的片选信号,每一根地址线选通一块芯片,这种方法称线选法 。
线选法特点:优点是连线简单,片选控制无需专门的译码电路。两个缺点,一是导至地址重叠 ,二是整个存储器地址分布不连续,使可寻址范围减小 。给编程带来麻烦。
例:假定某微机系统的存储容量为 4KB , CPU寻址空间为 64KB(即地址总线为 16位 ) ,芯片容量为 1KB(即片内地址为 10位 ) 。那么,可用线选法从高 6位地址中任选 4位作为 4片存储芯片的片选控制信号 。如图 6.4 。试确定各片 RAM 的地址范围。
( 2 )全译码法 什么是全译码法:除了将低位地址总线直接与各芯片的地址线相连接之外,其余高位地址总线全部经译码后作为各芯片的片选信号 。
特点:全译码法可以提供对全部存储空间的寻址能力,存储器的地址是连续且唯一确定的,即无地址间断和地址重叠现象。
例, CPU 地址总线为 16位,存储芯片容量为 8KB 。采用全译码方式寻址 64KB 容量存储器。如图 6.5,试确定各片存储器的地址范围。
( 3 )部分译码法 什么是部分译码法:是将高位地址线中的一部分
进行译码,产生片选信号。 适用:不需要全部地址空间的寻址能力,但采用线选法地址线又不够用的情况 。
特点:存在地址重叠。 例, CPU地址总线为 16位,存储器由 4片容量
为 8KB 的芯片构成时,采用部分译码法的结构示意图如图 6.6 。
( 4 )混合译码法 什么是混合译码法:是将线选法与部分译码法相结合
的一种方法。 特点:该方法将用于片选控制的高位地址分为两组,其中一组的地址 ( 通常为较低位 ) 采用部分译码法,经译码后的每一个输出作为一块芯片的片选信号;另一组地址 ( 通常为较高位 ) 则采用线选法,每一位地址线作为一块芯片均片选信号。
例,当 CPU 地址总线为 16位,存储器由 10 片容量为 2KB 的芯片构成时,可用混合译码法实现片选控制,如图 6.7。试确定各片存储器的地址范围。
. 4 、地址译码电路的设计 存储器地址译码电路的设计一般遵循如下步骤: ①根据系统中实际存储器容量,确定存储器在整个寻址空间中的位置;
②根据所选用存储芯片的容量,画出地址分配图或列出地址分配表;
③根据地址分配图或分配表确定译码方法并画出相应的地址位图;
④选用合适器件,画出译码电路图。 例 1 :某微机系统地址总线为 16位,实际存储器容量
为 16KB , ROM区和 RAM区各占8KB 。其中, ROM
区采用容量为 2KB 的 EPROM芯片, RAM区采用容量为 1KB 的静态 RAM芯片。试设计该存储器的地址译码电路。
按照设计的一般步骤,设计过程如下: ①地址范围确定:假定实际存储器占用最低 16KB 的
存储空间0000H~ 3FFFH。其中 0000H~ 1FFFH为EPROM区, 2000H—3FFFH为 RAM区。
②根据所采用的存储芯片容量,可画出地址分配图如图 6.8所示;地址分配表如表 6.4 。
③确定地址位图。如图 6.9所示。 ④相应地址译码电路如图 6.10所示 。
三、存储器与控制总线、数据总线的连接 1 、存储器与控制总线的连接 控制存储芯片工作的信号除由地址译码电路产生的片选信号外,还有决定其操作类型的读、写信号。
( 1 ) ROM :只读。一般将存储器的 /OE引脚接CPU的 /RD ,端口译码输出接至 /CS 。
( 2 ) RAM :读写控制。两种方法:一种是只用/WE控制读写, /CS=0,/WE=1 时为读; /CS=0,/WE=0 时为写。 /WE 可接 CPU的 /WR 或 /RD 信号。另一种是用 /WE 和 /OE共同控制读写,
/CS=0,/OE=0 时为读 ; /CS=0,/WE=0 时为写。 /WE 和 /OE 分别接 CPU的 /WR 和 /RD 信号。
2 、存储器与 CPU数据总线的连接根据存储器结构选择连接 CPU的数据总线。
6.3 主存储器接口
主存储器的类型不同,则接口不同。以 EPROM 、 SRAM 、 DRAM 为例分别介绍。
一、 EPROM 与 CPU的接口目前广泛使用的典型 EPROM芯片有 Intel公司生产的 2716 、 2732 、 2764 、 27128、 27256 、 27512 等,其容量分别为 2K×8 位至 64K×8 位。现以 Intel2716 为例对 EPROM的芯片特性和接口方法进行介绍。
1 、芯片特性 存储容量为 16K位 (2K×8位 ) ,存取时间约 450ns 的 EPROM芯片。单一的 +5V 电源。其外部引脚排列图和内部结构框图如图 6.11 所示 。
2.接口方法 Intel2716芯片与 8位 CPU的连接方法如下:①低位地址线、数据线直接相连;如果 CPU的低八位数据和地址线复用,则低八位地址线的产生是由地址锁存器送出的,再接入 EPROM 的低八位地址线。②工作电源 VCC 直接与 +5V 电源相连,编程电源通
常由开关控制;③/CE和 /OE信号分别由 CPU高位地址总线和控制总线译码后产生,通常采用图 6.12所示的 3种方法。
3.接口举例 ( 1 )要求: 用 2716EPROM芯片为某 8位微处理器设计一个 16KB的 ROM存储器。已知该微处理器地址线为 Ao-A15,数据线为 D0 - D7 “ ”, 允许访存 控制信号为 /M,读出控制信号为 /RD。画出 EPROM与 CPU的连接框图。
(2) 分析①每一片 2716芯片的容量为 2KB ,构造一个 16KB 的 E
PROM 存储器共需 8片 2716 。②2716芯片需要 Ao-A10共 11根地址线实现片内寻址,可与地址总线的低 11位 A0-A10直接相连。
③8个芯片的片选信号CE由 3-8 译码器 74LSl38对地址 A11—A13译码产生,输出允许信号 /0E和读信号 /RD相连接。这样除了被选中芯片 /CE为低,由 /RD 信号控制进行读出外,其他 7个芯片的 /CE全为高电平,使其工作在“功耗下降”方式。
( 3 )实现 根据分析,可画出 EPROM 与 CPU的连接框图如图 6.13 所示。当系统中还有 RAM 时,可由 A14 、A15 实现分组控制,统一编址。
二、 SRAM 与 CPU的接口 常用 RAM如 2114 、 2128、 6116 、 626
4 等,以 2114 为例介绍 SRAM 的特性与接口。
1 、芯片特性 存储容量: 1K×4位、存取时间最大 450
ns 外部引脚特性图如下:
上图为内部结构图。该芯片内部将 4096 个基本存储电路排列成 64×64 的矩阵,由 10 根地址线 A0—A9经双译码后对其进行单元选择 。由片选信号 /CS 和写允许信号 /WE, 一起控制内部数据读写电路。当 /CS 和 /WE均有效 ( 低电平 )时,输入三态门打开,数据信息由外部数据总线写入存储器;当 /CS 低电平有效,而 /WE无效( 高电子 ) 时,输出三态门打开,从存储器读出的数据信息送至外部数据总线。
2 、接口方法从连接特性看, 2114芯片与2716相比只增加了一个读/写控制功能,故其接口方法大同小异。
具体如下: ①地址线 A0—A9与地址总线的低 10位直接相连; ②数据输入/输出线 I/O0—I/O4 与数据总线的连续
4位相连; ③片选信号 /CS 可在访存控制信号控制下由高位地址译码产生;
④写允许信号 /WE 与 CPU发出的有关读/写控制信号直接相连或者由有关控制信号组合形成。
3 、接口举例 (1)要求
某 8位微机有地址总线 16根,双向数据总线 8根,控制总线中与主存相关的有“允许访存”信号 /MREQ( 低电平有效 ) 和读/写控制信号 R/W( 高电平读,低电平写 ) 。试用 SRAM芯片 2114 为该机设计一个 8KB 的存储器并画出连接框图。
(2) 分析 ①2114芯片容量为 1KX4位,构造一个 8KB 的存储器共需 16片 2114 ,每两片组成 1KB ,共分 8组;
②2114芯片需 10 根地址线实现片内寻址,可令其与地址总线的低 10位对应相连;
③片选信号CS 可在 MREQ控制下由74LSl38对高位
地址 A10—A12译码产生,译码器每个输出信号同时选中同一组的两块芯片;
④写允许信号WE 可与读/写控制信号 R/W直接相连。
(3)实现根据以上分析,可画出存储器与 CPU的连
接框图如图 6.15所示。
三、 DRAM 与 CPU的接口 DRAM 在与 CPU接口时有两个特殊问题需要考虑。( 1 )由于 DRAM芯片中的存储元是靠栅极电容上的电荷存储信息的,时间一长将会引起信息丢失,所以必须定时刷新;
( 2 )由于 DRAM芯片集成度高,存储容量大,使引脚数量不够用,所以地址输入一般采用两路复用锁存方式。正是由于这两个问题,尤其是定时刷新问题,决定了 DRAM 接口比 SRAM 接口要复杂得多。
目前市场上的 DRAM芯片种类很多,常用的有 Intel公司生产的 2116 、 2118、 2164 等。现以 2164为例对 DRAM 的芯片特性和接口方法进行介绍。
1 、芯片特性Intel2164 是一种存储容量为 64K×l位、最大存取时间为 200ns 、刷新时间间隔为 2ms 。①芯片存储容量为 16K×l位,用于片内寻址的 16位地址 A0 ~ Al5,通过 8 根地址线分时锁存到芯片内的地址锁存器。首先在行选通信号 /RAS 有效时输入16位地址的低 8位作为行址,然后在 /RAS保持
低时启动列选通信号 /CAS 有效,再输入 16位地址高8位作为列址。②芯片内的 65536 个存储元排列为 4 个 128×128的阵列。由行、列地址的最高位来选 4 个阵列之一。③四选一的门控信号和数据输出允许信号均被列选通信号 /CAS控制。在刷新周期 /RM ,低电平有效,而CAS 为高电平无效,使数据输出端呈高阻状态,且“四选一”的情况不能发从而由行地址的低 7 位控制对芯片的 4X128个存储元刷新,即 4 个阵列的同一行同时刷新。④刷新一遍芯片内的所有存储元共需 128个刷新周期。
2.接口方法 刷新控制是 DRAM 接口的关键部分,根据刷新控
制方法的不同,常用的 DRAM 接口有 CPU 控制刷新的 DRAM 接口和采用专用 DRAM控制器的接口。下面对采用 DRAM控制器接口方法进行介绍。
DRAM控制器一般由如下部分组成: ①地址多路开关:由于要向 DRAM芯片分时送出行地址和列地址,所以必须具有多路开关,把来自CPU的地址变成行地址和列地址分两次送出。
②刷新定时器:用来定时提供刷新请求。
③刷新地址计数器:提供刷新的地址,每刷新一行,计数器自动加 1 ,全部行刷新一遍后自动归零,重复刷新过程。
④仲裁电路:当来自 CPU的访问存储器请求和来自刷新定时器的刷新请求同时产生时对二者的优先权进行裁定。
⑤时序发生器:提供行地址选通信号·RAS 、列地址选通信号·CAS 和写允许信号·WE ,以满
对存储器进行访问及对芯片进行刷新的要求。其逻辑框图如图 6. 17所示。
①提供行 /列地址多路转换和行/列地址选通信号。2164 等芯片其行/列地址都是分时输、和锁存的,因而要求接口控制逻辑将总线上的地址按行与列分时转换并产生相应的选通信号。
②芯片内具有刷新定时器和刷新计数器,能实现全部的刷新控制功能,且可由内部定时启动刷新操作或由外部请求刷新操作。
③具有刷新与存取操作冲突裁决,其裁决原则是:存储器读/写请求与刷新请求相对于 8203 冲突时,若在空闲状态下两者同时出现,刷新请求优先;若不在空闲状态,则正在执行的操作优先。
④产生系统响应信号 /SACK和传送响应信号/XACK。 /SACK有效表示开始了一个存储器存取周期。 /XACK在存储器读周期指示数据已稳定地出现在 DRAM芯片的数据输出端,在存储器写周期指示数据已写入 DRAM芯片。
⑤能驱动多达 64片 DRAM芯片。 8203芯片的内部结构框图如图 6. 18所示
8203芯片的内部组成可分为两部分: ( 1 )一部分完成行/列地址多路转换,
将 输入地址分为行地址和列地址从地址输出端 OUT0-OUT7分时输出。在刷新周期内刷新地址由刷新计数器产生,每刷新一行计数器自动增 1 。
( 2 )另一部分产生 DRAM芯片所需的控制信号、 选通信号和响应信号。
3.设计举例 (1) 要求 某微机系统 CPU为 8086且工作在最大方式。试用 2
164DRAM芯片为该系统配置一个 256KB 的存储器,其地址空间为 00000H-3FFFFH。画出存储器接口框图。
(2) 分析 ①2164DRAM芯片的容量为 64KXl位,构成 256KB
的存储器共需 32片 2164DRAM芯片寻址整个存储空间需要 18 位地址,其中用于芯片片内寻址的地址为16位。
②将 32片 2164DRAM芯片分成 4组,分别记为 BANK0 ~ BANK3 ,构成 4 个 64K×8位的存储器阵列。其中 BANK0和 BANK2 为低字节库部分, BANK1 和BANK3 为高字节库部分。同一 BANK中的 8片 2164 除 DIN和 Dour引脚外,其余全部同名引脚均相互连在一起。 BANK0~ BANK1占有地址空间 00000H—1FFFFH, BANK0占有其中的偶地址。而 BANK2 和 BANK3 的地址空间是 20000H~ 3FFFFH, BANK2占有其中的偶地址
③接口的关键部件采用 DRAM控制器 8203芯片。
④由于存储器地址空间为 00000H—3FFFFH,所以 Al9、A18 均为 0,故可利用或门进行译码后的输出作为存储器选择信号 /MS 。 MS 除作为 8203芯片的 PCS之外,同时作锁存器 8282 输出允许的条件之一,使之仅当存储器被选中且进行读操作时锁存器 8282 的 /OE 有效,输出门被打开。
⑤当 8203芯片的 PCS 为低时,在存储器读/写周期依次输出行选通信号 RAS 和列选通信号CAS ,其中行选通信号 /RAS 与地址 A17相关,当 A17=0时从 /RAS1 输出,当 A,7=1 时从 RAS ,输出。为了保证 BAN0和 BANK1占有 00000H—1FFFH,它们的行选通输入 /RAS 应同 8203芯片的 RAS0
相连。同样, BANK2 和 BANK3 的 /RAS应同 8203芯片的 /RAS1相连。
⑥存储器刷新操作可由 8203芯片内部的刷新定时器启动,每隔 14us 产生一次刷新请求 .
(3)实现:如下图。