4.4 存储器芯片的扩展及其与系统总线的连接
教学目的 】 按实际应用的需要,由不同规格、类型的存储器芯片,通过系统总线的连接,构成存储器系统。
教学重点 】 设计方法和思路
教学难点 】 位扩展和字扩展
教学手段 】 现场教学与提问 【 学时分配 】 2
自学内容 】 课外作业 】
教学内容 】
4.4 存储器芯片的扩展及其与系统总线的连接
微机系统的规模、应用场合不同,对存储器系统的容量、类型的要求也必
不相同,一般情况下,需要用不同类型,不同规格的存储器芯片,通过适当的
硬件连接,来构成所需要的存储器系统,这就是本节所需要讨论的内容。
一、 存储器芯片与 cpu 的连接
1 .引言
在微型系统中, cpu 对存储器进行读写操作,首先要由地址总线给出地
址信号,选择要进行读 / 写操作的存储单元,然后通过控制总线发出相应的读 / 写
控制信号,最后才能在数据总线上进行数据交换。所以,存储器芯片与 cpu 之间的连接,实质上就是其与系统总线的连接,包括:
地址线的连接;
数据线的连接;
控制线的连接;
在连接中要考虑的问题有以下几个方面:
2 . cpu 总线的负载能力
在设计 cpu 芯片时,一般考虑其输出线的直流负载能力,为带一个 ttl
负载。现在的存储器一般都为 mos 电路,直流负载很小,主要的负载是电容
负载,故在小型系统中, cpu 是可以直接与存储器相连的,而较大的系统中,
若 cpu 的负载能力不能满足要求,可以(就要考虑 cpu 能否带得动,需要时
就要加上缓冲器,)由缓冲器的输出再带负载。
3 . cpu 的时序和存储器的存取速度之间的配合问题
cpu 在取指和存储器读或写操作时,是有固定时序的,用户要根据这些来确定对存储器存取速度的要求,或在存储器已经确定的情况下,考虑是否需要 t w 周期,以及如何实现。
4 .存储器的地址分配和片选问题
内存通常分为 ram 和 rom 两大部分,而 ram 又分为系统区 ( 即机器的监控程序或操作系统占用的区域 ) 和用户区,用户区又要分成数据区和程序区, rom 的分配也类似,所以内存的地址分配是一个重要的问题。另外,目前生产的存储器芯片,单片的容量仍然是有限的,通常总是要由许多片才能组成一个存储器,这里就有一个如何产生片选信号的问题。
5 .控制信号的连接
cpu 在与存储器交换信息时,通常有以下几个控制信号 ( 对 8088/8086 来说 ) m ( io/ )以及 wait 信号。这些信号如何与存储器要求的控制信号相连,以实现所需的控制功能。
二、 存储器芯片的扩展
存储器芯片扩展的方法有以下两种:
1 . 存储器芯片的位扩充
适用场合: 存储器芯片的容量满足存储器系统的要求,但其字长小于存储器系统
的要求。 例 1 用 1k × 4 的 2114 芯片构成 lk × 8 的存储器系统。
分析: 由于每个芯片的容量为 1k ,故满足存储器系统的容量要求。但由于每个芯片只能提供 4 位数据,故需用 2 片这样的芯片,它们分别提供 4 位数据至系统的数据总线,以满足存储器系统的字长要求。
设计要点 :
将每个芯片的 10 位地址线按引脚名称一一并联,按次序逐根接至系统地址总线的低 10 位。
数据线则按芯片编号连接, 1 号芯片的 4 位数据线依次接至系统数据总线的 d 0 -d 3 , 2 号芯片的 4 位数据线依次接至系统数据总线的 d 4 -d 7 。
两个芯片的端并在一起后接至系统控制总线的存储器写信号(如 cpu 为 8086/8088 ,也可由和 / m 或 io/ 的组合来承担)。
引脚也分别并联后接至地址译码器的输出,而地址译码器的输入则由系统地址总线的高位来承担。
具体连线见图 4-16 。
当存储器工作时,系统根据高位地址的译码同时选中两个芯片,而地址码的低位也同时到达每一个芯片,从而选中它们的同一个单元。在读 / 写信号的作用下,两个芯片的数据同时读出,送上系统数据总线,产生一个字节的输出,或者同时将来自数据总线上的字节数据写入存储器。
图 4-16 用 2114 组成 1k × 8 的存储器连线
根据硬件连线图,我们还可以进一步分析出该存储器的地址分配范围如下:(假设只考虑 16 位地址)
地址码芯片的地址范围
a 15 ..a 12 a 11 a 10 a 9 ..a 0
× 0 0 0 0 0 0 0 0 h
× 0 0 1 1 0 3 f f h
表示可以任选值,在这里我们均选 0 。
这种扩展存储器的方法就称为位扩展,它可以适用于多种芯片,如可以用 8 片 2164a 组成一个 64k × 8 的存储器等。
2 .存储器芯片的字扩充
适用场合: 存储器芯片的字长符合存储器系统的要求,但其容量太小。
例 2 用 2k × 8 的 2716 a存储器芯片组成 8k × 8 的存储器系统。
分析: 由于每个芯片的字长为 8 位,故满足存储器系统的字长要求。但由于每个芯片只能提供 2k 个存储单元,故需用 4 片这样的芯片,以满足存储器系统的容量要求。
设计要点 : 同位扩充方式相似。
先将每个芯片的 11 位地址线按引脚名称一一并联,然后按次序逐根接至系统地址总线的低 11 位。
将每个芯片的 8 位数据线依次接至系统数据总线的 d 0 -d 7 。
两个芯片的端并在一起后接至系统控制总线的存储器读信号(这样连接的原因同位扩充方式),
它们的引脚分别接至地址译码器的不同输出,地址译码器的输入则由系统地址总线的高位来承担。连线见图 4-17 。
图 4-17 用 2716 组成 8k × 8 的存储器连线
当存储器工作时,根据高位地址的不同,系统通过译码器分别选中不同的芯片,低位地址码则同时到达每一个芯片,选中它们的相应单元。在读信号的作用下,选中芯片的数据被读出,送上系统数据总线,产生一个字节的输出。
同样,根据硬件连线图,我们也可以进一步分析出该存储器的地址分配范围如下表:(假设只考虑 16 位地址)
地址码芯片的地址范围对应芯片编号
a 15 ..a 13 a 12 a 11 a 10 a 9 ..a 0
× 0 0 0 0 0 0 0 0 0 h
× 0 0 1 1 1 0 7 f f h
× 0 1 0 0 0 0 8 0 0 h
× 0 1 1 1 1 0 f f f h
× 1 0 0 0 0 1 0 0 0 h
× 1 0 1 1 1 1 7 f f h
× 1 1 0 0 0 1 8 0 0 h
× 1 1 1 1 1 1 f f f h
表示可以任选值,在这里我们均选 0 。
这种扩展存储器的方法就称为字扩展,它同样可以适用于多种芯片,如可以用 8 片 27128 ( 16k × 8 )组成一个 128k × 8 的存储器等。
3 .同时进行位扩充与字扩充
适用场合: 存储器芯片的字长和容量均不符合存储器系统的要求,这时就需要用多片这样的芯片同时进行位扩充和字扩充,以满足系统的要求。
例 3 用 1k × 4 的 2114 芯片组成 2k × 8 的存储器系统。
分析: 由于芯片的字长为 4 位,因此首先需用采用位扩充的方法,用两片芯片组成 1k × 8 的存储器。再采用字扩充的方法来扩充容量,使用两组经过上述位扩充的芯片组来完成。
设计要点 : 每个芯片的 10 根地址信号引脚宜接接至系统地址总线的低 10 位,每组两个芯片的 4 位数据线分别接至系统数据总线的高 / 低四位。地址码的 a 10 、 a 11 经译码后的输出,分别作为两组芯片的片选信号,每个芯片的控制端直接接到 cpu 的读 / 写控制端上,以实现对存储器的读 / 写控制。
硬件连线如图 4-18
图 4-18 用 2114 组成 2k × 8 的存储器连线
当存储器工作时,根据高位地址的不同,系统通过译码器分别选中不同的芯片组,低位地址码则同时到达每一个芯片组,选中它们的相应单元。在读 / 写信号的作用下,选中芯片组的数据被读出,送上系统数据总线,产生一个字节的输出,或者将来自数据总线上的字节数据写入芯片组。
同样,根据硬件连线图,我们也可以进一步分析出该存储器的地址分配范围如下:(假设只考虑 16 位地址)
地址码芯片组的地址范围对应芯片组编号
a 15 ..a 13 a 12 a 11 a 10 a 9 ..a 0
× 0 0 0 0 0 0 0 0 h
× 0 0 1 1 0 3 f f h
× 0 1 0 0 0 4 0 0 h
× 0 1 1 1 0 7 f f h
表示可以任选值,在这里我们均选 0 。
思考: 从以上地址分析可知,此存储器的地址范围是 0000h-07ffh 。如果系统规定存储器的地址范围从 0800h 开始,并要连续存放,对以上硬件连线图该如何改动呢?
由于低位地址仍从 0 开始,因此低位地址仍直接接至芯片组。于是,要改动的是译码器和高位地址的连接。我们可以将两个芯片组的片选输入端分别接至译码器的 y 2 和 y 3 输出端,即当 a 11 、 a 10 为 10 时,选中 2114-1 ,则该芯片组的地址范围为 0800h-0bffh ,而当 a 11 、 a 10 为 11 时,选中 2114-2 ,则该芯片组的地址范围为 0c00h-0fffh 。
同时,保证高位地址为 0 (即 a 15 -a 12 为 0 )。这样,此存储器的地址范围就是 0800h-0fffh 了。(具体连线自己考虑)
以上例子所采用的片选控制的译码方式称为全译码方式 ,这种译码电路较复杂,但是,由此选中的每一组的地址是确定且唯一的。有时,为方便起见,也可以直接用高位地址(如 a 10 — a 15 中的任一位)来控制片选端。例如用 a 10 来控制,如图 4-19 所示。
微机原理作业
微型计算机原理及应用 作业。作业组别 十八。班级 机电一班姓名 学号 作业指导教师 任课教师 实验室教师 作业完成时间 2013年4月17日。目录。1题目一31 1题目分析31.2寄存器的应用说明31.3程序框图31.4详细程序41.5程序调试的情况42题目二42.1题目分析52.2寄存器及主存等的...
微机原理作业
微型计算机原理及应用 作业。作业组别 第30组。班级 12级轧钢二班。姓名 贾闯 学号 120101020023 指导教师 李艳文 完成时间 2015年 05 月。一 题目及题目分析描述及要求。题目 内存中source处存放着10个字节型数据,请记录每个字节数据中二进制位1的个数,并按照数据字节在前...
微机原理作业
微型计算机原理及应用 作业。作业组别 第十一组。班级 10级机控一班。姓名 孙策。学号 100107010140 作业指导教师 李艳文 作业完成时间 2013年4月9日。目录。第一题 1 一 题目分析 1 二 寄存器及主存应用说明 1 三 程序框图 1 四 详细程序 1 五 程序调试情况 2 第二题...