第5章 8086 系统时序和微机总线 习题答案(部分)
5.1 什么是时钟周期、总线周期、指令周期?
答:8086CPU 执行一条指令是由取指令、译码和执行等操作组成的,为了使 8086CPU
的各种操作协调同步进行,8086CPU 必须在时钟信号 CLK 控制下工作,时钟信号是一个
周期性的脉冲信号,一个时钟脉冲的时间长度称为一个时钟周期(Clock Cycle),是时钟频率
(主频)的倒数,时钟周期是计算机系统中的时间基准。8086CPU 要通过总线才能与外部交换信息,CPU 通过总线接口单元与外部交换一次信息,称为一次总线操作,所耗用的时间称为一个总线周期(Bus Cycle),也称机器周期(MachineCycle)。一个总线周期由若干个时钟周期组成,总线操作的类型不同,总线周期也不同。一个总线周期内完成的数据传输,一般有传送地址和传送数据两个过程。8086CPU 执行一条指令所需要的时间称为指令周期(Instruction Cycle),一个指令周期由若干个总线周期组成,
5.3 8086 和8088 有何区别?
答:这两种CPU 的主要区别如下:
⑴ 外部数据总线位数:8086 CPU 的外部数据总线有16 位,在一个总线周期内可输入/
输出一个字(16 位数据),使系统处理数据和对中断响应的速度得以加快;而8088 CPU 的
外部数据总线为8 位,在一个总线周期内只能输入/输出一个字节(8 位数据)。
⑵ 指令队列容量:8086 CPU 的指令队列可容纳6 个字节,且在每个总线周期中从存储
器中取出2 个字节的指令代码填入指令队列,这可提高取指操作和其它操作的并行率,从而
提高系统工作速度;而8088 CPU 的指令队列只能容纳4 个字节,且在每个总线周期中能取
一个字节的指令代码,从而增长了总线取指令的时间,在一定条件下可能影响取指令操作和
其它操作的并行率。
⑶ 引脚特性:两种CPU 的引脚功能是相同的,但有以下几点不同:
1) AD15~AD0 的定义不同:在8086 中都定义为地址/数据复用总线;而8088 中,由于
只需8 条数据总线,因此,对应于8086 的AD15~AD8 这8 条引脚定义为A15~A8,只作
地址线使用。
2) 34 脚的定义不同:在8086 中定义为BHE信号;而在8088 中定义为SSO,它与DT / R,
IO /M一起用作最小方式下的周期状态信号。
3) 28 脚的相位不同,在8086 中为M / IO;而在8088 中被倒相,改为IO/M,以便与
8080/8085 系统的总线结构兼容。
5.4 8086 是怎样解决地址线和数据线的复用问题的?ALE 的作用是什么?
答:(1)、AD15-AD0 采用分时的多路转换方法来实现对地址线和数据线的复用。在总
线周期T1 状态下,这些引线表示为低16 位地址线,在总线周期为T2、T3、TW 状态,这
些引线用作数据总线,可见对复用信号是用时间来加以划分的,他要求在T1 状态下先出现
低16 位地址时,用地址锁存器加以锁存,随后的T 状态,即使这些用作数据线,而低16
位地址线的地址状态去被记录保存下来,并达到地址总线上。
(2)、ALE 是地址锁存允许信号,高电平有效。