微机原理作业

发布 2022-09-04 20:42:28 阅读 8396

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 第二题...