课件:第章总线操作和时序.ppt_第1页
课件:第章总线操作和时序.ppt_第2页
课件:第章总线操作和时序.ppt_第3页
课件:第章总线操作和时序.ppt_第4页
课件:第章总线操作和时序.ppt_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章 8086的总线操作和时序,5.1 时钟周期、总线周期和指令周期 5.2 8086/8088的引脚信号及工作模式 5.3 8086CPU最小模式下的引脚功能 5.4 8086CPU最小模式下的总线形成 5.5 8086CPU最小模式下的总线时序 习题与思考题,问题:CPU通过什么将地址、数据和控制信息传到存储器芯片中?,三大总线,地址总线,数据总线,数据总线,控制总线,CPU通过控制总线实现对外部器件的控制。 控制总线的宽度决定了对外部的控制能力。,总线操作是指CPU通过总线对外的各种操作。 8086的总线操作主要有: 存储器读、I/O读操作 存储器写、I/O写操作 中断响应操作 总线请求及响应操作 CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti,总线操作,时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系 总线时序描述CPU引脚如何实现总线操作,总线操作与时序,描述总线操作的CPU时序有三级 指令周期 总线周期 时钟周期 指令周期(Instruction Cycle) 1、 8086CPU执行一条指令所需要的时间称为指令周期(Instruction Cycle) 。 2、一个指令周期由一个或若干个总线周期组成,不同指令的指令周期不是等长的,最短为一个总线周期,长的指令周期,如乘法指令周期,长达124个时钟周期。,5.1 时钟周期、总线周期和指令周期,总线周期(Bus Cycle) 1、8086CPU要通过总线才能与外部交换信息,CPU通过总线与外部(存储器或I/O)交换一次信息,称为一次总线操作。 2、执行一个总线操作所需要的时间称为一个总线周期(Bus Cycle),也称机器周期(Machine Cycle)。 3、根据总线操作功能的不同,有多种不同的总线周期,如存储器读周期、存储器写周期、I/O读周期、I/O写周期。,5.1 时钟周期、总线周期和指令周期,时钟周期 8086的基本总线周期需要4个时钟周期 4个时钟周期编号为T1、T2、T3和T4 总线周期中的时钟周期也被称作“T状态” 时钟周期的时间长度就是时钟频率的倒数,5.1 时钟周期、总线周期和指令周期,一个基本的总线周期通常包含 4 个T状态,一个总线周期,5.1 时钟周期、总线周期和指令周期,数据传输过程 T1状态:CPU发存储单元的20位地址信息或I/O端口的16/8位地址信息和 信号,并发地址锁存允许ALE信号,将地址信息和信号 锁存到地址锁存器8282中。CPU通过发 信号确定是读存储器还是读I/O端口。 T2状态: S7S3状态信息输出,同时发读有效 (写有效 )和数据允许 信号,启动所选中的存储单元或I/O端口。,5.1 时钟周期、总线周期和指令周期,T3状态:在下降沿CPU采样READY,若所选中的存储单元或I/O端口能在T3期间准备好数据,则READY=1;否则置READY=0,T3过后插入Tw,CPU再在插入的Tw下降沿采样READY,直至READY=1为止。选中的存储单元或I/O端口把数据送到数据总线DB上。 T3状态的上升沿或插入Tw的上升沿:CPU在发 =0和 =0的情况下,读数据总线。 T4状态:完成当前数据的采样,结束当前的总线周期。,5.1 时钟周期、总线周期和指令周期,8086/8088CPU 采用40个引脚的双列直插式封装形式。 为了解决功能多与引脚少的矛盾,8086/8088CPU采用了引脚复用技术,采用了分时复用的地址/数据总线。,5.2 8086/8088CPU的引脚信号,5.2 8086/8088CPU的引脚信号,1. 内部结构的区别 1)8088CPU和8086 CPU的内部结构基本相同,都是16位的内部结构,只是外部数据总线的宽度不同。 2)8086的外部数据总线为16位,而8088的BIU对外部只提供8位的数据线,所以称8088为准16位CPU。 3)8086CPU内的BIU中有一个6字节的指令队列,而8088CPU内的BIU中只有一个4字节的指令队列。当8088指令队列有1个字节的空余(8086队列为2个字节空余)时,BIU在执行单元不需要数据访问时将自动取指令到指令队列。,5.2 8086/8088CPU的引脚信号,8086CPU和8088CPU区别,2. 外部引脚的区别 1) 8086有16根数据线,与地址线A15A0分时复用,而 8088只有8根数据线与地址线AD7AD0分时复用; 2)8086一次可读写8位或16位数据;8088读写16位的数据需要两次访问存储器或端口。 3)28号引脚的相位不同。 4)34号引脚定义不同。,5.2 8086/8088CPU的引脚信号,5.2 8086/8088的两种组态模式,最小组态模式 构成小规模的应用系统 8086本身提供所有的系统总线信号 最大组态模式 构成较大规模的应用系统,例如可以接入数值协处理器8087 8086和总线控制器8288共同形成系统总线信号,5.2 8086/8088的两种组态模式,两种组态利用MN/MX*(33号)引脚区别 MN/MX*接高电平为最小组态模式 MN/MX*接低电平为最大组态模式 两种组态下的内部操作并没有区别 本书以最小组态展开基本原理,外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:,指引脚信号的定义、作用;通常采用英文单词或其缩写表示,信号从芯片向外输出,还是从外部输入芯片,或者是双向的,起作用的逻辑电平高、低电平有效上升、下降边沿有效,输出正常的低电平、高电平外,还可以输出高阻的第三态, 有效电平, 三态能力, 信号的流向, 引脚的功能,5.3 8086CPU最小模式下的引脚信号及功能,分类学习这40个引脚(总线)信号 1、数据和地址引脚 2、读写控制引脚 3、中断请求和响应引脚 4、总线请求和响应引脚 5、其它引脚,5.3 8086CPU最小模式下的引脚信号及功能,1. 地址、数据引脚线 AD0AD15(Address/Data Bus): 分时复用的地址数据引脚线,具有双向、三态功能。 在总线周期T1期间作地址线A15A0用,此时输出存储单元的低16位地址 在T2T3期间作数据线D15D0用,是双向的。当CPU响应中断时,以及系统总线处理“保持响应”状态时,AD0AD15都处于悬空状态。,1、数据地址引脚,A19/S6A16/S3: 地址/状态分时复用,输出引脚。 在T1期间,作地址线A19A16,对存储单元进行读写时,高四位地址由A19A16输出;就和A15A0组合在一起构成20位地址总线A19A0。 在T2T4期间作为S6S3状态线用。 1)S6状态为低电平表明8086/8088CPU正与总线相连。 2)S5状态表示当前中断允许标志IF的状态,如果IF=1表明当前允许可屏蔽中断请求,IF=0表明当前禁止可屏蔽中断请求 3)S4和S3状态组合起来指出CPU正在使用哪一个段寄存器,1、数据地址引脚,表2-2 S4、S3组合与当前段的关系表,1、数据地址引脚,2、读写控制引脚,ALE(Address Latch Enable) 地址锁存允许,输出、三态 ALE引脚高电平有效, 当复用引脚AD15 AD0和A19/S6 A16/S3正在传送地址信息,CPU提供ALE有效电平,将地址信息锁存到地址锁存器中。,2、读写控制引脚(续1),IO/M*(Input and Output/Memory) I/O或存储器访问,输出、三态 该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15 A0提供16位I/O口地址 该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19 A0提供20位存储器地址,2、读写控制引脚(续2),WR*(Write) 写控制,输出、三态、低电平有效 有效时,表示CPU正在写出数据给存储器或I/O端口 RD*(Read) 读控制,输出、三态、低电平有效 有效时,表示CPU正在从存储器或I/O端口读入数据,2. 读写控制引脚(续3),IO/M*、WR*和RD*是最基本的控制信号组合后,控制4种基本的总线周期,READY(ready)准备就绪信号:存储器和I/O就绪 使CPU和低速的存储器或I/O设备之间实现速度匹配的信号。 当READY为高电平时,表示内存或I/O设备已准备就绪,可以立即进行一次数据传输。 CPU在每个总线周期的T3状态对READY引脚进行检测,若检测到READY=1,则总线周期按正常时序进行读、写操作;不需要插入等待状态TW。若测得READY=0,则表示存储器或I/O设备工作速度慢,没有准备好数据,则CPU在T3和T4之间自动插入一个或几个等待状态TW来延长总线周期,直到检测到READY为高电平后,才使CPU退出等待进入T4状态,完成数据传送。,2、读写控制引脚(续4),2、读写控制引脚(续5),DEN*(Data Enable) 数据允许信号,输出、三态、低电平有效 有效时,表示当前数据总线上正在传送数据。 DT/R*(Data Transmit/Receive) 数据发送/接收,控制数据传送的方向 该信号表明当前总线上数据的流向 高电平时数据自CPU输出(发送) 低电平时数据输入CPU(接收),HOLD(Hold Request)总线保持请求信号 HLDA(Hold Acknowledge)总线保持响应信号 HOLD总线保持请求信号: 最小模式系统中,除CPU(8086/8088)以外的其它总线控制 器,如DMA控制器申请使用系统总线的请求信号。,3、总线请求和响应信号,HLDA总线保持响应信号: 1)对HOLD的响应信号。 2)请求响应过程:当CPU测得总线请求信号HOLD引脚为高电平,如果CPU又允许让出总线,则在当前总线周期结束时,Ti或者T4状态期间发出HLDA高电平信号,表示CPU让出总线使用权,同时总线(地址总线、数据总线、控制总线) 置为高阻抗状态。当总线使用完毕,总线请求信号HOLD变为低电平,总线响应信号HLDA也转为无效,CPU重新获得总线控制权,3、总线请求和响应信号(续1),中断请求和响应操作有两种类型的中断: 非屏蔽中断和可屏蔽中断。 NMI非屏蔽中断请求信号 INTR可屏蔽中断请求信号 中断响应信号,4、中断请求和响应信号,NMI非屏蔽中断请求信号:当该引脚电平出现由低到高变化时,不管中断允许标志IF是0或1,CPU就会在当前指令周期结束后响应中断请求,转去执行中断处理程序。 INTR可屏蔽中断请求信号:当INTR信号高电平时,表示外部设备有中断请求,CPU在每个指令周期的最后一个T状态检测此引脚,一旦测得此引脚为高电平,并且中断允许标志位IF=1,则CPU在当前指令周期结束后,响应中断请求,转去执行中断处理程序。 中断响应信号: 是CPU响应可屏蔽中断后发给请求中断设备的回答信号,对中断请求信号INTR的响应。目的为了获取中断类型码。,4、中断请求和响应信号(续1),5、其它引脚,RESET 复位请求,输入、高电平有效 该信号有效,将使CPU回到其初始状态 在复位状态,CPU内部的寄存器初始化,表2-3 复位后寄存器状态,5、其它引脚,复位后将从FFFF:0000H的逻辑地址,即物理地址FFFF0H处开始执行程序。,5、其它引脚(续1),CLK(Clock) 时钟输入 系统通过该引脚给CPU和总线控制提供内部定时脉冲。 8086/8088CPU的时钟一般都是由时钟发生器Intel 8284A芯片来产生。,5、其它引脚(续2),Vcc 电源输入,向CPU提供5V电源 GND 接地,向CPU提供参考地电平 MN/MX*(Minimum/Maximum) 组态选择,输入 接高电平时,8086引脚工作在最小组态;反之,8086工作在最大组态,5、其它引脚(续3),TEST* 测试,输入、低电平有效 TEST*信号和WAIT指令配合使用,当CPU执行WAIT指令时,CPU处于等待状态,一旦检测到TEST*信号为低,则结束等待状态,继续执行WAIT指令下面的指令。,/S7高8位数据总线允许/状态复用引脚: 在总线周期的T1状态,8086在 /S7脚输出低电平,表示高8位数据总线有效,即表示数据通过ADl5AD8; 若 /S7脚输出高电平且A0低电平时,表示数据通过AD7AD0。,5、其它引脚(续4),“引脚” 小结,CPU引脚是系统总线的基本信号 可以分成三类信号 16位数据线:D0 D15 20位地址线:A0 A19 控制线: ALE、IO/M*、WR*、RD*、READY INTR、INTA*、NMI,HOLD、HLDA RESET、CLK、Vcc、GND,什么是分时复用,分时复用就是一个引脚在不同的时刻具有两个甚至多个作用 最常见的总线复用是数据和地址引脚复用 总线复用的目的是为了减少对外引脚个数 8088 /8086CPU的数据地址线采用了总线复用方法,“引脚”提问,提问之一: CPU引脚是如何与外部连接的呢? 解答:总线 提问之二: CPU引脚是如何相互配合,实现总线操作、控制系统工作的呢? 解答:总线时序,基本控制信号的组合方法,最小模式: 指微型计算机系统中只有8086/8088一个微处理器 系统中所有总线控制信号直接由8086CPU提供 8086工作在最小模式下,将引脚接5V即可。最小模式下,系统控制信号都由CPU本身发出。地址数据引脚线(AD0AD15)分时复用,既输出地址信息又输出数据信息,将地址信息传送到地址总线上,需要地址锁存器进行地址信息的分流,同样需要使用总线缓冲器将数据信息分流到数据总线。,5.4 最小模式的总线形成,2019/8/23,47,可编辑,最小模式总线形成,1片8284A,作为时钟发生器/驱动器,外接振荡源。图2.7表明了8284A和CPU的连接。,由图2.6可以看到,硬件连接由以下几部分组成:,最小模式总线形成,1为什么需要地址锁存与数据收发 由于8086的AD15AD0为分时复用的地址/数据线,对在T1状态输出的地址,需要在其消失前将其锁存起来,以便在整个总线操作周期中地址线上都保持有稳定的地址信号。 数据收发是为了对数据信号进行放大,以更总线能挂接较多部件。 2锁存与收发器芯片 8086系统中使用8282/8283作为地址信号锁存器,8282的引脚信号及功能分别如图所示。8283类同8282,唯一的区别在于8283输出反相。 8086系统中采用8286/8287作为数据收发器,8286的引脚信号及功能分别如图所示。8287除了输出与输入反相外,其余均同8286。,最小模式总线形成,地址锁存器8282(8283):需要3个片子来分流20位的地址信息。8282(8283)是带有三态透明缓冲器的8位通用数据锁存器。它们的引脚图和内部结构如图所示。 三态输出: 输出控制信号有效时,允许数据输出; 无效时,不允许数据输出,呈高阻状态 透明:锁存器的输出能够跟随输入变化,地址锁存器,补充,地址锁存器,常用集成电路芯片 74LS373,具有三态输出的 TTL电平锁存器 LE 电平锁存引脚 OE* 输出允许引脚,74LS373与Intel 8282功能一样,三态缓冲锁存器(三态锁存器),T,A,D Q C,B,电平锁存: 高电平通过,低电平锁存 上升沿锁存: 通常用负脉冲触发锁存,两者的区别仅在于8282的8位输入信号和输出信号之间是同相的,而8283的是反相的。当STB有效时,输入端DI0DI7上的8位数据被锁存到锁存器中。当 有效时,锁存器中的数据输出到输出线上; 无效时,输出呈高阻状态。 8282/8283和CPU连接时,STB端和CPU的ALE端相连; 接地就行了。CPU输出的地址码一旦被锁存,腾出地址/数据复用线ADl5AD0,为在以后状态周期内传送数据作好准备。,地址锁存器,当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,同时也需要将数据信息分流到数据总线,要用2片8286/8287作为总线收发器。8286/8287都是三态输出8位双向数据缓冲器,它的引脚如图所示。,数据收发器,最小模式总线形成,双向三态缓冲器,OE*0,导通 T1 AB T0 AB OE*1,不导通,双向三态门具有双向导通和三态的特性,常用集成电路芯片 74LS245,8位双向缓冲器 控制端连接在一起 低电平有效 可以双向导通 输出与输入同相,E*0,导通 DIR1 AB DIR0 AB E*1,不导通,74LS245与Intel 8286功能一样,是开启缓冲器的控制信号。当 有效时,允许数据通过缓冲器;当 无效时,禁止数据通过缓冲器,输出呈高阻状态。T是数据传送方向控制信号。当T为高电平时,正向三态门接通,A7A0为输入线;当T端为低电平时,反向三态门接通,B7B0为输入线。 在8086最小模式系统中,8286/8287的 端与CPU的数据允许端 相连接;T端与CPU的 端相连接。当然,在8086最小模式系统中,也可以不用数据收发器。这时CPU的地址/数据线ADl5AD0可直接与存储器或I/O端口的数据线连接。,最小模式总线形成,最大模式: 微型计算机系统中包含有两个或多个微处理器 其中一个主处理器是8086或8088微处理器 其它处理器称为协处理器 协处理器协助主处理器工作。常用的协处理器有8087协处理器和8089协处理器。前者是专用于数值运算的处理器;后者是专用于控制输入/输出操作的协处理器。 要使8086CPU按最大模式工作,只需 将引脚接地即可。图2.10是8086系统在最大模式下的典型配置。,最大模式和系统组成,最大模式总线形成,最大模式总线形成,从图2.10可以看到,在最大模式下,除了8282锁存器和8286数据收发器外,还增加了8288总线控制器。8288对CPU发出的控制信号进行变换和组合,以获得对存储器和I/O端口的读/写信号及对锁存器8282和总线收发器8286的控制信号。,最大模式总线形成,8288引脚如图2.11所示。,最大模式总线形成,从图中可以看到,8288接收时钟发生器的CLK信号,这使得8288与CPU及系统中的其它部件同步。 8288的 2,1,0和CPU的 2,1,0信号直接相连,接收CPU这三个引脚提供的状态信息,由此来确定当前CPU要执行哪种操作,从而发出相应的命令信号。,最大模式总线形成,状态信号和命令信号之间的对应关系见表2-5所示。 :中断响应信号,送往发出中断请求的接口,与最小模式下由CPU直接发出的中断响应信号 相同。 :I/O端口读命令。此命令有效时,将所选中的端口中的数据读到数据总线上。它相当于最小模式系统中由CPU发出的控制信号 有效和 为低电平的组合。,最大模式总线形成,:I/O端口写命令。此命令有效时,把数据总线上的数据写入被选中的端口中。它相当于最小模式系统中由CPU发出的控制信号 有效和 为低电平的组合。 :存储器读命令。此命令有效时,被选中的存储单元把数据送到数据总线。它相当于最小模式系统中由CPU发出的控制信号 有效和 为高电平的组合。 :存储器写命令。此命令有效时,把数据总线上的数据写入被选中的存储单元中。它相当于最小模式系统中由CPU发出的控制信号 有效和 为高电平的组合。,最大模式总线形成,:提前的存储器写命令。其功能与 一样,只是提前一个时钟周期输出。 :提前的I/O端口写命令, 其功能与 一样,只是提前一个时钟周期输出。 8288除了根据CPU送来的状态信号发出相应的命令信号外,还发出控制输出信号,8288总线控制器发出的控制信号有ALE、DEN、 和 。 ALE:地址锁存允许信号。它的功能相当于最小模式系统中由CPU发出的ALE。,最大模式总线形成,DEN:数据总线允许信号。此信号经反相器接数据收发器8286的端。当DEN有效时,数据收发器把局部数据总线和系统数据总线连接起来。形成一个传输数据的通路;当DEN 无效时,数据收发器使局部数据总线与系统数据总线断开。它相当于最小模式系统中由CPU发出的信号,其差别只是高电平有效。,:数据收发信号。它的功能相当于最小模式系统中由 CPU发出的信号。 :主级连允许/外设数据允许信号。此功能取决 于8288的输入控制信号IOB(I/O总线方式)。,最大模式总线形成,8086 CPU最小方式下的主要操作 存储器读/写 I/O端口读/写 中断响应 总线请求/允许 复位,5.4 8086 CPU最小模式下的总线时序,1. 总线读操作 当8086 CPU进行存储器或I/O端口读操作时,总线进入读周期,8086的读周期时序如图所示。,8086 CPU最小模式下的总线时序,存储器读总线周期,T1状态输出20位存储器地址A19 A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,I/O读总线周期,T1状态输出16位I/O地址A15 A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,基本的读周期由4个T周期组成 T1状态:8086从分时复用线AD15AD0和A19/S6A16/S3输出读目标的地址 T2状态:高四位地址线上的地址信号消失,出现S6S3状态信号,保持到读周期结束 T3状态:存储器或I/O端口的数据送数据总线,在T3状态结束时,CPU开始从数据总线读取数据;如果存储器或I/O端口的数据来不及送数据总线,则在T3和T4状态之间插入Tw。,8086 CPU最小模式下的总线时序,Tw状态:所有控制信号的电平与T3状态相同,直到最后一个Tw状态,数据才送上数据总线。 T4状态:在读周期中,T4状态和前一个状态的交界的下降沿处,CPU将数据总线上出现的稳定数据读入其内部,将数据从数据总线上撤销。,8086 CPU最小模式下的总线时序,2. 总线写操作 总线写操作是指CPU把数据输出到存储器或I/O端口的操作,8086最小模式下的总线写操作时序如图所示。,8086 CPU最小模式下的总线时序,存储器写总线周期,T1状态输出20位存储器地址A19 A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7 D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,I/O写总线周期,T1状态输出16位I/O地址A15 A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7 D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,总线写操作时序与总线读操作时序基本相似,不同点有: (1)CPU不是输出 信号,而是输出 信号,表示是写操作; (2) 在整个总线周期为高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来控制数据传输方向。 (3)AD15AD0在T2到T4状态输出数据,因输出地址与输出数据为同一方向,勿需像读周期那样要高阻态作缓冲,故T2状态无高阻态。,8086 CPU最小模式下的总线时序,3中断响应操作 当8086 CPU的INTR引脚上有一有效电平,且标志寄存器中IF=1,则8086 CPU在执行完当前的指令后,响应中断。在响应中断时CPU执行两个中断响应周期,如图所示。,8086 CPU最小模式下的总线时序,中断响应周期占用两个总线周期。 第一个总线周期,T1状态CPU发出ALE信号,作为地址锁存信号,T2到T4状态信号 为低电平,通知外设CPU已

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论