您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 微机原理第4章8088总线
第4章8086/8088的总线与时序4.18086/8088的引线及功能8086是16位微处理器;8088是准16位微处理器,它对外的数据线是8位的。它们的地址线是20位的。8086/8088均为40条引线、双列直插式封装。它们的40条引线排列如图4-1所示。为了能在有限的40条引线范围内进行工作,CPU内部设置了若干个多路开关,使某些引线具有多种功能,这些多功能引线的功能转换分两种情况:一种是分时复用,在总线周期的不同时钟周期内引线的功能不同;另一种是按组态来定义引线的功能.用8088微处理器构成系统时,根据系统所连接的存储器和外设的规模,8088可以有两种不同的组态。在不同组态时有些引线的名称及功能不同。最小组态:当用8088微处理器构成一个较小的系统时,所连的存储器容量不大,I/O端口也不多,若把MN/MX引线接电源(+5V),则8088处于最小组态;最大组态:若构成的系统较大,要求有较强的驱动能力,要通过一个总线控制器来产生各种控制信号。把引线MN/MX接地,则8088处于最大组态。所有的微处理器都有以下几类引线用来输出或接收各种信号:地址线、数据线、控制线和状态线、电源和定时线。8086/8088的40条引线包括以上4种信号,下面介绍各条引线的功能。4.1.1的地址和数据线AD7~AD0:低8位地址/数据线(输入/输出,三态)。8088数据线是8位的,地址线是20位的,为减少引线的数量于是在8088内部采用一些多路开关,把低8位地址线和8位数据线分时使用这些引线。通常当CPU访问存储器或外设时,先要送出所访问单元或外设端口的地址,然后才是读写所需的数据,地址和数据在时间上是可区分的。只要在外部电路中用一个地址锁存器,把在这些线上先出现的地址锁存下来就可以了。A15~A8:地址线(输出,三态)。这8条地址线是在8088内部锁存的,在访问存储器或外设时输出8位地址。A19~A16/S6~S3:地址/状态线(输出,三态)。这4条引线用于输出存储器的最高4位地址A19~A16,也分时用于S6~S3状态输出。故这些引线也是多路开关的输出,访问存储器时这些线上输出最高4位地址,这4位地址也需锁存器锁存。访问外设时,这4位地址线不用。在存储器的读/写和I/O操作时这些线又用来输出状态信息:S6始终为低;S5为标志寄存器的中断允许标志的状态位;S4和S3用以指示是哪一个段寄存器正在被使用,其编码和使用的段寄存器如下:00为ES,01为SS,10为CS,11为DS。4.1.28088的控制和状态线8088的控制和状态线可以分成两种类型:一类是与8088的组态有关的引线,另一类是与8088的组态无关的引线。1.最小组态下的引线IO/M:输入输出/存储器选择信号(输出,三态)。这条引线用以区分是访问存储器还是访问I/O端口。若此线输出低电平,则为访问存储器;若此线输出高电平,则为访问I/O端口。WR:写信号(输出,三态)。此信号低电平有效,是8088在执行存储器或I/O端口的写操作时输出的一个选通信号。INTA(interruptacknowledge):中断响应信号(输出)。此信号低电平有效,是8088响应中断请求信号引线INTR来的外部中断时输出的中断响应信号,它可以用作中断向量类型码的读选通信号。ALE(addresslatchenable):地址锁存允许信号(输出)。此信号高电平有效,是8088输出的一个选通脉冲,把在AD7~AD0和A19/S6~A16/S3上出现的地址锁存到地址锁存器中。DT/R(datatransmit/receiver):数据发送/接收信号(输出,三态)。此信号为高电平,则8088发送数据;此信号为低电平,则8088接收数据。在最小组态的系统中,为了增加数据总线的驱动能力,将AD7~AD0通过双向驱动器加以驱动,这时就需要用该信号来确定双向驱动器的数据传送方向。DEN(dataenable):数据允许信号(输出,三态)。该信号低电平有效。在使用双向驱动器以增强数据总线驱动能力的最小组态系统中,该信号用作双向驱动器的输出允许信号。SSO(systemstatusoutput):系统状态输出信号(输出)。该信号与IO/M、DT/R两信号一起,反映8088所执行的操作。HOLD、HLDA:保持请求(输入)和保持响应信号(输出)。这两个信号均为高电平有效。它们用于直接存储器存取(DMA)操作。当系统其他总线设备要求占用总线时,就向8088发出HOLD信号,请求接管3总线。8088收到该信号后,就发出HLDA信号,同时使所有的3态总线处于高阻或浮空状态。此时由发出HOLD信号的总线设备控制总线,系统进行DMA传送。当DMA传送完后,接管总线的总线设备撤除HOLD信号。8088也撤除HLDA信号,退出保持状态,又控制3总线,接着执行原来的操作。2.最大组态下的引线S2、S1、S0:3个状态信号(输出,三态)。8088在最大组态下没有、、IO/M、等对存储器和I/O端口进行读/写操作的直接控制信号输出。这些读写操作信号,由总线控制器8288根据8088提供的这3个状态信号译码后输出。3个状态信号与CPU所执行的操作如表4-1所列。表4-1状态信号与对应的操作S2S1S0操作000中断响应001读I/O端口010写I/O端口011暂停(HALT)100取指101读存储器110写存储器111无操作RQ/GT0、RQ/GT1(request/grant):请求/允许信号(输入/输出)。这两个信号低电平有效,是最大组态下的DMA请求/允许信号。这两个信号是双向的,即向CPU的总线请求与CPU的总线允许信号均由请求/允许信号线传送。若RQ/GT0和RQ/GT1同时有总线请求,则RQ/GT0的请求首先被允许,即RQ/GT0的优先权高于RQ/GT1。这两条引线的内部有一个上拉电阻,若不用DMA,可以不用连接它们。LOCK:锁定信号(输出,三态)。低电平有效。该信号由前缀指令“LOCK”使其有效,且在下一条指令完成之前保持有效。当其有效时,别的总线设备不能取得对系统3总线的控制权。该信号被送到总线仲裁电路,使在此信号有效期间的指令执行过程中不发生总线控制权的转让,保证这条指令连续地被执行完。QS0、QS1(queuestatus):队列状态信号(输出)。这两个信号用于提供8088指令队列状态。指令队列是一个4字节的空间,它用来存放等待执行指令的代码。3.与组态无关的引线RD:读信号(输出,三态)。该信号低电平有效,是CPU发出的读选通信号。该信号有效,表示正在进行存储器或I/O端口的读操作。IBMPCXT中未使用此信号。READY准备就绪信号(输入)。该信号高电平有效。它是CPU寻址的存储器或I/O设备送来的响应信号。8088所寻址的存储器或I/O设备若没有准备就绪就将该信号置为低电平,8088就等待,直至它们准备就绪恢复该信号,8088就完成同它们的数据传送。TEST:测试信号(输入)。该信号低电平有效。它是由WAIT指令测试的信号。若为低电平,执行WAIT指令后面的指令;若为高电平,CPU就处于空闲等待状态,重复执行WAIT指令。INTR(interrupt):中断请求信号(输入)。该信号高电平有效,它是外设发来的可屏蔽中断请求信号。CPU在每一条指令结束前均要采样该引线,以决定是否中断现行程序的执行,进入中断服务程序。该信号可以用标志寄存器中的中断允许标志位来屏蔽。NMI(non-maskinterrupt):非屏蔽中断请求信号(输入)。该信号是一个边沿触发信号。这条线上的中断请求信号是不能屏蔽的,只要这条线上有由低到高的变化,就在现行指令结束之后中断现行程序的执行,进入非屏蔽中断服务程序。RESET:复位信号(输入)。该信号由低变高时,8088立即结束现行操作;当其返为低时,8088将发生以下情况:①标志寄存器置成0000H,其结果为禁止可屏蔽中断和单步中断;②DS、SS、ES和IP复位为0000H;③CS置成FFFFH。8088将从存储单元FFFF0H开始取指执行。4.1.3电源和定时线CLK:时钟信号(输入)。该信号一般由时钟发生器8284输出,它提供8088的定时操作。8088的标准时钟频率为5MHz。VCC:电源线。要求加5V±10%的电压。GND:地线。8086/8088有两条地线,这两条地线都要接地。4.1.48086与8088的区别8086的指令队列有6个字节,而8088仅有4个字节。它们的执行单元EU完全相同,而总线接口单元BIU却不完全相同,8086有16位数据总线,8088仅有8位数据总线。4.28088的CPU系统4.2.5最小组态下的8088CPU系统它由CPU、地址锁存器74LS373、数据总线驱动器74LS245、时钟发生器8284A组成。地址锁存器74LS373:锁存地址,将地址、数据或者地址状态分开。时钟发生器8284A:产生时钟信号、复位信号、准备就绪信号数据总线驱动器74LS245:增强8088的负载能力,双向传送。G输出允许引线,低电平时245传送DIR传送方向控制:,当DIR输入高电平时,数据从A传向B;当DIR输入低电平时,数据从B传向A。存储器读存储器写I/O读I/O写IO/M0011RD0101WR1010D7~D08284373×3RDWRIO/MINTAINTR245DIRGALEA19~A8AD7~AD0ABGDQA19~A0REDAYRESETCLKDENDT/RRDYRESRDIO/MWR&&&&IORIOWMEMWMEMR(I/O读)(I/O写)(存储器读)(存储器写)+5V4.2.6最大组态下的8088CPU系统它由地址锁存器74LS373、数据总线驱动器74LS245、总线控制器8288、时钟发生器8284A和中断控制器8259(8259见第7章)。373×38284IORMEMRIOWMEMW245DIROEA19~A8AD7~AD0ABGDQA19~A0D7~D0REDAYRESETCLKDENDT/RRRRRRRRRRRDYRESS0S1S2INTA82598288INTRINTAINTRALEDT/R总线控制器8288当8088工作在最大组态方式时,8288根据8088提供的状态信号S0、S1、S2,经译码产生命令信号和总线控制信号。1.命令信号8288要根据8088的S0、S1、S2向存储器或I/O设备输出各种命令,进行读或写操作。这些命令都是低电平有效,它们是:MRDC:存储器读命令。MWTC:存储器写命令IORC:I/O读命令。IOWC:I/O写命令。AMWC:存储器超前写命令。此命令同,超前1个时钟脉冲。AIOWC:I/O超前写命令。此命令同,超前1个时钟脉冲。INTA:中断响应命令。2.总线控制信号8288输出的总线控制信号有地址锁存允许信号ALE、数据允许信号DEN数据发送接收信号DT/R设备级联允许/外部数据允许信号MCE/PDEN4.38088的时序4.3.1指令周期、总线周期和T状态我们知道,计算机是在程序的控制下工作的。程序译码器A19~A0D7~D0373×3RDWRIO/MINTAINTR245DIROEALEA19~A8AD7~AD0ABGDQRESETDENDT/R373×3RDWRIO/MINTAINTR245DIRGALEA19~A8AD7~AD0ABGDQREDAYCLKDENDT/R存储器或I/O口指令控制时序,时序控制电路工作原理&D7~D0放在存储器的某个区域,CPU就发出读指令的命令,从指定的地址(由CS和IP给定)读出指令,它被送到指令寄存器中,再经过指令译码器分析指令,发出一系列控制信号,以执行指令规定的全部操作,控制各种信息在机器(或系统)各部件之间传送。简单地说,每条指令的执行由取指令(fetch)、译码(decode)和执行(execute)阶段构成。上述的这些操作都是在时钟脉冲CLK的统一控制按照严格的时序下一步一步进行的。它们都需要一定的时间(当然有
本文标题:微机原理第4章8088总线
链接地址:https://www.777doc.com/doc-2470035 .html