您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第 5 章 处理器总线时序和系统总线
第5章处理器总线时序和系统总线本章讲述:5.18086的引脚功能5.28086处理器时序5.3系统总线5.18086的引脚功能8086CPU的两种工作模式根据不同的应用环境,8086可以工作在两种模式:最小模式和最大模式。1.最小模式系统中只有8086一个微处理器,所有的总线控制信号均由8086产生,系统的总线控制信号被减至最少。目前常用的是最大组态。要求有较强的驱动能力。此时8086要通过一组总线控制器8288来形成各种总线周期,控制信号由8288供给,如图5-1所示。最小模模式的引脚信号双向,三态。在一个总线周期的第一个时钟周期,AD15~AD0传送地址信号,在其他的时钟周期,作数据总线使用。地址锁存器STBABDBAD15~AD0ALE(1)地址/数据总线AD15~AD0(2)地址/状态信号线A19/S6~A16/S3输出,三态。在一个总线周期的T1,输出地址信号的最高4位,在其他的时钟周期,输出状态信号S6~S3。(1)S6为低,表示8086当前与总线相连(2)S5=IF。S4、S3的组合指出当前使用的段码寄存器情况S4S3意义00110101当前正在使用ES附加段当前正在使用SS堆栈段当前正在使用CS或者未使用任何寄存器当前正在使用DS数据段同样,这4个引脚信号也要用外电路将地址信号锁存。(3)BHE/S7高8位数据总线允许/状态线输出,三态。在总线周期的T1,为BHE信号,表示高8位数据线D15~D8上的数据有效。在其他的总线周期,为S7状态信号,8086中S7未作定义。BHE和A0结合控制CPU与存储器之间数据传送的格式。BHEA0数据传送格式00110101同时传送高、低字节(AD0~AD15)奇数地址的高位字节(AD8~AD15)偶数地址的低位字节(AD0~AD7)无效以上1~3为地址、数据总线信号,下面介绍引脚中的控制信号。(4)MN/MX最大/最小模式控制信号。输出,三态,低电平有效。(5)RD读信号(6)M/IO存储器/输入输出控制信号输出,三态。RD与M/IO组合对应的操作M/IORD操作1000读存储器读I/O端口(7)WR写信号输出,三态,低电平有效。WR与M/IO组合对应的操作M/IOWR操作1000写存储器写I/O端口(8)ALE地址锁存允许信号输出,高有效。每一总线周期的T1有效。(9)READY准备好信号输入,高有效。CPU访问存储器或外设时,READY有效,表示存储器或外设已准备好传送数据。(10)INTR可屏蔽的中断请求信号输入,高有效,表示外设向CPU提出中断申请,若FR中IF=1,CPU在当前指令后即响应。(11)INTA中断响应信号输出,三态,低电平有效。CPU响应INTR后,用INTA读取外设提供的中断类型号,以取得中断服务程序的入口地址。(12)NMI非屏蔽中断请求信号输入,有效。不受FR中IF的影响,CPU在当前指令后响应。(13)RESET系统复位信号输入,高有效,4TCPU中的部分内容标志位清除指令指针(IP)0000HCS寄存器FFFFHDS寄存器0000HSS寄存器0000HES寄存器0000H指令队列空复位重新启动后,第一条指令地址FFFF0H。(14)DT/R数据收发控制信号输出,三态,控制数据总线驱动器的数据传送方向。DT/R=1,即T=1,AB(CPU内存或外设)DT/R=0,即T=0,BA(内存或外设CPU)82862AOETAD0~AD15D0~D15DENDT/RB(15)DEN数据允许信号输出,三态,低有效,控制CPU外接的数据收发器。(16)HOLD总线保持请求信号输入,高有效,表示其它的总线主设备申请对总线的控制权。(17)HLDA总线保持响应信号输出,高有效,表示CPU响应HOLD信号,让出总线控制权。(18)TEST测试信号输入,低电平有效,与WAIT指令配合使用。WAIT指令TEST有效?执行后续指令YesNo(19)CLK系统时钟输入信号最大时钟频率为5MHZ,占空比1/3。(20)GND地和VCC电源引脚VCC:+5直流电源。2.最大模式下的引脚信号在最大模式下,仅24~31引脚信号与最小模式不同,如表2-6所示。表2-6两种模式下8086的24~31引脚信号引脚编号最小模式最大模式2425262728293031INTAALEDENRDT/RMWRHLDAHOLDQS1QS20S1S2SLOCKRQ/GT1RQ/GT0(1)QS1和QS0指令队列状态信号输出。这两信号组合起来提供了8086内部指令队列的状态,以便外部对其动作进行跟踪。QS1和QS0编码和对应的队列状态如表2-7所示。表2-7QS1和QS0编码与队列状态QS1QS0队列状态00110101空操作取走指令的第一个字节队列空从队列里取出的字节是指令的后续字节(2)2,1和0总线周期状态信号SSS输出,三态。这三个状态信号组成的编码表示了当前总线周期是何种操作周期,如表2-8所示。表2-82,1和0编码总线周期SSS发中断响应信号读I/O端口写I/O端口暂停取指令读存储器写存储器无源状态010101012S00001111001100111S0S总线周期当8086工作在最大模式时,必须连接总线控制器,如Intel8288。8288将利用以上状态信息产生最大模式下的存储器和I/O控制信号。(3)总线封锁信号LOCK输出,三态、低电平有效。当此信号为低电平有效时,系统中其他总线主部件不能占有总线。此信号由前缀指令LOCK使其有效,并一直保持到LOCK前缀后面的一条指令执行完毕。另外,在8086的两个中断响应脉冲之间,信号也自动变为有效电平,以防其他总线主部件在中断响应过程中占有总线,使一个完整的中断响应过程被间断。LOCK(4)和总线请求/允许信号1GTRQ0GTRQ双向。这两个信号可供CPU以外的两个处理器用以发出使用总线的请求信号和接收CPU对总线请求信号的应答信号,总线请求信号和允许信号在同一引脚上传输,但方向相反。的优先级高于。1GTRQ0GTRQ学习时序的目的1.可以深入了解指令的执行过程。2.有利于编程时,选择合适的指令,以缩短程序的执行时间。3.有利于在CPU与存储器以及I/O端口连接时,实现时序上的配合。4.实时控制时,正确估算操作所需的时间,以便与控制过程配合。2.5.1指令周期、总线周期和时钟周期指令周期(InstructionCycle):CPU执行一条指令所需要的时间。总线周期(BusCycle):CPU与外部电路之间进行一次数据传送所需的时间。时钟周期(ClockCycle):控制CPU基本操作的时钟,是CPU处理动作的最小时间单位,又称T状态。2.58086的总线操作和时序一个指令周期由一个或若干个总线周期组成,一个总线周期至少包含4个T状态。2.5.28086的典型总线周期一、典型总线周期的时序地址输出数据输入地址输出数据输出总线周期T1T2T3TWT4缓冲地址/数据地址/数据(读周期)(写周期)(a)典型的总线周期时序T1T2T3TWT4T1T2T3T4T1T1T1T2T3TWT4等待存储器或IO接口响应而插入的等待状态总线周期(b)有空闲状态的总线周期时序总线周期间的空闲状态图2-19 8086CPU的典型总线周期时序地址输出数据输入地址输出数据输出总线周期T1T2T3TWT4缓冲地址/数据地址/数据(读周期)(写周期)(a)典型的总线周期时序T1T2T3TWT4T1T2T3T4T1T1T1T2T3TWT4等待存储器或IO接口响应而插入的等待状态总线周期(b)有空闲状态的总线周期时序总线周期间的空闲状态图2-19 8086CPU的典型总线周期时序8086CPU的一个基本总线周期由4个时钟周期(T1~T4)组成。时钟周期T也称为T状态,即T1状态、T2状态、T3状态和T4状态。CPU在每个时钟周期(状态)内完成若干基本操作,具体是:•T1状态:CPU向20位地址/状态(A19/S6~A16/S3),地址/数据(AD15~AD0)分时复用总线上发送读写存储器或I/O端口的地址。•T2状态:CPU从总线上撤消地址,若为读周期,则使低16位地址/数据总线(AD15~AD0)为高阻抗状态,以便CPU有足够的时间从输出地址方式转变为输入数据方式。若为写周期,则向低16位地址/数据总线(AD15~AD0)上送出写数据,准备进行写操作。由于输出地址和输出数据都是写总线过程,CPU不必要改输出为输入方式,因而不需要缓冲时间。T2状态总线的高4位(A19/S6~A16/S3)上输出本总线周期状态信息S6~S3。这些状态信息用来表示中断允许状态、当前正在使用的段寄存器等。•T3状态:CPU在总线的高4位(A19/S6~A16/S3)继续输出总线周期状态信号S6~S3。在总线的低16位(AD15~AD0)地址/数据线上继续发送要写的数据,或者从存储器或I/O端口读入数据。•T4状态:总线周期结束,命令被禁止,选中的设备在逻辑上和总线脱离。•TW等待状态:如果被选中的存储器或I/O设备不能及时配合CPU传送数据,则必须通知CPU数据“未准备好”,迫使CPU在T3状态后插入等待状态TW。“未准备好”信号必须在T3前送给CPU。TW状态的总线活动与T3周期的活动相同。当选中的存储器或I/O端口有足够的时间来完成读写操作时,就发出“准备好”(Ready)信号,迫使CPU脱离TW状态并继续工作。如果执行的总线周期是读周期,CPU则在T3或最后一个等待状态结束时读取数据。•T1空闲状态:如果在一个总线周期之后,不立即执行下一个总线周期,或者当指令队列是满的,执行部件EU又没有访问总线的要求,这时BIU就处于空闲状态。在空闲状态中,可以包含一个或几个时钟周期。在空闲状态,总线高4位(A19/S6~A16/S3)仍输出与前一总线周期相同的状态信号。如果前一个总线周期是写周期,则CPU在总线低16位(AD15~AD0)上继续驱动数据信息;如果前一个总线周期是读周期,则总线低16位(AD15~AD0)为高阻状态。由上可知,正常情况下,8086CPU的一个基本总线周期由4个时钟周期(T1~T4)组成,但当所连接的存储器或I/O设备不能及时配合CPU进行数据的读写时,还要适当增加一个或几个等待状态。一、8086的读总线周期包括存储器的读周期和I/O端口的读周期。图2-21读总线周期T1T2T3T4一个总线周期CLK地址输出状态输出A19/S6~A16/S3BHE/S7数据输入AD15~AD0ALE低=I/O读,高=存储器读M/IORDDT/RDEN地址输出2.5.38086CPU典型总线周期分析如果在T3周期结束之前,存储器或外设未准备好数据传送,在T3和T4之间就会插入一个或多个TW等待周期,直到READY变高,转入T4周期,完成读操作。二、8086的写总线周期包括存储器的写周期和I/O端口的写周期。图2-22写总线周期T1T2T3T4一个总线周期CLK地址输出状态输出A19/S6~A16/S3BHE/S7数据输出AD15~AD0ALE低=I/O写,高=存储器写M/IOWRDT/RDEN地址输出三、8086进入和退出保持状态的时序CPU在每一个T状态的正向边沿采样HOLD信号,若有效,则在当前总线周期结束时响应。图2-23总线保持请求/响应时序~~~~~~~~T4或T1CLKHOLDHLDAAD15~AD0A19/S6~A16/S3RT/D,DEN,IOM/,TNTA,WR,RD四、中断响应周期CPU在每条指令的最后一个T状态,采样INTR信号,若有效,且IF=1,则CPU在当前指令执行完毕以后响应,进入中断响应周期。图2-25中断响应周期~~T1T2T3T4T1T1T2T3T4~~~~类型矢量ALEAD0~AD15INTADEN浮空5.3系统总线5.4.1概述总线是用来连接各部件的一组通信线,换言之,总线是一种在多于两个模块(设备或子系统)间传送信息的公共通路。(通道)为在各模块之间实现信息共享和交换,总线由传送信息的物理介质以及一套管理信息传输
本文标题:第 5 章 处理器总线时序和系统总线
链接地址:https://www.777doc.com/doc-3249251 .html