8086CPU系统、总线操作和时序
- 格式:doc
- 大小:391.00 KB
- 文档页数:8
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的外部结构,即引脚信号图,注意:在不同的工作模式下,其中一部分引脚的名称和功能可能不一致。
8086总线操作时序1.读取操作时序:第一步:外设将有效的数据放入数据总线上。
外设需要将有效的数据放入数据总线,以供8086处理器读取。
在此时,地址总线应该是有效的,并且8086会将相应的地址放到地址总线上。
第二步:8086发出读命令。
一旦外设将有效的数据放到数据总线上,8086会发出读命令,以控制数据总线的状态。
第三步:外设驱动控制信号RD#的低电平。
外设会驱动RD#信号的低电平。
这个信号告诉外设,数据已经被读取,可以停止在数据总线上的驱动,以便其他设备可以使用数据总线。
第四步:8086读取数据。
8086会在RD#信号变为低电平后读取数据,并将数据存储到内部寄存器或内存中。
第五步:8086驱动中断(INTA#)信号。
如果外设是中断请求源,则在读取完数据后,8086会驱动中断信号INTA#的低电平,以告知外设可以发出中断向量。
第六步:外设驱动中断向量。
当外设收到INTA#信号后,它将驱动中断向量送至数据总线上,以供8086读取。
8086在收到中断向量后,将其存储到内部寄存器中,以供程序执行相应的中断处理程序。
2.写入操作时序:第一步:8086发出写命令。
8086在进行写操作时,会发出写命令,以控制总线的状态。
第二步:外设驱动控制信号WR#的低电平。
外设会将WR#信号驱动为低电平,这个信号告诉外设,数据总线上的数据已经准备好,可以写入。
第三步:外设将数据放入数据总线。
在WR#信号变为低电平后,外设会把需要写入的数据放到数据总线上。
第四步:8086读取数据。
8086在数据总线上的数据稳定后,会将数据读取,并将数据存储到内部寄存器或内存中。
第五步:外设驱动ACK#信号。
如果外设要求确认数据接收,它会驱动ACK#信号的低电平。
这个信号告诉8086数据已经被接收,并且可以停止数据总线的驱动。
第六步:8086驱动中断(INTA#)信号。
如果外设是中断请求源,并且发生了中断,8086会驱动中断信号INTA#的低电平,以告知外设可以发出中断向量。
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 电源,但有两个接地 引脚。
② AD 15—AD 0(Address Data Bus ):地址/数据复用信号输入/输出引脚(16个),分时输出 低16位地址信号及进行数据信号的输入/输出。
③ A 19/s 6—A 15/s 3(Address Status Bus ):地址/状态复用信号输出引脚(4),分时输出 地址的高4位及状态信息,其中s 6为0用以指示8086/8088CPU当前与总线连通;s 5 为1表明8086/8088CPU 可以响应可屏蔽中断;s 4、s 3共有四个组态,用以指明当前 使用的段寄存器,如表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端口,取决于IOM/控制信号。
⑥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)所示。
BHE在8088系统中,该引脚为0SS ,用来与R DT /、IO M /一起决定8088芯片当前总线周期的读写操作,如表9-5(P17)所示。
IO M /R DT /0SS 性能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 的X M MN /引脚固定接+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/(Data Transmit/Receive):数据收发控制信号输出引脚(1),CPU通④R过该引脚发出控制数据传送方向的控制信号,在使用8286/8287作为数据总线DT/信号用以控制数据传送的方向,当该信号为高电平时,表示收发器时,R数据由CPU经总线收发器8286/8287输出,否则,数据传送方向相反。
IO/(Memory/Input &Output): 存储器/ I/O端口选择信号输出引脚(1),⑤M这是CPU区分进行存储器访问还是I/O访问的输出控制信号。
当该引脚输出高电平时,表明CPU要进行I/O端口的读写操作,低位地址总线上出现的是I/O 端口的地址;当该引脚输出低电平时,表明CPU要进行存储器的读写操作,地址总线上出现的是访问存储器的地址。
IO/配合实现对⑥WR(Write): 写控制信号输出引脚(1),低电平有效,与M存储单元、I/O端口所进行的写操作控制。
⑦HOLD(Hold Request): 总线保持请求信号输入引脚(1),高电平有效。
这是系统中的其它总线部件向CPU发来的总线请求信号输入引脚。
⑧HLDA(Hold Acknowledge):总线保持响应信号输出引脚,高电平有效,表示CPU认可其他总线部件提出的总线占用请求,准备让出总线控制权。
指令周期、总线周期、时钟周期、等待周期和空闲周期指令周期:是指CPU执行一条指令所需要的时间。
总线周期:是指CPU与存储器或外设进行一次数据传送所需要的时间。
时钟周期:又称为T状态,是一个时钟脉冲的重复周期,是CPU处理动作的基本时间单位。
它是由主频来确定,如8086的主频为5MHz,则一个时钟周期为200ns。
等待周期:是在一个总线周期的T3和T4之间,CPU根据Ready信号来确定是否插入T W,插入几个T W。
空闲周期:是指在二个总线周期之间的时间间隔(总线处在空闲状态)。
若为3个时钟周期,则空闲周期为3个T i。
它们的关系:时钟周期(T)作为基本时间单位,一个等待周期Tw=T;一个空闲周期Ti=T;一个基本总线周期由四个T组成;一个指令周期由1到几个总线周期组成。
2.最小方式总线读/写操作时序所谓的总线操作就是CPU在总线周期所进行的操作,它可分为总线读操作和总线写操作。
在进行总线读/写操作时,CPU 的控制信号、地址信号、数据信号和状态信号都是按一定的规则在不同时钟周期内进入应有的状态,以保证CPU 与存储器或I/O 接口之间的信息传递能够顺利的完成。
考生应从以下三个方面掌握总线读/写操作时序:(a)操作涉及到哪些引脚信号;(b)这些信号在不同时钟所出现的状态(电平);(c)信号之间的关系。
(4).最大模式下的24--31引脚当8088/8086CPU 的X M MN /引脚固定接地时,CPU 处于最大模式下,这时 候剩余的24—31共8个引脚的名称及功能如下:① QS 1、QS 0(Instruction Queue Status ):指令队列状态信号输出引脚(2),这两个信号的组合给出了前一个T 状态中指令队列的状态,以便于外部②2S 、1S 、0S :总线周期状态信号输出引脚(3),低电平的信号输出端,这些信号组合起来,可以指出当前总线周期中,所进行数据传输过程的类型,总线控制器8288利用这些信号来产生对存储单元、I/O 端口的控制信号。
2S 、1S 、0S 与具体物理过程之间的对应关系,如表9-6(P17)所示。