文档介绍:5-4 CPU与存储器的连接
【回顾】微型系统的系统总线结构及存储器组织。
【本讲重点】按实际应用的需要,由不同规格、类型的存储器芯片,通过与系统
总线的连接,构成存储器系统。
微机系统的规模、应用场合不同,对存储器系统的容量、类型的要求也必
不相同,一般情况下,需要用不同类型,不同规格的存储器芯片,通过适当的
硬件连接,来构成所需要的存储器系统,这就是本节所需要讨论的内容。
一、存储器芯片与CPU的连接
1. 引言
在微型系统中,CPU对存储器进行读写操作,首先要由地址总线给出地址信号,选择要进行读/写操作的存储单元,然后通过控制总线发出相应的读/写控制信号,最后才能在数据总线上进行数据交换。所以,存储器芯片与CPU之间的连接,实质上就是其与系统总线的连接,包括:
•地址线的连接;
•数据线的连接;
•控制线的连接;
在连接中要考虑的问题有以下几个方面:
(1)控制线的连接:即如何用CPU的存储器读写信号同存储器芯片的控制信号线连接,以实现对存储器的读写操作。简单系统:CPU读写信号与存储器芯片的读写信号直接相连。复杂系统:CPU读写信号和其它信号组合后与存储器芯片的读写信号直接相连。 CPU读信号最终和存储器的读信号相连,CPU写信号最终和存储器的写信号相连。
(2) 数据线的连接:若一个芯片内的存储单元是8位,则它自身就作为一组,其引脚D0~D7可以和系统数据总线D0~D7或D8~D15直接相连。若一组芯片(4个或8个)才能组成8位存储单元的结构,则组内不同芯片应与不同的数据总线相连。
6116
8086
D7
D0
I/O8
I/O1
2164(0)
8086
D7
D0
DIN(DOUT)
2164(6)
DIN(DOUT)
2164(7)
DIN(DOUT)
D6
存储器芯片与CPU的连接——存储器芯片分组
位扩展(加大字长)
[例] 用8个16K×1bit芯片组成16K×8bit的存储器。
…
…
A0
A13
…
D0
D1
D2
D7
16K×1
CS
CS
CS
CS
WE
WE
WE
WE
16K×1
D0
D1
D2
D7
(3) 地址线的连接:将用以“字选”的低位地址总线直接与存贮芯片的地址引脚相连,将用以“片选”的高位地址总线送入译码器。
2732
8086
译码器
A19~A12
A11~A0
A11~A0
6116
8086
译码器
A19~A11
A10~A0
A10~A0
可以根据所选用的半导体存储器芯片地址线的多少,把CPU的地址线分为芯片外(指存储器芯片)地址和芯片内的地址,片外地址经地址译码器译码后输出。
作为存储器芯片的片选信号,用来选中CPU所要访问的存储器芯片。
片内地址线直接接到所要访问的存储器芯片的地址引脚,用来直接选中该芯片中的一个存储单元。
对4K×8b的2732而言,片外地址线为A19~A12,片内地址线为A11~A0;
对2K×8b的6116而言,片外地址线为A19~A11,片内地址线为A10~A0。
字扩展(扩大地址)
CS
WE
CS
WE
CS
WE
CS
WE
16K×4
16K×4
16K×4
16K×4
…
A0
A13
…
…
…
WE
D0
D1
D2
D3
译码器
A14
A15
1
2
3
D0 ~ D3
D0 ~ D3
D0 ~ D3
D0 ~ D3
2. CPU总线的负载能力
在设计CPU芯片时,一般考虑其输出线的直流负载能力为带一个TTL负载。现在的存储器一般都为MOS电路,直流负载很小,主要的负载是电容负载,故在小型系统中,CPU是可以直接与存储器相连的,而较大的系统中,若CPU的负载能力不能满足要求,可以(就要考虑CPU能否带得动,需要时就要加上缓冲器,)由缓冲器的输出再带负载。
3. CPU的时序和存储器的存取速度之间的配合问题
CPU在取指和存储器读或写操作时,是有固定时序的,用户要根据这些来确定对存储器存取速度的要求,或在存储器已经确定的情况下,考虑是否需要Tw周期,以及如何实现。
4. 存储器的地址分配和片选问题
内存通常分为RAM和ROM两大部分,而RAM又分为系统区(即机器的监控程序或操作系统占用的区域)和用户区,用户区又要分成数据区和程序区,ROM的分配也类似,所以内存的地址分配是一个重要的问题。
另外,目前生产的存储器芯片,单片的容量仍然是有限的,通常总是要由许多片才能组成一个存储器,这里就有一个如何产生片选信号的问题。