7-存储器接口设计
线选法: (1) 单线双选: CPU中用于“选片”的高位地址线(即存储器 芯片未用完地址线)若一根连一组芯片片选端, 经反相后,该线还可选通另一组芯片,这样单 线可选中两组芯片,这是线选法之一。
(2)单线单选 另一种常用的线选法是用高位地址 的 每一根线分别控制各组芯片 的片 选端。 如下图所示:
04000H~07FFFH
注:高位地址线A19、A18、A17未使用表示取0、1均可,此处 用0代替,所以每块芯片将同时有23=8个重叠区。
D7~D0
A14 A15 A16
A Y1 B C 74LS138 G2A
Y0
CE
A13~A1
6264 3#
WR RD
偶 体
CE 2732
A12~A1
偶 体
CE 2732
奇 体
图4.25 8086 CPU与 图4.25 8086 CPU与 存储器连接的举例 存储器连接的举例
D15~D8
存储器的地址范围为: 存储器的地址范围为:
芯片 A19 A18 A17 A16 A15 A14 A13 A12……A1A0 1#组 × × × 全0 ~ 全1 地址范围
0
0
0
0
00000H~01FFFH
2#组 ×
×
×
0
0
0
1
全0 ~ 全1
02000H~03FFFH
3#组 ×
×
×
0
0
1
全0 ~ 全1
图4.20为线选法的例子,令A13和A14分别接芯片甲和 乙的片选端。可能的选择只有10(选中芯片甲)和01(选 中芯片乙)。
A14 A13
CE 2764 (甲) A12~A0
CE 2764 (乙)
芯片 A19 ~ A15 甲 ××××× 乙 ×××××
A14 A13 1 0 0 1
A12 ~ A0 一个可用的地址范围 全0~全1 04000H~05FFFH 全0~全1 02000H~03FFFH
CE
CE
CE
2732 (1)
2732 (2)
2732 (3)
2732 (4)
芯片 A19 ~ A15 A14~A12 A11 ~ A0 一个可用地址范围
1 2 3 4 ××00× ××00× ××00× ××00× 000 001 010 011 全0~全1 全0~全1 全0~全1 全0~全1 00000~00FFFH 01000~01FFFH 02000~02FFFH 03000~03FFFH
A12~A1
偶 体
···
A0
G2B
Y7
G1
1#
RD
2#
RD
&
M/IO A13 A14 A15 A16
& &
RD RD
A Y1 B C 74LS138 G2A
G1
Y0
&
WR RD
···
CE
A13~A1BHEG2B NhomakorabeaY7
6264 3#
奇 体
CE 2732 1#
A12~A1
奇 体 A ~A 12 1
CE 2732 2#
图4.20 线选法 图4.20 线选法 A19~A15因未参与对2个2764的片选控制,故其值可以是0或1 因未参与对2个2764的片选控制,故其值可以是0或1 (用x表示任取),这里,假定取为全0,则得到了两片2764 (用x表示任取),这里,假定取为全0,则得到了两片2764 的地址范围如图中所示,显然2片2764的重叠区各有25=32 的地址范围如图中所示,显然2片2764的重叠区各有2 个。 个。
A19~ A1 BHE A0 AB
CS
偶存储体
A19~A1
CS
A19~A1
奇存储体 D7~D0 DB
D7~D0 D15~D8 D7~D0
图4.24 存储体与总线的连接 图4.24 存储体与总线的连接
8086CPU访问(读或写)存储器由信号BHE和A0组合形成,见表4.2。
2. 连接举例:
要求用4K×8的EPROM芯片2732,8K×8的RAM芯片6264 ,译码器74LS138构成8K字ROM和8K字RAM的存储器系统,系 统配置为8086的最小模式。 ROM芯片,8K字用4片2732芯片组成,片内用12根地址线 A1~A12寻址。 RAM芯片,8K字用2片6264芯片组成,片内用13根地址线 A1~A13寻址。 芯片选择由74LS138译码器输出Y0、Y1完成。74LS138译码 器的输入端C,B,A分别连地址线A16~A14 ,A0 、BHE用来作为 偶体/奇体存储器的体选控制信号。由于ROM芯片容量为4K×8位 ,用A13 和Y0 输出进行二次译码,来选择两组ROM芯片,如图 4.25所示。
图4. 22所示的电路,采用部分译码对4个2732芯片(4K×8 位,EPROM)进行寻址。译码时,未使用高位地址线A19、A18和 A15。所以,每个芯片将同时具有23=8个可用且不同的地址范围(即 重叠区)。
M/IO A16 A17 G1 G2A G2B Y0 Y1 Y2 Y3
CE
A14 A13 A12 A11~A0 C B A
图4.22 部分译码 图4.22
为了实现规则 存放,将8086的1MB存储 空间分成两个512KB的存储体,具体为:
(1) 偶数存储体与8086的D0~D7相连。 (2) 奇数存储体与8086中D8~D15相连。 (3) A1~A19用来同时访问两个存储体的字节 单元。 (4) A0和BHE(高8位数据总线允许)信号用 来选择存储体。