8086CPU系统、总线操作和时序
第一节 8086的引脚信号与功能
回 顾:8086/8088微型计算机的组成、结构及微机系统的工作过程,微机
系统的存储器组织及相关概念。
本讲重点:8086/8088CPU的两种工作模式,8086/8088CPU的外部结构,即引
脚信号及其功能。
讲授内容:
一、 8086/8088微处理器工作模式及外部结构
1.8086/8088CPU的两种工作模式
为了适应各种使用场合,在设计8088/8086CPU芯片时,就考虑了其应能够 使它工作在两种模式下,即最小模式与最大模式。
所谓最小模式,就是系统中只有一个8088/8086微处理器,在这种情况下, 所有的总线控制信号,都是直接由8088/8086CPU产生的,系统中的总线控制逻 辑电路被减到最少,该模式适用于规模较小的微机应用系统。
最大模式是相对于最小模式而言的,最大模式用在中、大规模的微机应用 系统中,在最大模式下,系统中至少包含两个微处理器,其中一个为主处理器, 即8086/8086CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作 的。
与8088/8086CPU配合工作的协处理器有两类,一类是数值协处理器8087 另一类是输入/输出协处理器8089。
8087是一种专用于数值运算的协处理器,它能实现多种类型的数值运算, 如高精度的整型和浮点型数值运算,超越函数(三角函数、对数函数)的计算 等,这些运算若用软件的方法来实现,将耗费大量的机器时间。换句话说,引 入了8087协处理器,就是把软件功能硬件化,可以大大提高主处理器的运行速 度。
8089协处理器,在原理上有点像带有两个DMA通道的处理器,它有一套专 门用于输入/输出操作的指令系统,但是8089又和DMA控制器不同,它可以直接为输入/输出设备服务,使主处理器不再承担这类工作。所以,在系统中增加8089协处理器之后,会明显提高主处理器的效率,尤其是在输入/输出操作比较频繁
的系统中。
2.8086/8088CPU的引脚信号和功能 (1).引言
如图9-12(P15)所示,是8088CPU的外部结构,即引脚信号图,注意:在 不同的工作模式下,其中一部分引脚的名称和功能可能不一致。
8088/8086CPU芯片都是双列直插式集成电路芯片,都有40个引脚,其中32 个引脚在两种工作模式下的名称和功能是相同的,还有8个引脚在不同的工作 模式下,具有不同的名称和功能。下面,我们分别来介绍这些引脚的输入/输出 信号及其功能。
图9-12 8086/8088CPU引脚功能
(2).两种模式下,名称和功能相同的32个引脚
① VCC、GND:电源、接地引脚(3个),8088/8086CPU采用单一的+5V电源,但有两个接地 引脚。
② AD15—AD0(Address Data Bus):地址/数据复用信号输入/输出引脚(16个),分时输出 低16位地址信号及进行数据信号的输入/输出。 ③ A19/s6—A15/s3(Address Status Bus):地址/状态复用信号输出引脚(4),分时输出 地址的高4位及状态信息,其中s6为0用以指示8086/8088CPU当前与总线连通;s5 为1表明8086/8088CPU可以响应可屏蔽中断;s4、
s3共有四个组态,用以指明当前 使用的段寄存器,如表9-5所示,00—
ES,01—SS,10—CS,11—DS。
④NMI(Non-Maskable Interrupt)、INTR(Interrupt Request):中断请求信号输入引脚(2),引入中断源向CPU提出的中断请求信号,高电平有效,前者为非屏蔽中断请求,后者为可屏蔽中断请求信号。
⑤RD(Read):读控制输出信号引脚(1),低电平有效,用以指明要执行一个对内存单元或I/O端口的读操作,具体是读内存单元,还是读I/O端口,取决于M/IO控制信号。
⑥CLK/(Clock):时钟信号输入引脚(1),时钟信号的方波信号,占空比约为33%,即1/3周期为高电平,2/3周期为底电平,8088/8088的时钟频率(又称为主频)为,即从该引脚输入的时钟信号的频率为。
⑦Reset(Reset):复位信号输入引脚(1),高电平有效。8088/8086CPU要求复位信号至少维持4个时钟周期才能起到复位的效果,复位信号输入之后,CPU结束当前操作,并对处理器的标志寄存器、IP、DS、SS、ES寄存器及指令队列进行清零操作,而将CS设置为0FFFFH。
⑧READY(Ready):“准备好”状态信号输入引脚(1),高电平有效,“Ready”输入引脚接收来自于内存单元或I/O端口向CPU发来的“准备好”状态信号,表明内存单元或I/O端口已经准备好进行读写操作。该信号是协调CPU与内存单元或I/O端口之间进行信息传送的联络信号。
⑨TEST (Test):测试信号输入引脚(1),低电平有效,TEST信号与WAIT指令结合起来使用,CPU执行WAIT指令后,处于等待状态,当TEST引脚输入低电平时,系统脱离等待状态,继续执行被暂停执行的指令。
⑩MN/MX(Minimum/Maximum Model Control)最小/最大模式设置信号输入引脚(1),该输入引脚电平的高、低决定了CPU工作在最小模式还是最大模式,当该引脚接+5V时,CPU工作于最小模式下,当该引脚接地时,CPU工作于最大模式下。
⑩BHE/S7(Bus High Enable/Status):高8位数据允许/状态复用信号输出引脚(1),输出。分时输出BHE有效信号,表示高8为数据线D15—D8上的数据有效和S7 状态信号,但S7未定义任何实际意义。
利用BHE信号和AD0信号,可知系统当前的操作类型,具体规定见表9- 4 (P16)所示。
表9-4 BHE和A0的代码组合和对应的操作 BHE 0 A0 0 1 0 1 1 0 操作 从偶地址单元开始读/写一个字 从奇地址单元或端口读/写一个字节 从偶地址单元或端口读/写一个字节 无效 从奇地址开始读/写一个字(在第一个总线周期将低8位数据送到AD15 ~AD8,下一个周期将高8位数据送到AD7 ~AD0 ) 所用数据引脚 AD15 ~ AD0 0 1 1 0 1 AD15~ AD8 AD7 ~ AD0 -- AD15~ AD0
在8088系统中,该引脚为SS0,用来与DT/R、M/IO一起决定8088芯片
当前总线周期的读写操作,如表9-5(P17)所示。
M/IODT/RSS0 性能
1 0 0 中断响应 1 0 1 读I/O端口 1 1 0 写I/O端口 1 1 1 暂停(Halt) 0 0 0 取指令操作码 0 0 1 读存储器 0 1 0 写存储器 0 1 1 无源
(3).最小模式下的24--31引脚
当8088/8086CPU的MN/MX引脚固定接+5V时,CPU处于最小模式下,这时候剩余的24—31共8个引脚的名称及功能如下:
①INTA(Interrupt Acknowledge)中断响应信号输出引脚(1),低电平有效,该引脚是CPU响应中断请求后,向中断源发出的认可信号,用以通知中断源,以便提供中断类型码,该信号为两个连续的负脉冲。
②ALE(Address Lock Enable):地址锁存允许输出信号引脚(1),高电平有效,CPU通过该引脚向地址锁存器8282/8283发出地址锁存允许信号,把当前地址/数据复用总线上输出的是地址信息,锁存到地址锁存器8282/8283中去。注意:
ALE信号不能被浮空。 ③DEN(Data Enable):数据允许输出信号引脚,低电平有效,为总线收发器8286提供一个控制信号,表示CPU当前准备发送或接收一项数据。
④DT/R(Data Transmit/Receive):数据收发控制信号输出引脚(1),CPU通过该引脚发出控制数据传送方向的控制信号,在使用8286/8287作为数据总线收发器时,DT/R信号用以控制数据传送的方向,当该信号为高电平时,表示数据由CPU经总线收发器8286/8287输出,否则,数据传送方向相反。
⑤IO/M(Memory/Input &Output): 存储器/ I/O端口选择信号输出引脚(1),这是CPU区分进行存储器访问还是I/O访问的输出控制信号。当该引脚输出高电平 时,表明CPU要进行I/O端口的读写操作,低位地址总线上出现的是I/O端口的地址;当该引脚输出低电平时,表明CPU要进行存储器的读写操作,地址总线上出现的是访问存储器的地址。
⑥WR(Write): 写控制信号输出引脚(1),低电平有效,与IO/M配合实现对存储单元、I/O端口所进行的写操作控制。
⑦HOLD(Hold Request): 总线保持请求信号输入引脚(1),高电平有效。这是系统中的其它总线部件向CPU发来的总线请求信号输入引脚。 ⑧HLDA(Hold Acknowledge):总线保持响应信号输出引脚,高电平有效,表示CPU认可其他总线部件提出的总线占用请求,准备让出总线控制权。
指令周期、总线周期、时钟周期、等待周期和空闲周期
指令周期:是指CPU执行一条指令所需要的时间。
总线周期:是指CPU与存储器或外设进行一次数据传送所需要的时间。
时钟周期:又称为T状态,是一个时钟脉冲的重复周期,是CPU处理动作的基本时间单位。它
是由主频来确定,如8086的主频为5MHz,则一个时钟周期为200ns。
等待周期:是在一个总线周期的T3和T4之间,CPU根据Ready信号来确定是否插入TW,插入
几个TW。
空闲周期:是指在二个总线周期之间的时间间隔(总线处在空闲状态)。若为3个时钟周期,
则空闲周期为3个Ti。
它们的关系:时钟周期(T)作为基本时间单位,一个等待周期Tw=T;一个空闲周期Ti=T;一个基本总线周期由四个T组成;一个指令周期由1到几个总线周期组成。
2.最小方式总线读/写操作时序
所谓的总线操作就是CPU在总线周期所进行的操作,它可分为总线读操作和总线写操作。在
8086CPU系统、总线操作和时序



