第五章微处理器结构和微机总线系统知识概述第一节微机总线的基本概念第三节8086引脚功能第二节8086总线周期概念第一节微机总线的基本概念一、什么是总线即:系统中各个部件进行信息交换的公共通道二、微机总线的分类即:片内总线(芯片级)或局部总线内总线(板级)或系统总线外部总线(设备级)或通信总线第二节8086总线周期概念1.指令周期:CPU执行一条指令的时间称为一个指令周期。(包括取指令和执行完该指令所需的全部时间)2.总线周期:通过外部总线对存储器或I/O端口进行一次读/写操作的过程称为总线周期。一个指令周期由若干个总线周期组成。一个总线周期由若干时钟周期T组成。3.时钟周期:就是系统主时钟频率的倒数,它是CPU的基本时间计量单位。例如,某CPU的主频为5MHz,则其一个时钟周期就是200ns,若主频为10MHz,则一个时钟周期为100ns。第三节8086引脚功能8086为40条引线、双列直插式封装。8086有最小模式(单处理器组成的小系统)和最大模式(多处理器系统)两种工作模式,其大部分引脚在两种组态下功能是一样的,只有8根引脚的名称及功能不同(24脚~31脚)。什么是引脚等???如图5.1所示。MN/MXVCC、GNDCLKAD15-AD0A19-A16/S6-S3BHE/S7ALERD,WRM/IODEN,DT/RRESETREADYTESTNMIINTRINTAHOLD,HLDA5.3.1最小模式1-40引脚的功能定义=1,设置为最小模式VCC接入的电压为+5V±10%GND有两条(1,20脚)占空比为33%(1/3周期为低电平,2/3周期为高电平)。分时复用的存储器或端口的地址/数据总线。传送地址时为单向的三态输出,传送数据时可双向三态输入/输出。T1:输出要访问的存储器或I/O端口的地址;T2:变成高阻状态,为传输数据做准备;T3:用于传输数据;T4:结束总线周期。注:a当CPU响应中断,DMA方式时,这些线处于浮空状态(高阻态)b直接存储器存取(DMA)方式,使数据的传送不经过CPU,由DMA控制器来实现内存与外设,或外设与外设之间的直接快速传送A19--A16是地址的高4位,在T1输出地址。S6--S3是CPU的状态信号,在T2-T4时输出CPU状态当访问存储器时,T1输出的A19--A16与AD15--AD0组成20位地址信号而访问I/O端口时A19-A16=0000,AD15--AD0为16位地址信号状态信号的S6=0,表示当前8086与总线相连S5标志中断允许IF的状态S4和S3组合指示当前使用的段寄存器(00,01,10,11)分别指ES,SS,CS,DS在进行DMA方式时,A19-A16/S6-S3浮空高数据总线允许/状态复用引脚,三态,输出T1:输出,表示AD15—AD8上的数据有效T2-T4:用作S7输出,未赋予定义,作备用状态信号线BHE和A0组合起来表示当前数据在总线上的格式。(第二章内容)ALE(AddressLatchEnable)是8086在每个总线周期的T1状态时发出的,作为地址锁存器的选通信号,表示当前ADi上输出的是地址信息,要求进行地址锁存。RD=0,表示8086为存储器或I/O端口读操作。当DMA时,此线浮空。WR=0,表示8086为存储器或I/O端口写操作。当DMA时,此线浮空。输出,三态。=1,表示CPU与存储器之间数据传输=0,表示CPU和I/O设备之间数据传输注:当DMA时,此线浮空5.3.1最小模式1-40引脚的功能定义MN/MXVCC、GNDCLKAD15-AD0A19-A16/S6-S3BHE/S7ALERD,WRM/IODEN,DT/RRESETREADYTESTNMIINTRINTAHOLD,HLDA•DataEnable,数据选通信号。•DataTransmit/Receive,控制其数据传输方向的信号。•如果DEN有效,表示允许传输。则DT/R=1,进行数据发送;DT/R=0,进行数据接收。•在DMA下,它们被置浮空。•RESET引起处理器立即结束现行操作。•CPU结束当前操作后,对状态标志寄存器、IP、DS、SS、ES清零,而将CS设置为0FFFFH。准备好信号线,输入,高电平有效。CPU在每个总线周期的T3状态开始对READY进行采样,如READY=0,CPU在T3之后,自动插入一个或几个等待状态TW。一旦READY=1,才进入T4状态,完成数据传输过程,从而结束当前总线周期。等待测试信号,输入。只有在执行WAIT指令时才使用。当CPU执行WAIT指令时,它就进入空转的等待状态,每隔5个时钟周期对该线的输入进行一次测试。若=1,则CPU将停止取下条指令而继续等待,直至=0。NMI(Non-MaskableInterrupt)中断请求不受中断允许标志位的影响,也不能用软件进行屏蔽。只要此信号一有效,CPU就在现行指令结束后立即响应中断,进入非屏蔽中断处理程序INTR=1,表示外设提出了中断请求。CPU在执行每条指令的最后一个时钟周期采样此信号,若INTR=1且IF=1(中断允许),则响应中断•InterruptAcknowledge:对INTR的外部中断请求作出响应。•该信号是位于连续周期中的两个负脉冲,在每个总线周期的T2、T3和TW状态为低电平。第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;第二个负脉冲通知外设接口往DB上放中断类型码(中断向量号),从而CPU便得到了有关此中断请求的详尽信息。•HLDA(HoldAcknowledge)HOLD和HLDA是一对配合使用的总线联络信号1.当其他总线主控部件要占用总线时,向CPU发HOLD=1总线请求。2.如果此时CPU允许让出总线,就在当前总线周期完成时,发HLDA=1应答信号,且同时使具有三态功能的总线处于浮空,表示让出总线。3.总线请求部件收到HLDA=1后,获得总线控制权,在这期间,HOLD和HLDA都保持高电平。4.当请求部件完成对总线的占用后,HOLD=0总线请求撤消,CPU收到后,也将HLDA=0。这时,CPU又恢复了对总线的占有权。5.3.2最大模式24-31引脚的功能定义在最大模式下,许多总线控制信号不是由8086直接产生的,而是通过总线控制器8288产生•MN/MX=0•S2,S1,S0•QS1,QS0•RQ/GT1,RQ/GT0•LOCK表示CPU总线周期的操作类型。8288总线控制器依据这三个状态信号产生相关访问存储器和I/O端口的控制命令。代码组合S2S1S0操作过程000001010011100101110111发出中断响应信号读I/O端口写I/O端口暂停取指令读存储器(内存)写存储器(内存)无源状态(不起作用)InstructionQueueStatus其组合起来提供前一个时钟周期(指总线周期的前一个状态)中指令队列的状态标志,以便让外部对8086内部指令队列的动作跟踪QS1QS0队列状态00110101无操作从队列缓冲器中取出指令的第一字节清除队列缓冲器从队列缓冲器中取出指令的第二字节以后部分•RQ/GT0、RQ/GT1是最大模式时请求/允许总线访问信号功能:供CPU以外的两个处理器用来发出使用总线的请求信号和接收CPU对总线请求信号的回答信号。RQ为输入信号,表示总线请求,GT为输出信号,表示总线允许。过程:A协处理器8086;B8086在T4或下一个T1协处理器;C从下一个T开始,8086cpu释放总线;D协处理器使用完总线后8086cpu;E下一个T开始8086cpu重新开始控制总线请求RQ允许GT宽度为T的脉冲宽度为T的脉冲RQ由指令前缀LOCK产生,在LOCK前缀后面的一条指令执行完后,便撤消了LOCK信号。当其有效时,系统中其它总线主要部件就不能占用总线。5.3.38086CPU的工作模式等待状态发生8284ARESRDY74LS373AB--CLKREADYRESETA19~A16AD15~AD0MN/MX8086MI/OALEDB74LS245DIRGDT/RDEND15D0……A0A19A15M/IOWRRD最小工作模式BHE/S7最大工作模式8288总线控制器S0S1S2CLKVccALES0S1S2DT/RDENGDIRMRDCMWTCIORCIORWC5.3.48086CPU的基本时序一、最小模式下的读/写总线周期二、最大模式下的读/写总线周期三、总线空闲周期第五章完图8086引脚图退出GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS1)INTA(QS0)TESTREADYRESET高为读内存低为读I/O地址输出状态输出地址输出数据输入④BHE输出DT/RDENALERDAD15~AD0A19/S6~A16/S3BHE/S7M/IOCLK①③②⑤⑥⑨⑩T1T2T3Tw(1+n)T4⑧11最小模式下的总线读操作退出总线空闲状态概念:当CPU不执行总线周期时,总线接口部件不与总线打交道,进入总线空闲周期。此时,CPU内部指令队列已满,且EU单元正在进行有效的内部操作。所以说,总线空操作是总线接口部件对执行部件的等待状态。构成:由一系列T1构成,基本维持前一总线周期时的状态。如果前一个总线周期为写周期,AD15~AD0的数据仍被继续驱动;如果前一个总线周期为读周期,则AD15~AD0在空闲周期处于高阻状态。退出常用概念引脚功能:即引脚信号的定义。人们约定,引脚名为该引脚功能的英文缩写,基本反映了信号的作用,即含义。信号的有效电平:指控制引脚使用有效时的逻辑电平。低电平有效的引脚名字上面加有一条横线,引脚名字上无横线者为高电平有效。信号的流向:芯片与其他部件的联系全靠在引脚上传送信息,这些信息可能自芯片向外输出,也可能从外部输入到芯片,还可能是双向的。•CPU的地址线(AB)是输出的,用以寻址存储单元或I/O端口。•数据线(DB)是双向的,CPU可通过它从存储器或外设读取数据,也能将数据输出给它们。•CPU的某些控制线(CB)是输出的,用来对外界提供控制;也有些控制线是输入的,通过这些流入的信息,可以接受外界的联号。引脚的复用:为了以少量引脚提供更多的功能,会采用引脚复用的做法。三态能力:是指有些引脚除了能正常输出或输入高、低电平外,还能输出高阻状态。当它输出高阻状态时,表示芯片实际上已放弃了对该引脚的控制,使之“浮空”。退出知识概述•基本概念:指令周期,总线周期,时钟周期,微机总线•重点:CPU控制总线引脚的含义•难点:8086的两种工作模式退出