存储器接口设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.片选信号及行、列地址产生机制
由于存储器芯片的容量是有限的,微机中存储 器的总容量一般远大于存储器芯片的容量,因此, 存储器往往由多片存储器芯片组成,
在CPU与存储器芯片之间必须设有片选择译码 电路,一般由CPU的高位地址译码产生片选,而低 位地址送给存储器芯片的地址输入端,以提供存储 芯片内部的行、列地址 。
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
全译码特点:
优点: 1)地址分布连续,没有重叠。 2)可充分扩展存储器的容量。 缺点: 需要专门译码电路
3)部分译码
意义:将CPU 的全部高位地址线通过译码器 译码,而全部高位地址线直接与芯片选片端相 连。
L
L L
L
例3、8088系统与存储器的连接
A15 A14 பைடு நூலகம்13 A12 A11
A10 A9 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A8 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A7 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
2)部分译码
问题: 1)为什么要选用部分译码? 2)部分译码的特点是什么? 3)部分译码的数据线、地址线怎样连接? 意义:将CPU 的部分高位地址线先通过译码器译码, 再将译码后的信号接到集成芯片选片端。 应用:存储器芯片较多,而CPU寻址空间近似等于存储 器容量。
例4、设CPU的地址线为A0-A15,选用1KX8的芯 片 设计容量为8K字节的存储器。
6.3 主存储器接口
一、EPROM与CPU的接口 1、2716有容量是多大?有哪些数据线、地址线和控制线? 2、2716内部排列成什么阵列?又被分成8个什么矩阵?11根 地址线如何在内部进行译码选种某个单元。 3、2716的工作方式有哪几种?控制信号如何配合读出一个数 据? 4、CPU与2716连接时,CPU如何产生CE、OE信号? 5、CPU与2716连接时,如何计算所需2716芯片的数量? 6、 CPU与2716连接时,CPU 的数据线、地址线和控制线如 何与2716的数据线、地址线和控制线连接。 7、如何分析每一片2716在存储器系统中地址的分配?
U1的与U2的是同一地址范围内偶地址片选与 奇地址片选,由U1的选中1#存储器芯片,其 数据线接至8086系统数据线上的D7~D0,由 U2 的 选 中 2# 存 储 器 芯 片 , 其 数 据 线 接 至 8086系统数据线上的 D15~D8,至于U1和U2 的 ~ 的连接及工作机制均与相同, 16 个片选 的地址范围示于表5-8中
A9~A0 D7~D0
分析:1)A10为0时,CPU选中第(1)个芯片。 2)A11为0时,CPU选中第(2)个芯片。
芯片(1)地址分配分析
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
第 0 单元 第 1 单元 第 2 单元
X X X X 0 X X X X 0
A1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
第 1 芯片 第 2 芯片 第 3 芯片 第 4 芯片 第 5 芯片 第 6 芯片 第 7 芯片 第 8 芯片
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
2)若芯片的数据线不足8根:
一次不能从一个芯片中访问到8位数据 利用多个芯片扩充数据位 这个扩充方式简称“位扩充”
逻辑电路芯片介绍:
1、与门:
A B Y
与门功能表
或门功能表
A
0 0 1 1
B
0 1 0 1
Y
0 0 0 1 A Y 0 1 1 0
A
0 0 1 1
B
0 1 0 1
Y
0 1 1 1
Y6
Y7
74LS138译码器功能表:
G2B 0 0 0 0 0 0 0 G2A G 0 0 0 0 0 0 0 1 1 1 1 1 1 1 C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0
0
1
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
L L L L
D0~D7
分析: 1)片选信号可以用高位地址线 (A10-A15)的任何一根。 2)若片选信号用A10,同时假设A11-A15=00000,则 存储芯片的地址范围是:0000H-03FFH。
例题2、用1KX4 的存储器芯片设计一个1K字节的 存储系统(位扩充)。
A9~A0 片选A10 A9~A0 CE 2114(2) A9~A0 I/O4~I/O1 CE 2114(1) I/O4~I/O1
“高位片选,低位选址”
5.DRAM控制器 它是CPU和DRAM芯片之间的接口电路, 目前已生产出不同型号的集成芯片。它将
CPU的信号变换成适合DRAM芯片的信号。
不同的计算机系统有不同的DRAM控制器
二、存储芯片与CPU的连接
1、数据线的处理 1)若芯片的数据线正好8根:
一次可从芯片中访问到8位数据 全部数据线与系统的8位数据总线相连
2、或门:
A B Y
3、非门
A Y
非门功能表
逻辑电路芯片介绍:
4、与非门:
A B Y
与非门功能表
或非门功能表
5、或非门
A B Y
A 0 0 1 1
B 0 1 0 1
Y 1 1 1 0
A 0 0 1 1
B 0 1 0 1
Y 1 0 0 0
译码器简介
1、2-4译码器
A B S Y0 Y1 Y2 Y3
D7~D4 D3~D0 1 )多个位扩充的存储芯片的数据线连接于系统数据总线 的不同位数。 2)这些芯片应被看作是一个整体,常被称为“芯片组”
片内译码
分析: 1)芯片的地址线通 常应全部与系统的低 位地址总线相连。
A9~A0
存储芯片
2)寻址时,这部分 地址的译码是在存储 芯片内完成的,我们 称为“片内译码”
第5章 微型计算机存储器接口
5.4
微型计算机中存储器的系统组成
问题: 1、M与CPU的连接时应考虑哪些问题? 2、M与CPU的连接时应考虑哪些线之间的连接?如何 进行连接。 3、如何选用存储器芯片? 4、 什么是地址线的线译码、部分译码、全译码? 5、如何按要求设计一个存储器系统。
5.4.1 存储器芯片与CPU连接
A9~A0 00…00 00…01 00…10 … 11…01 11…10 11…11
全0
全1
范围(16进 制) 000H 001H 002H … 3FDH 3FEH 3FFH
2、地址线的连接— 存储芯片片选端的译码(字扩充)
问题: 1、计算机的存储器为什么要由多个芯片组成? 2、CPU如何识别不同的芯片? 存储系统常需利用多个存储芯片扩充容量,也就是扩 充了存储器地址范围。 进行“地址扩充”,需要利用存储芯片的片选端对多个 存储芯片(组)进行寻址。这个寻址方法,主要通过将存 储芯片的片选端与系统的高位地址线相关联来实现。 这种扩充简称为“地址扩充”或“字扩充”。常用的 扩充方法有:1。线译码 2。部分译码 3。全译码?
地址范围 00000H~01FFFH 02000H~03FFFH 04000H~05FFFH 06000H~07FFFH 08000H~09FFFH 0A000H~0BFFFH 0C000H~0DFFFH 0E000H~0FFFFH
三、8086系统与存储器的连接
8086CPU 的 存 储 器 组 织 采 用 2 体 结 构 , 把 1MB存储器分为2个512KB的存储体,即分为偶 地址库与奇地址库(简称偶字库和奇字库)各 512KB. 仅当A0=0时,访问偶地址库中一个字节, 仅当BHE=0时,访问奇地址库中一个字节, 当二者均为0时,访问偶地址的一个字。 根据8086存储器组织,在图5-21中,由U1与 U2 两片 74LS138 三一八译码器,分别产生奇偶 地址库的片选信号
存储芯片的数据线 存储芯片的地址线 存储芯片的片选端 存储芯片的读写控制线
一、存储器芯片与CPU连接时应考虑的问题 1.CPU总线的负载能力
CPU 的地址、数据及控制总线的直流负载一般能 带1个或几个TTL负载。半导体存储器基本上是由 MOS 器件组成,直流负载很小,一般在很小的计算机系 统中,例如单片机应用系统,CPU可以直接与存储器 芯片相连接。 除此之外,为了减轻 CPU的负载,增强系统的可 靠性,一般要采用总线驱动隔离措施,对于数据总 线要采用双向驱动,对于地址总线与控制总线则要 加上单向驱动,将驱动器的输出连至存储器或其他 电路 。
2.CPU的时序与存储器存取速度之间的配合 高速CPU与低速存储器之间的速度如 果不匹配,应在CPU访问存储器的周期内 插入等待脉冲TW 。
3.存储器结构的选定 由于CPU的数据线有8、16、32、64 位等几类,相应存储器的结构分为单体、 2体、4体、8体等,存储器结构的选定是 指CPU与存储器连接时,存储器是单体结 构还是多体结构 。
1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
X X X X 0 X X X X 0
1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1
最后 单元
芯片地址用16进制表示: 地址范围:0700H-07FFH 第0 单元:0700H 地址范围:1700H-17FFH 第1 单元:0701H 第2 单元:0702H F700H-F7FFH 最后单元:07FFH ~
芯片(2)地址分配分析
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
第 0 单元 第 1 单元 第 2 单元
X X X X 1 X X X X 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
X X X X 1 X X X X 1
S
B
A Y3 Y2 Y1 Y0
0
0 0
0
0 1
0
1 0
1
1 1
1
1 0
1
0 1
0
1 1
0
1
1
0
1
1
1
2、3-8译码器
C B A G1 74LS138 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G2A G2B
例题1,用1KX8 的存储器芯片设计一个1K字节的 存储系统。
A9~A0
片选 A10
A9~A0 CE 1Kx8 D0~D7
1)线译码
意义:用CPU 的一根高位地址线控制一块集成芯片。 应用:存储器芯片不多,而CPU寻址空间远大于存储器 容量。 例3、设CPU的地址线为A0-A15,选用1KX8的芯片设计 容量为2K字节的存储器。 A11 A10 片选端 CE 1KX8(1) A9~A0 D7~D0 CE 1KX8 (2) A9~A0 D7~D0
特点:介于线译码与全译码之间
A19~A15 A14~A12
全0 全0 全0 全0 全0 全0 全0 全0 000 OO1 010 011 100 101 110 111
A11~A0
从全0到全1 从全0到全1 从全0到全1 从全0到全1 从全0到全1 从全0到全1 从全0到全1 从全0到全1
译码器 输出 Y0* Y1* Y2* Y3* Y4* Y5* Y6* Y7*
0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1
最后 单元
芯片地址用16进制表示: 第0 单元:0800H 第1 单元:0801H 地址范围:0800H-08FFH 第2 单元:0802H 最后单元:08FFH
线译码的特点:
优点: 连线简单,不需专门译码电路 缺点: 1)地址有重叠。 一个存储单元可以通过 多个地址访问。 2)地址分布不连续。 3)容量扩展有限(6K)。
A6 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A3 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
74LS138 A11
A12
A10
译 码 器
A9~A0 D7~D0 分析:1)数据线并连。 2)低位地址线(A0-A9)并联。 3)高位地址线的(A10-A12)通过译码器译码后, 连于不同的芯片。 4)高位地址线的(A13-A15)用于使译码器正常译码。
片选端 CE Y1 CE (2) CE Y0 ( 7 ) CE A9~A0 D7~D0 ( 1 ) CE (1) A9~A0 D7~D0 A ~A D ~D0 (1) A9~A0 9D7~0D0 7 A9~A0 D7~D0