3 引脚功能、总线结构和时序
8086/8088 CPU
3.1 重点与难点
在上一章讨论CPU内部结构时已经看到,在CPU内部,执行单元
EU和总线接口单元BIU之间是通过一组16位的数据总线及一组8位的队列总线进行寄存器阵列及指令队列间的信息交换的。总线使CPU内部的操作简化了。为了使CPU与外部存储器、I/O接口等沟通,微处理器也采用了总线方式。因此认识CPU的使用方法就要知道CPU的引脚;而认识引脚就必须认识CPU的外总线。CPU就是通过外总线与存储器、I/O接口、外部控制部件组成不同规模的系统;并进行相互间的信息交换。
3.1.1 CPU外总线的三态性
任何微处理器(包括8086/8088)的地址总线、数据总线及部分控
制总线均采用三态缓冲器式总线电路。所谓三态,是指它们的输出可以有逻辑“1”、逻辑“0”和“浮空”三种状态。当处于浮空状态时,总线电路呈现极高的输出阻抗,如同与外界“隔绝”一样。总线电路的这种三态性,既保证了在任何时候,只允许此刻进行信息交换的设备占用总线,其他设备与总线“完全” 脱离,不会影响正常的信息传递,又为其他快速信息传递方式(如DMA)提供了必要条件。只要申请DMA方式传递,外总线可以完全“脱离”CPU的控制,而与存储器或I/O设备直接进行信息交换。总线的三态性是现在问世的所有微
处理器的共性。学习和使用微处理器必须认识到这一特性。对8086来说,还应该认识其CPU引脚的特殊性。 3.1.2 8086/8088地址/数据线的分时复用特性
为了减少芯片上的引脚数目,8086/8088 CPU都采用了分时复用的地址/数据总线。前已述及8086有20条地址总线,16条数据总线,其中数据总线和低16位地址总线是采用分时复用的(8088分时复用的地址数据线仅有8位)。当执行存储器读写或I/O读写,并在CPU总线周期的T1状态时,作地址总线输出(A15A0),在其他T状态
A19也是复用
均作为双向数据总线使用。地址总线的高4位A16线,但它们是地址/状态复用线。由于8086/8088对I/O端口的寻址仅用低16位地址线,故A16A19在T1状态作为地址总线使用时仅能
对存储器寻址。为了使地址信息在整个总线周期中均保持有效状态,必须设置地址锁存器把T1状态上输出的20条地址信息进行锁存。8086/8088用于地址锁存的控制信号为ALE,这是一条专用的高电平有效的输出信号。Intel公式提供的地址锁存元件为Intel 8282,这是一个带输出三态电路的8D锁存器,与其结构和功能相类同的通用原件是74LS 373或74LS 374等。因此,作为地址锁存,亦可采用其他功能相同的元件。 与高4位地址复用的状态线S3下:
S6在总线周期的其他状态时作用如
S6:始终为地电平(没定义);
S5:输出,指明标志寄存器中中断允许标志IF的当前状态。
S4,S3:编码,指明当前正使用的段寄存器。