《第五章8086的总线操作和时序课件》由会员分享,可在线阅读,更多相关《第五章8086的总线操作和时序课件(45页珍藏版)》请在金锄头文库上搜索。
1、第章8086的总线操作和时序,本章内容,最小组态下的基本引脚,最小组态下的总线时序,最小组态下的总线形成,5.1 概述,时钟周期(T状态) 计算机是一个复杂的时序逻辑电路,时序逻辑电路都 有“时钟”信号。 计算机的“时钟”是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期,又称为T状态。 计算机是在时钟脉冲的统一控制下,一个节拍一个节拍 地工作的。 总线周期 是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程。 根据总线操作功能的不同,有多种不同的总线周期。如存储器读周期、存储器写周期、I/O读周期、I/O写周期等。,5.1.1 时钟周期(T状态)、总线
2、周期和指令周期,8086的基本总线周期需要4个时钟周期 4个时钟周期编号为T1、T2、T3和T4 总线周期中的时钟周期也被称作“T状态” 时钟周期的时间长度就是时钟频率的倒数 当需要延长总线周期时插入等待状态Tw CPU进行内部操作,没有对外操作时,其引脚就处于空闲状态Ti,指令周期 每条指令的执行包括取指令、译码和执行。执行一条指令所需要的时间称为指令周期。 指令指令周期是由1个或多个总线周期组合而成。或者说,指令周期可以被划分为若干个总线周期。 8086中的指令码最短的只需要一个字节,多的有6个字节。多字节指令,取指(存储器读)就需要多个总线周期;在指令的执行阶段,由于各种不同寻址方式,需
3、要的总线周期个数也各不相同。因此8086的指令周期是不等长的。 对于8086CPU来说,在EU执行指令的时候,BIU可以取下一条指令。由于EU和BIU可以并行工作,8086指令的最短执行时间可以是两个时钟周期,一般的加、减、比较、逻辑操作是几十个时钟周期,最长的为16位乘除法约要200个时钟周期。,演示,5.2 处理器总线,外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:,指引脚信号的定义、作用;通常采用英文单词或其缩写表示,信号从芯片向外输出,还是从外部输入芯片,或者是双向的,起作用的逻辑电平高、低电平有效上升、下降边沿有效,输出正常的低电平、高电平外,还可以输出高阻的第三态, 有
4、效电平, 三态能力, 信号的流向, 引脚的功能,5.2.1 8086的两种组态,当8086 CPU与存储器和外设构成一个计算机的硬件系统时,根据所连的存储器和外设的规模,8086可以有两种不同的组态。 两种组态构成两种不同规模的应用系统 最小组态模式 构成小规模的应用系统 8086本身提供所有的系统总线信号 最大组态模式 构成较大规模的应用系统,例如可以接入数值协处理器8087 8086和总线控制器8288共同形成系统总线信号,两种组态利用MN/MX*引脚区别 MN/MX*接高电平为最小组态模式 MN/MX*接低电平为最大组态模式 两种组态下的内部操作并没有区别 IBM PC/XT采用最大组态
5、 我们以最小组态展开基本原理,8086的引脚图,5.2.2 最小组态的引脚信号,分类学习这40个引脚(总线)信号 数据和地址引脚 读写控制引脚 中断请求和响应引脚 总线请求和响应引脚 其它引脚,1. 数据和地址引脚,AD15 AD0(Address/Data) (39,216) 地址/数据分时复用引脚,双向、三态 作为复用引脚,在总线周期的T1状态作为低16位地址线。 T2 、T3、TW状态,作为数据总线 。 在DMA方式时,这些引线被置为高阻状态,置为高阻状态。,A19/S6 A16/S3(Address/Status) (3538) 地址/状态分时复用引脚,输出、三态。 在总线周期的T1状
6、态输出高4位地址A19 A16。 由于8086/8088对I/0端口的寻址仅用低16位地址线,故A19 A16作为地址总线使用时只能对存储器寻址。 其他时间输出状态信号S6 S3 ,作用为: S6:始终为低电平。 S5:输出,指明标志寄存器中中断允许标志IF的当前状态。 S4、S3:编码,指明当前正在使用的段寄存器。,2. 读写控制引脚,ALE(Address Latch Enable) (25) 地址锁存允许,输出、高电平有效,是微处理器提供给地址锁存器8282/8283的控制信号 在总线周期的T1状态ALE引脚高电平有效,表示当前在地址/数据复用总线上输出的是地址信息,即AD15 AD0和
7、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、T
8、W期间有效时,表示CPU正在写出数据给存储器或I/O端口 RD*(Read) (32) 读控制,输出、三态、低电平有效 T2、T3、TW期间有效时,表示CPU正在从存储器或I/O端口读入数据 DMA方式:高阻状态,M/IO*、WR*和RD*是最基本的控制信号 组合后,控制4种基本的总线周期,READY (22) 存储器或I/O口就绪,输入、高电平有效 来自所访问的存储器或I/O设备,有效时表示设备准备就绪,可进行一次数据传输 总线操作周期中(T3状态),CPU会测试该引脚 如果测到高有效,CPU直接进入下一步 如果测到无效,CPU将插入等待周期 等待周期中仍然要监测READY信号,确定是否继续
9、插入等待周期,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位数据总线允许/状态,输出,三态,分时复用。
10、 T1状态:输出BHE*信号,表示高8位数据线上的数据是否有效。 其他状态:作为S7输出,是一个未定义的状态信号。 BHE *和低位地址A0配合表示不同的数据传送操作:,3. 中断请求和响应引脚,INTR(Interrupt Request) (18) 可屏蔽中断请求,输入、高电平有效。 有效时,表示请求设备向CPU申请可屏蔽中断,该中断请求是否响应受控于IF(中断允许标志),可以被屏蔽掉。 CPU在执行每条指令的最后一个时钟周期对INTR信号进行采样,若IF=1,且又接收到INTR信号,则CPU在结束当前指令后,响应中断请求,进入一中断处理子程序。,INTA*(Interrupt Ackno
11、wledge) (24) 可屏蔽中断响应,输出、低电平有效 有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期,NMI(Non-Maskable Interrupt) (17) 不可屏蔽中断请求,输入、上升沿有效 有效表示外界向CPU申请不可屏蔽中断 该中断请求不能被CPU屏蔽,所以优先级别高于INTR(可屏蔽中断),主机与外设进行数据交换通常采用可屏蔽中断 不可屏蔽中断通常用于处理掉电等系统故障,4. 总线请求和响应引脚,HOLD (31) 总线保持(即总线请求),输入高电平有效 有效时,表示总线请求设备向CPU申请占有总线 该信号从有效回到无效时,表示总线请求设备
12、对总线的使用已经结束,通知CPU收回对总线的控制权,HLDA(HOLD Acknowledge) (30) 总线保持响应(总线响应),输出、高电平有效 有效表示CPU已响应总线请求并已将总线释放 此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线 待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权,5. 其它引脚,RESET (21) 复位请求,输入、高电平有效 该信号有效,将使CPU回到其初始状态;当再度返回无效时,CPU将重新开始工作 复位时要求该信号至少持续四个时钟周期 ,若是初次加电,则需要保持至
13、少50S 8086复位后CSFFFFH、IP0000H,所以程序入口在物理地址FFFF0H。其他寄存器清0。,CLK(Clock) (19) 时钟输入 系统通过该引脚给CPU提供内部定时信号 8086的标准工作时钟为5MHz IBM PC/XT机的8086采用了4.77MHz的时钟,其时钟周期约为210ns,Vcc (40) 电源输入,向CPU提供5V电源 GND (1、20) 接地,向CPU提供参考地电平 MN/MX*(Minimum/Maximum) (33) 组态选择,输入 接高电平时,8086引脚工作在最小组态;反之,8086工作在最大组态,TEST* (23) 测试,输入、低电平有效
14、 与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、GND,5.3 8086的总线时序,时序(Tim
15、ing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系 CPU时序决定系统各部件间的同步和定时 总线时序描述CPU引脚如何实现总线操作,什么是总线操作?,5.3.1 基本概念,总线操作是指CPU通过总线对外的各种操作 8086的总线操作主要有: 存储器读、I/O读操作 存储器写、I/O写操作 中断响应操作 总线请求及响应操作 CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti 描述总线操作的微处理器时序有三级 指令周期 总线周期 时钟周期,任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码 任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储
16、单元为目的操作数的指令都将引起存储器写总线周期 只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期 CPU响应可屏蔽中断时生成中断响应总线周期,如何实现同步?,总线操作中如何实现时序同步是关键 CPU总线周期采用同步时序: 各部件都以系统时钟信号为基准 当相互不能配合时,快速部件(CPU)插入等待状态等待慢速部件(I/O和存储器) CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作,5.3.2 典型时序分析(最小组态的总线时序),介绍微处理器最基本的4种总线周期 存储器读总线周期 存储器写总线周期 I/O读总线周期 I/O写总线周期,1. 存储器写总线周期,T1状态输出20位存储器地址A19 A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7 D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,2. I/O写总线周期,T1状态输出16位I/O地址A15 A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线