
8086的总线操作和时序.ppt
45页1最小组态下的基本引脚最小组态下的总线时序最小组态下的总线形成第5章 8086的总线操作和时序15.1 概述Ø时钟周期(T状态)–计算机是一个复杂的时序逻辑电路,时序逻辑电路都有“时钟”信号 计算机的“时钟”是由振荡源产生的、幅 度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期, 又称为T状态–计算机是在时钟脉冲的统一控制下,一个节拍一个节拍地工作的Ø总线周期 –是指CPU通过总线操作与外部(存储器或I/O端口)进行 一次数据交换的过程–根据总线操作功能的不同,有多种不同的总线周期如存 储器读周期、存储器写周期、I/O读周期、I/O写周期等 5.1.1 时钟周期(T状态)、总线周期和指令周期Ø8086的基本总线周期需要4个时钟周期–4个时钟周期编号为T1、T2、T3和T4–总线周期中的时钟周期也被称作“T状态” –时钟周期的时间长度就是时钟频率的倒数Ø当需要延长总线周期时插入等待状态TwØCPU进行内部操作,没有对外操作时,其引脚就处于 空闲状态Ti(1)在T1状态,CPU往多路复用总线上发出地址信息,以指出要 寻址的存储单元或外设端口的地址2)在T2状态,CPU从总线上撤消地址,而使总线的低16位浮空 ,置成高阻状态,为传输数据作准备。
总线的最高4位(A19~A16) 用来输出本总线周期状态信息在这些状态信息用来表示中断允许 状态,当前正在使用的段寄存器名等3)在T3状态,多路总线的高4位继续提供状态信息,而多路总 线的低16位(8088则为低8位)上出现由CPU写出的数据或者CPU从 存储器或端口读入的数据4)在有些情况下,外设或存储器速度较慢,不能及时地配合 CPU传送数据这时,外设或存储器会通过“READY”信号线在T3状态 启动之前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插 入1个或多个附加的时钟周期TwTw也叫等待状态,在Tw状态,总 线上的信息情况和T3状态的信息情况一样当指定的存储器或外设 完成数据传送时,便在“READY”线上发出“准备好”信号,CPU接收到 这一信号后,会自动脱离Tw状态而进入T4状态5)在T4状态,总线周期结束 Ø指令周期 每条指令的执行包括取指令、译码和执行执行一条指令 所需要的时间称为指令周期 指令指令周期是由1个或多个总线周期组合而成或者说, 指令周期可以被划分为若干个总线周期 8086中的指令码最短的只需要一个字节,多的有6个字节 多字节指令,取指(存储器读)就需要多个总线周期;在指 令的执行阶段,由于各种不同寻址方式,需要的总线周期个 数也各不相同。
因此8086的指令周期是不等长的 对于8086CPU来说,在EU执行指令的时候,BIU可以取下一 条指令由于EU和BIU可以并行工作,8086指令的最短执行 时间可以是两个时钟周期,一般的加、减、比较、逻辑操作 是几十个时钟周期,最长的为16位乘除法约要200个时钟周 期 演示5.2 处理器总线Ø外部特性表现在其引脚信号上,学习时 请特别关注以下几个方面:指引脚信号的定义、作用 ;通常采用英文单词或其 缩写表示信号从芯片向外输出 ,还是从外部输入芯 片,或者是双向的起作用的逻辑电平 高、低电平有效上 升、下降边沿有效输出正常的低电平、高 电平外,还可以输出高 阻的第三态⑶ 有效电平⑷ 三态能力⑵ 信号的流向⑴ 引脚的功能5.2.1 8086的两种组态Ø当8086 CPU与存储器和外设构成一个计算机的硬件 系统时,根据所连的存储器和外设的规模,8086可 以有两种不同的组态Ø两种组态构成两种不同规模的应用系统Ø最小模式–构成小规模的应用系统–8086本身提供所有的系统总线信号Ø最大模式–构成较大规模的应用系统,例如可以接入数值协处理器 8087–8086和总线控制器8288共同形成系统总线信号–输入输出协处理器8089Ø两种组态利用MN/MX*引脚区别–MN/MX*接高电平为最小组态模式–MN/MX*接低电平为最大组态模式Ø两种组态下的内部操作并没有区别–IBM PC/XT采用最大组态–我们以最小组态展开基本原理通常在信号名称加 上划线(如:MX)或星号(如:MX*) 表示低电平有效8086的引脚图5.2.2 最小组态的引脚信号分类学习这40个引脚(总线)信号1.数据和地址引脚2.读写控制引脚3.中断请求和响应引脚4.总线请求和响应引脚5.其它引脚1. 数据和地址引脚AD15 ~ AD0(Address/Data) (39,2~16) 地址/数据分时复用引脚,双向、三态Ø作为复用引脚,在总线周期的T1状态作为 低16位地址线。
ØT2 、T3、TW状态,作为数据总线 Ø在DMA方式时,这些引线被置为高阻状态 ,置为高阻状态A19/S6 ~ A16/S3(Address/Status) (35~38) 地址/状态分时复用引脚,输出、三态Ø在总线周期的T1状态输出高4位地址A19 ~ A16Ø由于8086/8088对I/0端口的寻址仅用低16位地址线,故A19 ~ A16 作为地址总线使用时只能对存储器寻址Ø其他时间输出状态信号S6 ~ S3 ,作用为:S6:始终为低电平S5:输出,指明标志寄存器中中断允许标志IF的当前状态S4、S3:编码,指明当前正在使用的段寄存器S4S3当前正在使用的段寄存器名00ES01SS10CS或未用11DS2. 读写控制引脚ALE(Address Latch Enable) (25) Ø地址锁存允许,输出、高电平有效,是微处理器提供 给地址锁存器8282/8283的控制信号Ø在总线周期的T1状态ALE引脚高电平有效,表示当前 在地址/数据复用总线上输出的是地址信息,即AD15 ~ AD0和A19/S6 ~ A16/S3正在传送地址信息 ,地址锁存 器把ALE作为锁存信号,对地址进行锁存。
Ø由于地址信息在这些复用引脚上出现的时间很短暂, 所以系统可以利用ALE引脚将地址锁存起来Ø注意:ALE没有高阻状态M/IO*(Memory/Input and Output) (28) ØI/O或存储器访问,输出、三态Ø该引脚输出低电平时,表示CPU将访问I/O端 口,这时地址总线A15 ~ A0提供16位I/O口地址Ø该引脚输出高电平时,表示CPU将访问存储器 ,这时地址总线A19 ~ A0提供20位存储器地址ØDMA方式:高阻状态WR*(Write) (29) Ø写控制,输出、三态、低电平有效ØT2、T3、TW期间有效时,表示CPU正在写出 数据给存储器或I/O端口 RD*(Read) (32) Ø读控制,输出、三态、低电平有效ØT2、T3、TW期间有效时,表示CPU正在从存 储器或I/O端口读入数据ØDMA方式:高阻状态ØM/IO*、WR*和RD*是最基本的控制信号组合后,控制4种基本的总线周期总线周期M/IO*WR*RD*存储器读高高低存储器写高低高 I/O读低高低 I/O写低低高READY (22) Ø存储器或I/O口就绪,输入、高电平有效Ø来自所访问的存储器或I/O设备,有效时表示设备准 备就绪,可进行一次数据传输Ø总线操作周期中(T3状态),CPU会测试该引脚–如果测到高有效,CPU直接进入下一步–如果测到无效,CPU将插入等待周期Ø等待周期中仍然要监测READY信号,确定是否继续 插入等待周期DEN*(Data Enable) (26) Ø数据允许,输出、三态、低电平有效。
Ø有效时表示CPU准备好接收和发送数据Ø可以用 DEN*为收发器(8286/8287)提供一选通信号 DT/R*(Data Transmit/Receive) (27) Ø数据发送/接收,输出、三态Ø表明当前总线上数据的流向 高电平时数据自CPU输出(发送) 低电平时数据输入CPU(接收)Ø可用DT/R*信号来控制数据总线上的双向收发器的数 据传送方向ØDMA方式:高阻状态BHE*/S7(Bus High Enable/Status) (34) Ø高8位数据总线允许/状态,输出,三态,分时复用ØT1状态:输出BHE*信号,表示高8位数据线上的数据是 否有效Ø其他状态:作为S7输出,是一个未定义的状态信号3. 中断请求和响应引脚INTR(Interrupt Request) (18) Ø可屏蔽中断请求,输入、高电平有效Ø有效时,表示请求设备向CPU申请可屏蔽中断,该中断请求 是否响应受控于IF(中断允许标志),可以被屏蔽掉ØCPU在执行每条指令的最后一个时钟周期对INTR信号进行采 样,若中断允许标志IF=1,且又接收到INTR信号,则CPU在 结束当前指令后,响应中断请求,进入一中断处理子程序。
INTA*(Interrupt Acknowledge) (24) Ø可屏蔽中断响应,输出、低电平有效Ø有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU 进入中断响应周期NMI(Non-Maskable Interrupt) (17) Ø不可屏蔽中断请求,输入、上升沿有效Ø有效表示外界向CPU申请不可屏蔽中断Ø该中断请求不能被CPU屏蔽,所以优先级别高 于INTR(可屏蔽中断)主机与外设进行数据交换通常采用可屏蔽中断不可屏蔽中断通常用于处理掉电等系统故障4. 总线请求和响应引脚HOLD (31) Ø总线保持(即总线请求),输入高电平有效有效时,表示总线请求设备向CPU申请占有总线Ø该信号从有效回到无效时,表示总线请求设备对总线的使用 已经结束,通知CPU收回对总线的控制权HLDA(HOLD Acknowledge) (30) Ø总线保持响应(总线响应),输出、高电平有效Ø有效表示CPU已响应总线请求并已将总线释放Ø此时CPU的地址总线、数据总线及具有三态输出能力的控制 总线将全面呈现高阻,使总线请求设备可以顺利接管总线Ø待到总线请求信号HOLD无效,总线响应信号HLDA也转为无 效,CPU重新获得总线控制权5. 其它引脚RESET (21) Ø复位请求,输入、高电平有效Ø该信号有效,将使CPU回到其初始状态;当再 度返回无效时,CPU将重新开始工作Ø复位时要求该信号至少持续四个时钟周期 ,若 是初次加电,则需要保持至少50µSØ8086复位后CS=FFFFH、IP=0000H,所以 程序入口在物理地址FFFF0H。
其他寄存器清0 CLK(Clock) (19) Ø时钟输入Ø系统通过该引脚给CPU提供内部定时信号–8086的标准工作时钟为5MHz–IBM PC/XT机的8086采用了4.77MHz的时钟,其 时钟周期约为210nsVcc (40) Ø电源输入,向CPU提供+5V电源 GND (1、20) Ø接地,向CPU提供参考地电平MN/MX*(Minimum/Maximum) (33) Ø组态选择,输入Ø接高电平时,8086引脚工作在最小组态;反 之,8086工作在最大组态TEST* (23) Ø测试,输入、低电平有效Ø与WAIT指令配合使用,当CPU执行WAIT指 令时,CPU处于等待状态,并且每隔5个T状态 对TEST信号测试一次,如果有效,则结束等 待状态,继续执行WAIT指令后面的指令Ø可以使CPU与外部硬件同步如使用协处理器 8087时,通过该引脚和WAIT指令,可使8086 与8087的操作保持同步“引脚” 小结CPU引脚是系统总线的基本信号 可以分成三类信号Ø16位数据线:D0 ~ D15Ø20位地址线:A0 ~ A19Ø控制线:–ALE、IO/M*、WR*、RD*、READY–INTR、INTA*、NMI,HOLD、HLDA–RESET、CLK、Vcc、GND5.3 8086的总线时序Ø时序(Timing)是指信号高低电平(有效或 无效)变化及相互间的时间顺序关系ØCPU时序决定系统各部件间的同步和定时Ø总线时序描述CPU引脚如何实现总线操作5.3.1 基本概念Ø总线操作是指CPU通过总线对外的各种操作Ø8。












