
第六章总线结构和时序.ppt
53页第第 6 6 章章 8086 8086 微处理器的总线结构和时序微处理器的总线结构和时序6 6、、1 1 8086 8086 系统总线结构系统总线结构6 6、、2 2 8086 8086 系统总线时序系统总线时序 返回 6 6、、1 8086 1 8086 系统总线结构系统总线结构·8086 CPU是40 条引脚的双列直插式封装的微处理器·8086 CPU的引脚复用的原因和方法· 8086 CPU的两种工作方式 · 8086 CPU的引脚图· 指令周期、总线周期和时钟周期 6 6、、1 1、、1 1 两种工作方式公用引脚定义两种工作方式公用引脚定义6 6、、1 1、、2 2 最小方式下引脚定义和系统总线结构最小方式下引脚定义和系统总线结构6 6、、1 1、、3 3 最大方式下引脚定义和系统总线结构最大方式下引脚定义和系统总线结构 返回 8086 CPU8086 CPU的引脚复用的原因和方法的引脚复用的原因和方法·8086 CPU的引脚复用的原因:8086有40条引脚,其地址引脚有需20条,其数据引脚需有16条,还需有电源、地线等引脚,故引脚不够用,所以采用引脚复用方式。
·8086 CPU的引脚复用的方法有两种:(1)、分时复用:时间不同,引脚功能不同2)、按功能不同复用:工作方式不同,引脚功能不同 返回 8086 CPU8086 CPU的两种工作方式的两种工作方式··8086有两种工作方式:最小工作方式和最大工作方式1)、8086 的最小工作方式: ①、8086 的33#引脚MN/MX 接+5V电源时,8086工作于最小方式 ②、最小方式下,8086CPU直接产生全部总线控制信号和其它系统控制信号 ③、最小方式下,可用于构成小型的单一处理器的系统 下一页(2)、8086的最大工作方式: ①、8086的33#引脚MN/MX接地时,8086工作于最大方式 ②、最大方式下,由总线控制器8288对8086CPU提供的状态信号S2、S1、S0译码后产生全部总线控制信号和其它系统控制信号 ③、最大方式下,可用于构成多处理器和协处理器的系统。
返回 8086 CPU8086 CPU的引脚图的引脚图返回 指令周期、总线周期和时钟周期指令周期、总线周期和时钟周期 ·指令周期:是计算机执行一条指令所需的时间,一般包含若干个总线周期 ·总线周期:是计算机访问一次存储器或I/O端口所需的时间,一般包含若干个时钟周期·时钟周期指CPU时钟的重复周期一个标准的总线周期包含4个时钟周期T1、T2、T3和T4时钟周期可根据需要在T3时钟周期之后,插入一个或多个TW时钟周期 返回 6 6、、1 1、、1 1 两种工作方式公用引脚定义两种工作方式公用引脚定义电源、地和时钟信号输入引脚电源、地和时钟信号输入引脚1、、地址地址/数据总线对应的引脚数据总线对应的引脚2、、控制总线对应的引脚控制总线对应的引脚 返回·VCC:电源输入端,+5V±10%。
·GND:地·CLK:时钟信号输入端,占空比为 33%,最高频率对 8086 而言为 5 MHz·时钟周期T=1/f=1/(5*106 )S=0.2*10-6 S=200*10-9 S=200 nS 返回 1 1、地址、地址/ /数据总线对应的引脚数据总线对应的引脚·8086 CPU有 20 条地址总线,16 条数据总线为减少引脚,采用分时复用方式,共占 20 条引脚·AD15~AD0:(输入/输出,三态),为分时复用的地址/数据线 当执行对存储器读/写或对I/O端口进行输入/输出操作的总线周期的T1 时钟周期期间,用作地址线A15~A0,输出低16位地址;而在其它时钟周期期间,用作双向数据线D15~D0传送双向传送的16位数据 下一页·A19/S6, A18/S5, A17/S4和A16/S3(输出,三态):为分时复用的地址/状态信号线。
在 T1 时钟周期期间,用作地址线A19~A16,输出高4位地址(对I/O端口输入输出操作时,这4条线不用,全为低电平);而在其它时钟周期期间,用作状态信号线S6 ~ S3 其中, S6总为低电平; S5表示状态寄存器(FLAG)中的中断允许标志位IF的当前状态; S4和S3用来指示当前正在使用的段寄存器·为了使地址信息在总线周期的除T1时钟周期外的其它时钟周期仍保持有效, 总线控制逻辑必须设置地址锁存器,把CPU在T1时钟周期期间输出的20 位地址进行锁存 返回 2 2、控制总线对应的引脚、控制总线对应的引脚·控制总线对应的引脚有 16 条引脚其中引脚 24~31 这 8 条引脚在两种工作方式下定义的功能有所不同,这将在后面结合工作方式进行讨论· 两种工作方式下公用的 8 条控制引脚有:1)、 MN/MX (输入):工作方式控制线 接+5V时,CPU处于最小工作方式; 接GND时,CPU处于最大工作方式。
下一页2)、 RD(输出,三态):读信号,低电平有效RD=L为有效时表示CPU正在执行读操作3)、 NMI(输入):非屏蔽中断请求输入信号,上升沿有效当该引脚有一个由低变高的正跳变时,CPU在当前指令执行完后,转去处理进行该非屏蔽中断请求CPU对该中断请求信号的响应不受标志寄存器中断允许标志位IF的状态的影响 下一页4)、 INTR(输入):可屏蔽中断请求输入信号,高电平有效当INTR为高电平时,表示外部有可屏蔽中断请求CPU在每条指令的最后一个时钟周期对INTR进行测试,以便决定当前指令执行完后是否响应中断CPU对可屏蔽中断的响应受中断允许标志位IF状态的影响5)、 RESET(输入):系统复位信号,高电平有效(至少保持 4 个时钟周期) RESET信号有效时,CPU将IP、DS、ES、SS、标志寄存器和指令队列清除为全“0”,置CS为 0FFFFH该信号结束后,CPU从存储器的 0FFFF0H地址开始读取和执行指令。
系统冷启动或热启动后产生有效的RESET信号 下 一 页6)、 READY(输入):准备好信号,来自存储器或I/O接口电路的应答信号,高电平有效CPU在T3时钟周期的开始,检查READY信号,若READY=H为有效时,表示存储器或I/O能够在4个时钟周期内完成相应的读/写操作,则在T3时钟周期结束后,进入T4时钟周期,结束本总线周期;若READY=L为无效时,表示存储器或I/O不能够在4个时钟周期内完成相应的读/写操作,则在T3时钟周期结束后,插入一个TW时钟周期其后,在插入的TW时钟周期的开始检测READY信号,若READY=L为无效时,则继续插入一个TW时钟周期,…,直到若READY=H为有效时,方进入T4时钟周期,结束本总线周期 下一页7)、 TEST(输入):测试信号,低电平有效当CPU执行WAIT指令的操作时,每隔 5个时钟周期对TEST输入端进行一次测试若TEST=H为无效,,则CPU处于等待状态,继续执行WAIT指令。
直到 TEST=L为有效时, CPU才开始执行下一条指令8)、BHE /S7(输出, 三态):它也是一个分时复用引脚 在总线周期的T1时钟周期输出BHE,在总线周期的其它时钟周期输出S7S7指示状态,目前还没有定义 BHE有效表示使用高 8 位数据线D15 ~ D8;否则只使用低 8 位数据线D7 ~ D0BHE信号也需要进行锁存 返回6 6、、1 1、、2 2 最小方式下引脚定义和系统总线结构最小方式下引脚定义和系统总线结构·当MN/MX引脚接+5 V时, CPU处于最小工作方式·最小工作方式下,引脚 24 ~31 这 8 条控制引脚的功能定义如下:1)、INTA(输出):是处理器发向中断控制器的中断响应信号在中断响应周期中,CPU执行两个总线周期,在这相邻的两个总线周期中输出两个INTA负脉冲 下一页2)、 ALE(输出):地址锁存允许信号,高电平有效当ALE=H为有效时,表示地址线上的地址信息有效利用它的下降沿把地址信号和BHE信号锁存在 8282 地址锁存器中。
3)、 DEN(输出,三态):数据允许信号, 低电平有效 当DEN=L为有效时,表示CPU准备好接收和发送数据 如果系统中数据线接有双向收发器8286,该信号作为 8286 的选通信号4)、 DT/R(输出,三态):数据收/发信号,表示CPU是接收数据(DT/R=L), 还是发送数据(DT/R=H),用于控制双向收发器8286的数据传送方向 下一页**最小方式下的总线控制信号ALE、DEN和DT/R·带有三态输出的8D锁存器8282 · 带有三态输出8D双向驱动器8286 ·最小方式下的总线结构原理图· 线路组成及工作原理 下一页带有三态输出8D双向驱动器8286返回带有三态输出的锁存器返回 最小方式下的总线结构原理图最小方式下的总线结构原理图返回BHE 线路组成及工作原理线路组成及工作原理·最小方式下,系统中包括:8086CPU、8284时钟发生器、3片8282(或74LS373)8D锁存器、2片8286(或74LS245)8D数据收发器。
·时钟发生器8284:8284是用于8086系统中的时钟发生器/驱动器芯片,它为8086CPU及其它外部芯片提供所需要的时钟信号(CLK)、复位信号(RESET)和就绪信号(READY) 下一页·3片8282的DI7~0分别与AD7~0、AD15~8、A19/S6~A16/S3以及BHE相连(3条引脚不用)·3片8282的DO7~0分别与系统总线的A7~0、A15~8、A19~A16以及BHE相连·3片8282的OE端直接接地,使8D锁存器的输出三态门处于打开状态 ·3片8282的STB端接来自CPU的ALE信号,用于在T1时钟期间将3片8282的DI7~0的AD7~0、AD15~8、A19/S6~A16/S3以及BHE引脚上送入的地址信号A7~0、A15~8、A19~A16以及BHE用ALE信号的下降边将地址信号A7~0、A15~8、A19~A16锁存到3片8282中,保证在其后的T2、 T3、插入的TW时钟周期以及T4时钟周期中, 3片8282的DO7~0输出A19~A0以及BHE信号 下一页·2片带有三态输出的8D双向驱动器8286的A7~0 分别与AD7~0、AD15~8相连。
·2片带有三态输出的8D双向驱动器8286的B7~0 分别与系统总线的D7~0、D15~8相连·2片带有三态输出的8D双向驱动器8286的的OE端分别与来自CPU的信号DEN相连,当DEN=L为有效时,OE=L为有效此时,当T=L时,右边的一排三态门打开,数据信号从B7~0 流向A7~0 ;当T=H时,左边的一排三态门打开,数据信号从A7~0 流向B7~0 DEN在T2、 T3、 T4时钟周期期间为有效·2片带有三态输出的8D双向驱动器8286的的T端分别与分别与CPU的信号DT/R连接当DEN=L为有效时,OE=L为有效此时,当DT/R =L时, T=L,右边的一排三态门打开,数据信号从B7~0 流向A7~0 ;当DT/R =H时,T=H,左边的一排三态门打开,数据信号从A7~0 流向B7~0 返回5)、M/IO(输出,三态):该信号用于区分是访问存储器(M/IO=H),还是访问I/O端口(M/IO=L)6)、WR(输出,三态):写信号,低电平有效当WR=L为 有效时,表示CPU正在执行存储器写或对I/O端口的输出操作。
7)、HOLD(输入):系统中其它总线主设备向CPU请求总线使用权的总线保持请求信号,高电平有效8)、HLDA(输出):HLDA是CPU对总线保持请求HOLD信号的应答信号,高电平有效 返回6 6、、1 1、、3 3 最大方式下引脚定义和系统总线结构最大方式下引脚定义和系统总线结构·当MN/MX引脚接GND时, CPU处于最大工作方式·最大工作方式下,引脚 24 ~31 这 8 条控制引脚的功能定义如下:1)、QS1、QS0:指令队列状态输出线它们用来提供 8086 内部指令队列的状态以便外部逻辑跟踪 外部逻辑通过监视总线状态和队列状态,可以模拟CPU的指令执行过程并确定当前正在执行哪一条指令有了这种功能,8086 才能告诉协处理器何时准备执行指令 下一页2) 、S2、 S1、 S0(输出, 三态):状态信号输出线,这3位状态的组合表示CPU当前总线周期的操作类型8288 总线控制器对S2、 S1、 S0 译码后产生相应的总线控制信号和总线命令信号及中断响应命令信号 。
3)、LOCK(输出, 三态):总线锁定信号,低电平有效CPU输出此信号表示不允许总线上的其它总线主设备占用总线该信号由指令前缀LOCK使其有效,并维持到下一条指令执行完毕为止 4) 、RQ/GT0和RQ/GT1 (输入/输出):总线请求信号(输入)/总线请求响应信号(输出)这两条引脚都是双向的,低电平有效,其中,RQ/GT0 的优先级高于RQ/GT1 这两条引脚主要用于不同处理器之间的连接时使用 下一页 请求/允许总线访问信号的时序分为三个阶段:请求、允许和释放①、首先是外部处理器经RQ/GT引脚向8086CPU输出RQ=L,宽度为一个时钟周期的负脉冲,请求使用总线②、8086CPU在每一个时钟的上升边检测/引脚,如检测到RQ=L且满足一定条件,则在本总线周期的T4时钟周期或下一总线周期的T1时钟周期期间,输出宽度为一个时钟周期的负脉冲GT=L,送至请求使用总线的外部处理器,作为总线响应信号;从下一个时钟开始,CPU释放总线。
③、当外部处理器使用完总线时,再给出一个宽度为一个时钟周期的负脉冲RQ=L,表示总线使用结束;从下一个时钟开始,CPU又重新控制总线 下一页 ·8086最大方式下的系统的系统总线结构: 最大方式下,系统中包括:8086CPU、8284时钟发生器、3片8282(或74LS373)8D锁存器、2片8286(或74LS245)8D数据收发器和1片8288总线控制器·8288总线控制器对8086CPU提供的状态信号S2、S1、S0译码后产生全部总线控制信号DT/R、DEN和ALE和读写命令信号MRDC、MWTC、IORC、IOWC、AMWC、AIOWC以及中断响应命令信号INTA ·AIOWC(先行I/O写命令)和AMWC(先行存储器写命令)这两个命令信号除了提前一个时钟周期输出外,分别与IOWC和MWTC一样 下一页80868086最大方式下系统总线结构的线路原理图最大方式下系统总线结构的线路原理图返回 最大方式下的总线控制信号最大方式下的总线控制信号最大方式下的总线控制信号有:DT/R:数据发送/接收控制信号,8288输出,类同于最小方式下的DT/R。
DEN:数据允许信号,8288输出,类同于最小方式下的DEN,但为高电平有效ALE:地址锁存允许信号,8288输出,类同于最小方式下的ALE信号 返回 总线命令信号及中断响应命令信号总线命令信号及中断响应命令信号最大方式下的命令信号(包括读写命令信号及中断响应命令信号)有:·MRDC:存储器读命令,8288输出,相当于最小方式下的M/IO=H,RD=L的组合·MWTC:存储器写命令,8288输出,相当于最小方式下的M/IO=H,WR=L的组合·IORC:I/O读命令,8288输出,相当于最小方式下M/IO=L,RD=L的组合 下一页IOWC:I/O写命令,8288输出,相当于最小方式下的M/IO=L,WR=L的组合AMWC:存储器超前写命令,8288输出,比MWTC早一个时钟周期AIOWC:I/O超前写命令,8288输出,比IOWC早一个时钟周期INTA:8288输出,类同于最小方式下的INTA信号。
返回 6 6、、2 8086 2 8086 系统总线时序系统总线时序·指令周期、总线周期和时钟周期·一个标准的总线周期应包括4个时钟周期T1、T2、T3和 T4时钟周期,可根据需要插入一个或TW时钟周期6 6、、2 2、、1 1 最小方式系统总线周期的时序最小方式系统总线周期的时序6 6、、2 2、、2 2 最大方式系统总线周期的时序(略)最大方式系统总线周期的时序(略) 返回 6 6、、2 2、、1 1 最小方式系统总线周期时序最小方式系统总线周期时序1、、读总线周期和写总线周期的时序读总线周期和写总线周期的时序2、、中断响应周期的时序中断响应周期的时序3、、总线保持请求和总线保持请求响应的时序总线保持请求和总线保持请求响应的时序 返回 读总线周期和写总线周期的时序读总线周期和写总线周期的时序·最小方式下读总线周期的时序图·最小方式下的读总线周期的时序的工作过程 ·最小方式下写总线周期的时序图·最小方式下的写总线周期的时序的工作过程 返回 读总线周期的时序读总线周期的时序返回 最小方式下的读总线周期的时序的工作过程最小方式下的读总线周期的时序的工作过程·在整个总线读周期中,DT/R=L,表示CPU接受数据。
若为存储器读,M/IO=H;若为输入,M/IO=L·T1时钟周期:在T1时钟周期开始,CPU使ALE变为有效高电平,并把要访问的存储器单元的(20位)或I/O端口的(16位)地址及总线高字节允许信号从AD15~AD0(地址/数据总线)、A19~A16/S6 ~ S3(地址/状态总线)、BHE/S7(总线高字节允许/状态S7)输出在T1时钟周期后期,ALE变为低电平,利用其后沿将20地址(I/O操作时,A19~A16=0000B)及BHE锁存于8282(或74LS373)锁存器中 下一页·T2时钟周期:在T2时钟周期开始,CPU使DEN=L为有效,进而使8286(或74LS245)收发器开始工作CPU给出RD=L为有效,表示从存储器或I/O读出数据CPU在A19/S6~ A16 /S3线上给出S6 ~ S3,在BHE/S7线上给出S7AD15~AD0用做数据线在T2时钟周期开始的一段时间内,AD15 ~ AD0变为高阻态(数据读出并稳定需一段时间)。
下一页·T3时钟周期:在T3时钟周期期间,CPU在在T3时钟的下降边采样READY信号若存储器或I/O端口能准备好读入的数据,则READY=H,读入的数据在T3时钟周期期间在AD15~AD0上稳定,可进入T4时钟周期,结束本总线周期;若存储器或I/O端口不能准备好读入的数据,则READY=L,读入的数据在T3时钟周期期间不能在AD15~AD0上稳定,则需插入一个或多个TW时钟周期,直到READY=H,方进入T4时钟周期,结束本总线周期 下一页·T4时钟周期:在T4时钟周期期间,CPU使RD=H变为无效,并使DEN=H变为无效存储器或I/O检测到的这个正跳变后,撤去数据,结束本总线周期 返回最小方式下写总线周期的时序图最小方式下写总线周期的时序图返回最小方式下的写总线周期的时序的工作过程最小方式下的写总线周期的时序的工作过程·在整个总线写周期中,DT/R=H,表示CPU发送数据。
若为存储器写,M/IO=H;若为输出,M/IO=L·T1时钟周期:在T1时钟周期开始,CPU使ALE变为有效高电平,并把要访问的存储器单元的(20位)或I/O端口的(16位)地址及总线高字节允许信号从AD15~AD0(地址/数据总线)、A19~A16/S6~S3(地址/状态总线)、BHE/S7(总线高字节允许/状态S7)输出在T1时钟周期后期,ALE变为低电平,利用其后沿将20地址(I/O操作时,A19~A16=0000B)及BHE锁存于8282(或74LS373)锁存器中 下一页T2时钟周期:在T2时钟周期开始,CPU使DEN=L为有效,进而使8286(或74LS245)收发器开始工作CPU给出WR =L为有效,表示向存储器或I/O中写入数据CPU在A19 /S6~A16 /S3线上给出S6 ~ S3,在BHE /S7线上给出S7AD15~AD0用做数据线,CPU将要写的数据加到AD15~AD0上 下一页T3时钟周期:CPU在T3时钟的下降边采样READY信号。
若存储器或I/O端口能准备完成数据写入,则READY=H,可进入T4时钟周期,结束本总线周期;若存储器或I/O端口不能完成数据写入,则READY=L,需插入一个或多个TW时钟周期,直到READY=H,方进入T4时钟周期,结束本总线周期 下一页T4时钟周期:在T4时钟周期期间,CPU使WR=H变为无效,并使DEN=H变为无效,撤消输出的数据 返回中断响应周期的时序中断响应周期的时序·最小方式下中断响应周期的时序图·最小方式下的中断响应周期的时序的工作过程 返回最小方式下中断响应周期的时序图返回最小方式下的中断响应周期的时序的工作过程最小方式下的中断响应周期的时序的工作过程 中断响应周期中包含两个总线周期,在两个总线周期期间,各从引脚输出一个负脉冲;每个负脉冲从T2时钟周期持续到T4时钟周期;第一个负脉冲作为对中断请求设备的响应信号,第一个负脉冲通知中断请求设备(通常是中断控制器)回送中断类型码;两个总线周期之间,可有三个空闲时钟周期Ti。
返回总线保持请求和总线保持请求响应的时序总线保持请求和总线保持请求响应的时序·最小方式下总线保持请求和总线保持请求响应的时序图·最小方式下的总线保持请求和总线保持请求响应时序的工作过程 返回总线保持请求和总线保持请求响应的总线保持请求和总线保持请求响应的时序图时序图返回最小方式下的中断响应周期的时序的工作过程最小方式下的中断响应周期的时序的工作过程①、当系统中有其它的总线主设备请求使用总线时,通过引脚HOLD向CPU发出请求总线保持信号HOLD(HOLD=H)②、CPU在每个时钟的上升边采样HOLD;若HOLD=H为有效,则在本总线周期的T4时钟周期或下一总线周期的T1时钟周期的后沿,输出保持响应信号HLDA(HLDA=H);紧接着从下一个时钟周期开始,8086CPU就让出总线控制权(8086CPU的地址线、数据线及相应的控制线被置为高阻态)。
③、当其它的总线主设备使用完总线后,其它的总线主设备使HOLD变为无效低电平(HOLD=L);则在下一个时钟的下降边,CPU 使HLDA变为无效低电平(HLDA=L) 返回 。
