8086CPU时序8086的主要总线操作1.总线操作与时序系统复位最小模式总线读/写操作空操作最大模式总线读写/操作总线保持操作或总线请求/允许操作中断响应操作暂停操作CPU的操作时序是指CPU在操作进行过程中各个环节在时间上的先后顺序。至少包含传送地址和传送数据两个过程。T1——CPU输出地址;T2~T4——数据传送。时序图:描述某一操作过程中,芯片/总线上有关引脚信号随时间发生变化的关系图。1T2T3TwT4T1T2T3T4TiTiT1T2T3TwTwT4TiTiT用于等待存储器或I/O接口相应的等待状态总线周期间的空闲状态一个总线周期2系统的复位操作条件:检测到RESET引脚上为上升沿。复位逻辑电路:用CLK来与外部RESET同步,内部RESET信号要在时钟的上升沿到来时才有效。①外部RESET变为高电平②CLK上升沿,内部RESET有效③总线复位④总线悬浮,直到复位结束复位时总线状态地址线为高阻态,直到RESET变为低电平,开始从FFFF0H单元取指令;ALE、HLDA等信号为低电平(无效);一些信号呈高阻态。一个总线周期T1T3T2T4CLKA19/S6~A16/S3BHE/S7AD15~AD0ALEM/IORDDT/RDEN地址,BHE状态输出地址输出数据输入低电平读IO,高电平读存储器1.总线读操作3最小模式下的总线时序一个总线周期T1T3T2T4CLKA19/S6~A16/S3BHE/S7AD15~AD0ALEM/IOWRDT/RDEN地址,BHE状态输出地址输出低电平写IO,高电平写存储器数据输出2.总线写操作总线写操作时序与总线读操作时序基本相似,不同点有:(1)CPU不是输出信号,而是输出信号。(2)整个总线周期为高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来控制数据传输方向。(3)AD15~AD0在T2到T4状态输出数据,输出地址与输出数据为同一方向,无需像读周期那样要高阻态作缓冲,故T2状态无高阻态。RDWRDT/R4最大模式时序与最小模式时序的区别1.控制信号ALE、DEN和DT/R最大模式中,ALE、DEN(注意不是)和由总线控制器8288发出,DEN高电平有效。最小模式中ALE、DEN和由8086CPU直接发出。是低电平有效。2.命令信号MRDC、MWTC、AMWC、IORC、IOWC和状态信号S2、S1和S0由于在最大方式下必须使用总线控制器8288,因此在其时序图中必然出现访问存储器和I/O接口的命令信号。DENDT/RDT/RDEN一个总线周期T1T3T2T4CLKAD15~AD0A19/S6~A16/S3BHE/S7ALEDT/RDENS7~S3地址输出数据输入MRDC/IORCS2~S0S2~S0S2~S0无效BHEA19~A16最大模式读时序一个总线周期T1T3T2T4CLKAD15~AD0A19/S6~A16/S3BHE/S7ALEDENS7~S3地址输出数据输出MWTC/IOWCS2~S0S2~S0S2~S0无效BHEA19~A16AMWC/AIOWC最大模式写时序(DS)=3000H,(BX)=500CH,(3500CH)=9AH1.IO/M变低,CPU将对内存进行操作2.A19~A0上出现地址信号001101010000000011003.ALE上出现正脉冲信号4.DT/R变低,数据收发器处于接受状态T1T2T3T4A19~A16/S6~S3IO/MA15~A8AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0A19~A16D7~D0执行指令MOVAL,[BX]的时序图T1T1T2T3T4A19~A16/S6~S3IO/MA15~A8AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0A19~A16D7~D05.A19~A16上出现状态信号S6S5S4S3=0IF11,使用DS6.AD7~AD0变高阻态7.RD变低,CPU将进行读操作8.DEN变低,允许数据收发器进行数据传送执行指令MOVAL,[BX]的时序图T2T1T2T3T4A19~A16/S6~S3IO/MA15~A8AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0A19~A16D7~D0(DS)=3000H,(BX)=500CH,(3500CH)=9AH9.AD7~AD0上出现数据信号10011010执行指令MOVAL,[BX]的时序图T310.RD变高,CPU从数据线上读数据,数据9AH读到AL中11.DEN变高,数据收发器与总线断开,AD7~AD0变高阻态T1T2T3T4A19~A16/S6~S3IO/MA15~A8AD7~AD0ALERDDT/RDENCLKS6~S3A7~A0A19~A16D7~D0执行指令MOVAL,[BX]的时序图T4