微机技术3版PPT第5章10 7版_第1页
微机技术3版PPT第5章10 7版_第2页
微机技术3版PPT第5章10 7版_第3页
微机技术3版PPT第5章10 7版_第4页
微机技术3版PPT第5章10 7版_第5页
已阅读5页,还剩139页未读 继续免费阅读

下载本文档

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

文档简介

2020/6/7,上海交通大学,1,面向21世纪课程教材普通高等教育“十一五”国家级规划教材,微型计算机技术WeixinJisunjiJishu(第3版)孙德文编著,2020/6/7,上海交通大学,2,第5章输入输出基本技术,2020/6/7,上海交通大学,3,输入输出基本技术,5.1输入输出概述5.2输入输出的控制方式5.38086的中断系统5.4IO接口中的中断控制电路5.5IO接口芯片概述,2020/6/7,上海交通大学,4,5.1输入输出概述,5.1.1外设接口的功能及组成5.1.2IO接口与IO端口5.1.3INOUT指令5.1.4IO端口的编址方式,2020/6/7,上海交通大学,5,5.1.1外设接口的功能及组成,(1)转换信息的格式(2)提供联络信号(3)协调定时差异(4)进行译码选址(5)实现电平转换(6)具备时序控制,2020/6/7,上海交通大学,6,接口电路中应具有如下电路单元,输入输出数据锁存器和缓冲器,用以解决CPU与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用。控制命令和状态寄存器,以存放CPU对外设的控制命令和外设的状态信息。地址译码器,用来选择接口电路中的不同端口(寄存器)。读写控制逻辑。中断控制逻辑。,5.1.2IO接口与IO端口,2020/6/7,上海交通大学,7,2020/6/7,上海交通大学,8,外设接口,“外设接口”是“CPU”与“外设”之间传递信息的控制电路,是“CPU”与“外设”之间传送信息的一个“界面”、一个连接部件。外设接口一边通过CPU的三总线(或微机总线)同CPU连接,一边通过三种信息数据信息、控制信息和状态信息同外设连接。,2020/6/7,上海交通大学,9,数据信息,数据信息可以有数字量、模拟量和开关量三种类型。数字量是以二进制码形式提供的信息。开关量是用2个状态表示的信息。模拟量是指由传感器等提供的由物理量转换成的相应的连续变化的电信号。,2020/6/7,上海交通大学,10,“端口”(Port),数据信息、状态信息和控制信息通常都以数据形式通过CPU的数据总线(或微机总线)同CPU进行传送的,这些信息分别存放在外设接口的不同类型的寄存器中。CPU同外设之间的信息传送实质上是对这些寄存器进行“读”或“写”操作。“接口”中这些可以由CPU进行读或写的寄存器被称为“端口”(Port)。这些端口可分为“数据口”、“状态口”与“控制口”。,2020/6/7,上海交通大学,11,5.1.3INOUT指令,CPU访问I/O端口的指令是IN指令OUT指令,2020/6/7,上海交通大学,12,IN指令的格式和功能,INA,PORT(B/W)式中A为累加器,只可以是AL或AXPORT为端口地址,2020/6/7,上海交通大学,13,IN指令,IN指令的功能为AL(PORT)AX(PORT+1)_(PORT),2020/6/7,上海交通大学,14,IN指令,当PORT为8位时,设为80H则指令为INAL,80H为直接寻址当PORT为16位时,设为180H则指令为MOVDX,180HINAL,DX为寄存器间接寻址,2020/6/7,上海交通大学,15,IN指令,若定义PORTA=80H则指令为INAL.PORTA若定义PORTA=180H则指令为MOVDX,PORTAINAL,DX,为寄存器间接寻址,2020/6/7,上海交通大学,16,OUT指令的格式和功能,OUTPORTA,(B/W)式中A为累加器,只可以是AL或AXPORT为端口地址,2020/6/7,上海交通大学,17,OUT指令,OUT指令的功能为AL(PORT)AX(PORT+1)_(PORT),2020/6/7,上海交通大学,18,OUT指令,当PORT为8位时,设为80H则指令为OUT80H,AL为直接寻址当PORT为16位时,设为180H则指令为MOVDX,180HOUTDX,AL为寄存器间接寻址,2020/6/7,上海交通大学,19,5.1.4IO端口的编址方式,I/O端口的编址方式有两种独立编址存储器映象编址。,2020/6/7,上海交通大学,20,1.独立编址(专用的I/O端口编址),存储器和I/O端口在两个独立的地址空间中,I/O端口的读、写操作由硬件信号和来实现,访问I/O端口用专用的IN指令和OUT指令。,2020/6/7,上海交通大学,21,独立编址方式的优点与缺点,独立编址方式的优点I/O端口的地址码较短(一般比同一系统中存储单元的地址码短);译码电路比较简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计。独立编址方式的缺点I/O指令的功能一般不如存储器访问指令丰富;程序设计灵活性较差。,2020/6/7,上海交通大学,22,独立编址,2020/6/7,上海交通大学,23,2.统一编址(存储器映象编址),这种编址方式的特点是存储器和I/O端口共用统一的地址空间。I/O端口的读写操作同样由硬件信号和来实现,访问I/O端口同样用MOV指令。所有访问存储器的指令(包括存储器的算术、逻辑运算指令)都可用于I/O端口。存储器映象编址的优点是任何对存储器数据的指令都可用于I/O端口的数据操作,不需专用I/O指令,从而使系统编程比较灵活;存储器映象编址的缺点是I/O占用了一部分内存空间,且指令的机器码也长,执行时间较长。,2020/6/7,上海交通大学,24,统一编址,2020/6/7,上海交通大学,25,5.2输入输出的控制方式,5.2.1主机对外设的管理方式5.2.2程序控制传送方式5.2.3直接存储器存取传送方式,2020/6/7,上海交通大学,26,5.2.1主机对外设的管理方式,主机对外设的管理方式即数据传送的控制方式在计算机系统中,当数据传送时,关键问题是数据传送的控制方式。数据传送的控制方式有如下几种:无条件传送方式。查询传送方式。中断传送方式。直接存储器存取方式(DMA)。通道方式。外围处理机方式。,2020/6/7,上海交通大学,27,主机对外设的管理方式,其中、属于程序控制方式,这三种控制方式和DMA方式是微型计算机系统和小型计算机系统中常用的控制方式,是本节讲述的重点内容。、两种用于大型计算机和服务器,2020/6/7,上海交通大学,28,5.2.2程序控制传送方式,程序控制的数据传送分为无条件传送、查询传送和中断传送;程序控制的数据传送的特点是以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输入或输出程序(传送指令和I/O指令)实现数据的传送。,2020/6/7,上海交通大学,29,1.无条件传送方式,主要用于二种情况:外设随时准备好同CPU之间的数据传送;外设的定时(外设处理信息的时间关系)是固定的并且是已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。把I/O指令插入到程序中,当程序执行到该I/O指令时,外设必定已为传送数据作好准备,于是在此指令时间内完成数据传送任务。,2020/6/7,上海交通大学,30,无条件传送,2020/6/7,上海交通大学,31,无条件传送,无条件传送方式下对开关(输入设备)和发光二极管(输出设备)的接口电路。图中三态缓冲器可选用LS或LS或,而输出数据寄存器可选用LS或LS或等D锁存器。输入接口电路的地址为FH,输出接口电路的地址为FH,一个输入端口和另一个输出端口可共用一个端口地址,由IORC和IOWC来区分IO操作的端口。此时CPU执行下述语句就完成了输入数据的传送:,2020/6/7,上海交通大学,32,无条件传送,MOVDX,FHINAL,DXCPU执行下述语句就完成了输出数据的传送:MOVAL,LEDST;LEDST表示个LED灯亮或灭的状态字,例如LEDST为B则表示LED灯LED灯、LED灯、LED;灯亮,其他灯灭MOVDX,FHOUTDX,AL,2020/6/7,上海交通大学,33,.查询传送方式,又称“异步传送方式”。用于外设的定时是不固定的或未知的场合。CPU必须先对外设进行状态检测。完成一次传送过程的步骤如下:(1)通过执行一条输入指令,读取所选外设的当前状态。(2)根据该设备的状态决定程序去向,如果外设正处于“忙”或“未准备就绪”,则程序转回重复检测外设状态,如果外设处于“空”或“准备就绪”,则发出一条输入/输出指令,进行一次数据传送。,2020/6/7,上海交通大学,34,)查询传送的输入接口电路,2020/6/7,上海交通大学,35,查询传送的输入接口电路,该接口的工作原理是:输入设备在数据准备好后便向接口发送一个选通信号STB,它一方面将待输入的数据锁存到输入数据寄存器中,另一方面使接口内的一个D触发器置位,表示输入数据已准备就绪,因此常称该触发器为准备就绪(READY)触发器。数据信息和状态信息从不同的端口连接到数据总线上,然后CPU分两步完成数据传送过程。第一步,检测准备就绪状态,即读取状态字,判断相应的RDY位是否为1,如果RDY1,表示输入的数据已在输入数据寄存器中,表明输入数据已准备就绪;如果RDY0,表示未准备就绪,则继续检测,此时CPU处于等待状态。第二步,当RDY1时,执行输入指令读取数据寄存器中的数据,同时把准备就绪触发器清除为0,以便开始下一个输入数据的传送过程。,2020/6/7,上海交通大学,36,输入设备条件传送方式的程序流程图。,相应的程序段为AWAIT:INAL,HTESTAL,H;检测RDYJZAWAITINAL,HMOVBX,AL;存入BX,)查询传送的输出接口电路,2020/6/7,上海交通大学,37,2020/6/7,上海交通大学,38,查询传送的输出接口电路,输出设备为打印机。CPU与打印机之间的数据传送是按字节进行的,只不过CPU是传送一个字节的ASCII字符代码。当CPU传送一个字节的数据给打印机时,必须同时送出一个选通脉冲STB到打印机,打印机利用此选通脉冲将输出数据寄存器中的字符代码存入打印机内的打印数据缓冲区中,然后向接口电路发回一个响应信号。通常,只有接收满一行的字符串或收到回车与换行字符代码时才开始打印一行的字符。在打印期间,打印机输出忙信号BUSY,此时不允许再向打印机送入打印字符。显然,只有当BUSY信号为低电平和确认打印机已接收到前一个待打印的数据后,CPU才能通过接口电路向打印机传送新的待打印的字符代码。,2020/6/7,上海交通大学,39,打印机接口电路的工作原理,输出数据寄存器(位)用于存放CPU传送过来的待打印字符的代码。位控制寄存器用于为打印机产生选通脉冲。OBF是位D触发器,用于表示数据输出寄存器中的数据是否已被打印机取走,因为OBF是在写入数据寄存器后置1,打印机取走数据后,寄存器的响应信号清0。,2020/6/7,上海交通大学,40,打印机接口电路的工作原理,若打印机未取走数据,称为数据输出缓冲器满(OUTBUFFERFULL,OBF),即OBF1;若已被取走,称为数据输出缓冲器空,则OBF0。OBF与BUSY状态信号经三态门与数据总线相连接。所以,该接口电路由数据输出端口、输出选通脉冲的控制端口、状态端口和IO地址译码器组成。当CPU要传送打印字符代码时,首先应读取状态字,检查BUSY和OBF的状态,只有它们同时为低电平时才能输出一个待打印的字符代码到数据输出缓冲器中。图就是条件传送方式下,CPU为打印机服务的程序流程图。最后,还应说明一点,并不是所有的查询传送方式的输出设备的接口电路中都需要控制端口。,打印机在条件传送方式下的程序流程图,2020/6/7,上海交通大学,41,2020/6/7,上海交通大学,42,相关的程序段,MOVAL,00H;使STB=0OUT32H,ALLEASI,BUFFER;CLDAWAIT:INAL,30H;检测BUSY和OBF状态TESTAL,03HBUFFER为存放打印字符的变量名,2020/6/7,上海交通大学,43,程序段,JNZAWAITLODSB;当BUSY=OBF=0时,输出打印字符OUT31H,ALMOVAH,ALMOVAL,80H;输出STB脉冲OUT32H,ALMOVAL,00HOUT32H,ALMOVAL,AHCMPAL,0AH;是换行字符吗?JZAWAIT,2020/6/7,上海交通大学,44,3.中断传送方式,无条件传送和查询传送的缺点是CPU和外设只能串行工作,各外设之间也只能串行工作。利用中断来实现CPU与外设之间的数据传送,这就是中断传送方式。通常是在程序中安排好在某一时刻启动某一台外设,然后CPU继续执行其主程序,外设完成数据传送的准备后,向CPU发出“中断请求”信号,在CPU可以响应中断的条件下,现行主程序被“中断”,转去执行“中断服务程序”,在“中断服务程序”中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续执行。在一定程度上实现了主机和外设的并行工作。,2020/6/7,上海交通大学,45,有关中断的几个基本摡念,中断和中断源中断系统的功能中断的主要用途可屏蔽中断与不可屏蔽中断CPU响应中断的条件,2020/6/7,上海交通大学,46,1)中断和中断源,所谓“中断”是指在CPU正常运行程序时,由于内、外部事件引起CPU暂时中止正在运行的程序,转而去执行请求CPU暂时中止的内、外部事件的服务程序,待该服务程序处理完毕后又返回到被中止的程序。,2020/6/7,上海交通大学,47,常见的中断源,一般的输入输出设备,如CRT终端、行式打印机等。数据通道,如磁带、磁盘等。实时时钟,如定时器芯片等的定时输出作为定时中断请求信号。故障信号,如电源掉电等。软件中断,如为调试程序而设置的中断源。,2020/6/7,上海交通大学,48,2)中断系统的功能,中断系统应具有的功能可归结为中断处理和中断控制。中断处理:包括发现中断请求、响应中断请求、中断处理与中断返回。中断控制:主要是实现中断优先级的排队和中断嵌套。,2020/6/7,上海交通大学,49,)中断的主要用途,在微型计算机系统中,中断的主要用途是:实现输入输出操作。电源掉电或其他情况的报警。控制台或人工干预。多处理机系统中各处理机之间的协调。控制操作系统。,2020/6/7,上海交通大学,50,)可屏蔽中断与不可屏蔽中断,根据CPU内部受理中断请求的情况,中断可分为可屏蔽中断与不可屏蔽中断两种。凡是CPU内部能够屏蔽的中断,称为可屏蔽中断;凡是CPU内部不能屏蔽的中断,称为不可屏蔽中断。所谓屏蔽是指CPU能拒绝响应中断请求信号,不允许打断CPU所执行的主程序。这通常是由内部的中断触发器(或中断允许触发器)来控制的。,2020/6/7,上海交通大学,51,)CPU响应中断的条件,2020/6/7,上海交通大学,52,()设置中断请求触发器,每个中断源向CPU发出中断请求信号是随机的,而大多数CPU都是在现行周期结束时才检测有无中断请求发出,故在现行指令执行期间,必须把随机输入的中断请求信号锁存起来,并保持到CPU响应这个中断请求后才可以清除中断请求。因此,要求每一个中断源有一个中断请求触发器,如图-中的所示。,2020/6/7,上海交通大学,53,()设置中断屏蔽触发器,在有多个中断源的情况下,为增加控制的灵活性,常要求在每一个外设的接口电路中,设置一个中断屏蔽触发器,只有当此触发器为1时,外设的中断请求才能被送到CPU,如图-中的所示。可把个外设的中断屏蔽触发器组成一个中断屏蔽寄存器端口,用输出指令来控制它们的状态。,2020/6/7,上海交通大学,54,()设置中断允许触发器的状态,在CPU内部有一个中断允许触发器,即标志寄存器中的IF位。只有当其为1时(即中断开时),CPU才能响应中断;若其为0时,(即中断关闭时),即使中断请求线上有中断请求,CPU也不响应。可用允许中断指令STI和禁止中断指令CLI来设置中断允许触发器的状态。当CPU复位时,中断允许触发器也复位为0,即关中断。当中断响应后,CPU就自动关闭中断,以禁止接收另一个新的中断(否则要处理多重中断),因而通常在中断服务程序结束时,必须有两条指令,即允许中断指令和返回指令。,2020/6/7,上海交通大学,55,()CPU在现行指令结束后响应中断,在满足上面个条件的情况下,CPU在执行现行指令的最后一个机器周期(总线周期)的最后一个时钟周期(T状态)时,才采样中断输入线INT(或INT),若发现中断请求有效,则把内部的中断锁存器置1,下一总线周期进入中断响应周期。,2020/6/7,上海交通大学,56,中断传送方式,在中断传送方式中,通常是在程序中安排好在某一时刻启动某一台外设,然后CPU继续执行其主程序。当外设完成数据传送的准备后,向CPU发出中断请求信号,在CPU可以响应中断的条件下,现行主程序被中断,转去执行中断服务程序,在中断服务程序中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续执行主程序。,2020/6/7,上海交通大学,57,中断传送方式,采用中断传送方式时,CPU从启动外设直到外设就绪这段时间一直在执行主程序,而不是像查询传送方式中处于等待状态,仅仅是在外设准备好数据传送的情况下才中止CPU执行的主程序,这就在一定程度上实现了主机和外设的并行工作。同时,如果某一时刻有几台外设同时发出中断请求,CPU可以根据预先安排好的优先顺序,按轻重缓急处理几台外设同CPU的数据传送,这样在一定程度上也可实现几个外设的并行工作。,2020/6/7,上海交通大学,58,5.2.3直接存储器存取传送方式,当某些外设,诸如磁盘、CRT显示器、高速模数转换器等要求高速而大量地传送数据时,采用程序控制方式来传送数据往往无法满足速度的要求,就以程序控制方式中传送速度最快的中断传送方式而言,每传送一个字节(或一个字)就必须把主程序停下来,转而去执行中断服务程序,在执行中断服务程序前要做好现场保护,执行完中断服务程序后还必须恢复现场。由于在程序控制方式中数据传送过程始终受CPU的干预,CPU都需要取出和执行一系列指令,每一字节(或字)数据都必须经过CPU的累加器才能输入输出,这就从本质上限制了数据传送的速度。为此提出了在外设和内存之间直接地传送数据的方式,即DMA传送方式。,2020/6/7,上海交通大学,59,DMA(直接存储器存取)传送方式,DMA(DirectMemoryAccess)是一种不需要CPU干预也不需要软件介入的高速数据传送方式。CPU只启动而不干预这一传送过程,整个传送过程由硬件完成而不需软件介入,在DMA传送方式中,对这一数据传送过程进行控制的硬件称为DMA控制器(DMAC)。,2020/6/7,上海交通大学,60,1.DMA操作的基本方法,1)周期挪用(CycleStealing)2)周期扩展3)CPU的停机方式,2020/6/7,上海交通大学,61,1)周期挪用(CycleStealing),利用CPU不访问存储器的那些周期来实现DMA操作,此时DMAC可以使用总线而不用通知CPU也不会妨碍CPU的工作。这种方法的关键是如何识别合适的可挪用的周期,以避免同CPU的访存操作发生冲突。有的CPU能产生一个表示存储器是否正在被使用的信号(例如M的VMA),有的CPU则规定在特定状态下(例如Intel的T、T状态)不访问存储器,此时就可用于实现DMA操作。周期挪用并不减慢CPU的操作,但可能需要复杂的时序电路,而且数据输入输出传送过程是不连续的和不规则的。,2020/6/7,上海交通大学,62,2)周期扩展,使用专门的时钟发生器驱动器电路,当需要进行DMA操作时,由DMAC发出请求信号给时钟电路,时钟电路把供给CPU的时钟周期加宽,而提供给存储器和DMAC的时钟周期不变。这样,CPU在加宽时钟周期内操作不往下进行,而这加宽的时钟周期相当于若干个正常的时钟周期,可用来进行DMA操作,CPU和DMAC分时访问。加宽的时钟周期结束后,CPU仍按正常时钟周期继续操作。这种方法会使CPU处理速度减慢,而且CPU时钟周期的加宽是有限制的。因此用这种方法进行DMA传送,一次只能传送一个字节。,2020/6/7,上海交通大学,63,3)CPU的停机方式(最常用、简单的操作方式),在这种方式下,当DMAC要进行DMA传送时,DMAC向CPU发出DMA请求信号DREQ,迫使CPU在现行的总线周期(机器周期)结束后,使其地址总线、数据总线和部分控制总线处于高阻状态,从而让出对总线的控制权,并给出DMA响应信号DACK。DMAC接到信号后,就可对总线进行控制,进行数据传送的控制工作,直到DMA操作完成,CPU再恢复对总线的控制权,继续执行被中断的程序。,2020/6/7,上海交通大学,64,2.DMA的传送方式,1)单字节传送方式在DMA响应信号DACK有效前,DREQ必须保持有效;DREQ在传送过程中一直保持有效,在两次传送之间也必须释放总线。2)成组传送方式一个DMA请求可传送一组信息,只要在DACK有效前DREQ保持有效即可,一旦DACK有效,不管DREQ是否有效,DMAC一直不放弃总线控制权,直到整个数组传送完。3)请求传送方式又称查询传送方式,每传送一个字节后,DMAC就检测DREQ,若无效,则挂起;若有效,继续DMA传送,直到一组信息传送结束;外加信号强制DMAC中止操作。,2020/6/7,上海交通大学,65,3.DMA控制器的基本功能,(1)能接受外设的DMA请求信号DREQ,并能向外设发出DMA响应信号DACK;(2)能向CPU发出总线请求信号(HOLD和BUSAK),当CPU发出总线响应信号(HLDA和BUSAK)后能接管对总线的控制权,进入DMA方式;(3)能发出地址信息,对存储器寻址并修改地址指针;(4)能发出读、写等控制信号,包括存储器和I/O访问信号;(5)能决定传送的字节数,并能判断DMA传送是否结束;(6)能发出DMA结束信号,释放总线,使CPU恢复正常工作。,2020/6/7,上海交通大学,66,DMAC工作流程,2020/6/7,上海交通大学,67,DMAC工作示意图,2020/6/7,上海交通大学,68,电路的工作过程,当输入设备准备好一个字节数据时,发出选通脉冲STB。该信号一方面选通数据缓冲寄存器U,把输入数据通过U送入锁存器U;另一方面将DMA请求触发器U置1,作为锁存器U的准备就绪信号READY,打开锁存器U,把输入数据送到数据总线上。同时,DMA请求触发器U向DMAC发出DMA请求信号。然后,DMAC向CPU发出HOLD(总线请求)信号,CPU在现行总线周期结束后给予响应,发出HLDA信号。DMAC接到该信号后接管总线控制权,发出DMA响应和地址信息,并发出存储器写命令,把外设输入数据(经数据缓冲寄存器U、锁存器U暂存在系统数据总线上)写到内存,然后修改地址指针,修改计数器,检查传送是否结束。若未结束,则循环传送直到整个数据块传送完。在整个数据传送完后,DMAC撤除总线请求信号HOLD,在下一个T周期的上升沿,使HLDA变为无效。,2020/6/7,上海交通大学,69,DMA工作过程波形图,2020/6/7,上海交通大学,70,5.38086的中断系统,5.3.1外部中断5.3.2内部中断5.3.3中断向量表,2020/6/7,上海交通大学,71,8086的中断系统,8086/8088有一个简单而灵活的中断系统,每个中断都有一个中断类型码(TypeCode),以供CPU进行识别,8086/8088最多能处理256种不同的中断类型。的中断源分为两类,即外部中断和内部中断。,2020/6/7,上海交通大学,72,5.3.1外部中断,8086/8088有两条中断信号线INTR和NMI,可供外设向CPU发中断请求指令。,2020/6/7,上海交通大学,73,1.可屏蔽中断INTR,如果IF=“H”(置1)表示INTR线上的中断开放,CPU在完成现在正在执行的指令后,识别该中断请求,并进行中断处理。CPU对INTR中断请求的响应过程是执行两个INTA(中断响应)总线周期。,2020/6/7,上海交通大学,74,2.不可屏蔽中断NMI,不可屏蔽中断请求信号NMI用来通知CPU发生了“灾难性”的事件,如电源掉电、存储器读写出错、总线奇偶位出错等。在CPU响应NMI时,不必由中断源提供中断类型码(规定为2),因此NMI响应也不需要执行总线周期INTA。,2020/6/7,上海交通大学,75,5.3.2内部中断,内部中断是通过软件调用的不可屏蔽中断,包括溢出中断、除法出错中断、单步中断、INTn指令中断单字节INT3指令中断。,2020/6/7,上海交通大学,76,内部中断,1.溢出中断OF置“1”,执行溢出中断指令(INTO),产生一个4型中断(中断类型码为4)。2.除法出错中断(中断类型码为0)3.INTn指令中断(中断类型码为n)4.断点中断断点中断即单字节INT3指令中断(中断类型码为3)5.单步(陷阱)中断当陷阱标志TF置“1”时,8086/8088处于单步工作方式。单步方式是一种有用的调试工具(中断类型码为1),2020/6/7,上海交通大学,77,内部中断的特点,(1)中断类型码或包含在指令中,或是预先规定的;(2)不执行INTA总线周期;(3)除单步中断外,任何内部中断都无法禁止;(4)除单步中断外,任何内部中断的优先级都比任何外部中断的优先级高。,2020/6/7,上海交通大学,78,中断优先级,中断优先级除法出错,INTn,INTO最高NMIINTR单步最低,2020/6/7,上海交通大学,79,5.3.3中断向量表,中断向量表(又称中断指针表)是存放中断服务程序入口地址(即“中断向量”)的表格。它存放在存储器的最低端,共1024个字节,每4个字节存放一个中断服务程序的入口地址。给出中断类型码n,CPU将n4得中断向量表的地址指针,找到该指针对应的4个内存单元,前2字节送IP,后二字节送CS,由此转入中断服务程序。,2020/6/7,上海交通大学,80,中断向量表,2020/6/7,上海交通大学,81,中断向量表,的中断向量表由部分组成:专用的个(),保留的个(),可供用户定义的个()。“专用的”是指凡是系统中统一规定的中断类型,“保留的”是指为系统开发所保留的中断类型。在响应中断以后,先将标志寄存器压入堆栈,然后将执行一个与段间间接调用(CALL)指令相当的过程来启动一个中断过程。该过程中,CPU将CS和IP压入堆栈,以保存断点的地址,然后将中断向量表中相应的个字节内容放入IP和CS,使控制转入中断过程。,2020/6/7,上海交通大学,82,5.4IO接口中的中断控制电路,5.4.1CPU与多个中断源的连接5.4.2中断源的识别5.4.3中断优先级5.4.4中断传送方式的接口电路,2020/6/7,上海交通大学,83,IO接口中的中断控制电路,采用中断传送的IO接口电路中,除了传送数据的数据口和存放接口给外设的控制信息的控制口(控制口是否有,视具体的外设而定),必须具有中断控制电路,以产生中断传送所需要的各种信号和传送机制。,2020/6/7,上海交通大学,84,5.4.1CPU与多个中断源的连接,以CPU为例,有两个外部中断输入引脚:INTR(可屏蔽中断请求)和NMI(不可屏蔽中断请求)。而与CPU交换信息的外设就是中断传送方式IO接口中的中断源,外设向CPU发出中断请求,通常接收外设中断请求的是可屏蔽中断请求引脚。CPU只有一个可屏蔽中断请求引脚INTR,髙电平有效。如果同该CPU连接的外设有个,要求任一个外设有中断请求IRi(设为高电平有效)时都能向CPU产生有效信号INTR(高电平有效),CPU与个外设之间必须采用或门连接。,2020/6/7,上海交通大学,85,CPU与多个中断源的连接,2020/6/7,上海交通大学,86,5.4.2中断源的识别,在图-所示的接口电路中,当CPU的INTR引脚上有有效高电平产生时,为了正确实现中断服务,首先必须确定是哪一个中断源(外设)发出的中断请求IRi,这就是中断源的识别。识别中断源有两种方法,2020/6/7,上海交通大学,87,.查询中断,当外设没有提出中断请求时,CPU照常执行主程序,只有在接收到外设的中断请求后CPU才去查询,以识别提出中断请求的设备,主要采用软件查询。软件查询是用程序查询接在中断线上的每一个外设。查询程序依次读出每一个外设的中断状态位,通过测试该状态位来判断对应的外设是否发出过中断请求,若是,则转到相应的中断服务程序。一个管理个外设的查询程序的流程图及硬件示意图如图-所示。从图中可见,如果次测试都未发现有中断请求,则表示中断输入线的信号是由于出错引起,程序转向出错出口。,2020/6/7,上海交通大学,88,用软件查询法寻找中断源,2020/6/7,上海交通大学,89,.向量中断,向量中断(VectoredInterrupt)又称矢量中断。在具有向量中断的微型计算机系统中,每个外设都预先指定一个中断类型码(又称中断码),当CPU识别出某个外设请求中断并予以响应时,控制逻辑就将该外设的中断类型码送入CPU,以自动地提供相应的中断服务程序的入口地址,转入中断服务。用向量中断来确定中断源主要是用硬件来实现的,通常在微型计算机系统中所用的可编程中断控制器都能提供中断类型码。,2020/6/7,上海交通大学,90,5.4.3中断优先级,上述识别中断源的方法适用于仅有一个中断源发出中断请求的情况。在实际系统中,常常遇到多个中断源同时发出请求中断的情况,这时CPU必须确定首先为哪一个中断源服务以及服务的次序。解决的方法是使用中断优先排队的处理方法。这就是根据中断源要求的轻重缓急,排好中断处理的优先次序,即优先级(Priority),又称优先权。先响应优先级最高的中断请求。有的微处理器有条或更多的中断请求线,而且已经安排好中断的优先级,但有的微处理器只有条中断请求线。凡是遇到中断源的数目多于CPU的中断请求线的情况,就需要采取适当的方法来解决中断优先级的问题。,2020/6/7,上海交通大学,91,中断优先级,当CPU正在处理中断时,也要能响应优先级更高的中断请求,而屏蔽掉同级或较低级的中断请求。即所谓多重中断的问题。通常,确定中断优先级的方法有以下几种。.软件查询确定中断优先级.硬件查询确定优先级.中断优先级编码电路,2020/6/7,上海交通大学,92,.软件查询确定中断优先级,把个外设的中断请求触发器组合起来,作为一个端口,赋以设备号,如图-所示。把各个外设的中断请求信号相或后,作为INT信号,这样任一外设有中断请求都可向CPU发出INT信号。当CPU响应中断后,把中断寄存器的状态作为一个外设信息读入CPU,逐位检测其状态,若检测出某位有中断请求,即转入相应的中断服务程序入口。在查询方式中询问的次序即为优先级的次序,不需要有判断和确定优先级的硬件排队电路。其缺点是在中断源较多的情况下,由询问到转至相应的中断服务程序入口的时间较长。,2020/6/7,上海交通大学,93,用软件查询确定优先级,2020/6/7,上海交通大学,94,.硬件查询确定优先级,图-1所示为实现硬件查询的优先级中断链电路(Daisychaining)。来自CPU的中断响应信号INTA(L有效)从A设备开始串行地向下传送,当A设备有中断请求(H有效)时,则中断响应信号在门A处被封锁,不再下传,使后级设备得不到CPU的中断响应信号。同时A设备的数据允许线EN变为有效,从而允许A设备使用数据总线,将其中断类型码放到数据总线上进入CPU。当A设备无中断请求时,中断响应信号可以通过A门传给下一设备B。优先级中断链电路又称链式优先级排队电路,当中断响应信号串行地通过所有外设时,这些外设的中断优先级由其在优先级中断链电路中的先后次序来决定。,2020/6/7,上海交通大学,95,硬件查询确定优先级,2020/6/7,上海交通大学,96,.中断优先级编码电路,2020/6/7,上海交通大学,97,中断优先级编码电路,用硬件编码器和比较器组成的中断优先级编码电路如图-所示。设有个中断源,当任何一个中断源有中断请求时,通过或门,即可产生一个中断请求信号,但它能否送至CPU的中断请求线,还必须受比较器的控制。条中断输入线中的任何条经过编码器可以产生位二进制优先级编码AAA,优先级最高的中断输入线的编码为111,优先级最低的中断输入线的编码为000,而且若有多个中断输入线同时输入,则编码器只输出优先级最高的编码。,2020/6/7,上海交通大学,98,中断优先级编码电路,正在进行中断处理的外设的优先级编码,由CPU通过软件经数据总线送至优先级寄存器,然后取出编码BBB至比较器。比较器对编码AAA与BBB的大小进行比较。若AB,则AB端输出低电平,封锁与门,禁止向CPU发出新的中断请求;只有当AB时,比较器输出端才为高电平,打开与门G,将中断请求信号送至CPU的INTR输入端,当CPU响应中断后,就中断正在进行的中断服务程序,转去执行优先级更高的中断服务程序。这就实现了中断嵌套的功能。,2020/6/7,上海交通大学,99,中断优先级编码电路,若CPU不在执行中断服务程序时(即正在执行主程序),则优先级失效信号为高电平,此时如有任一中断源请求中断,都能通过与门G,向CPU发出INTR信号。当外设的个数小于等于时,它们共用一个产生中断向量(指中断类型码)的电路,该电路由位比较器的编码AAA供给。根据此不同的编码,即可转入不同的入口地址。中断屏蔽寄存器IMR可用来屏蔽IRi中任一个或几个的中断请求,更增加了控制的灵活性。在计算机系统和计算机应用系统中广泛使用的可编程中断控制器中就采用这种电路。,2020/6/7,上海交通大学,100,5.4.4中断传送方式的接口电路,中断传送方式的接口电路如图所示。这是一个输入接口电路。当输入设备准备好一个数据后,发出选通信号STB,该信号一路送到数据锁存器U,使输入设备的位数据经锁存器U送入缓冲器U,等待CPU用IN指令读取;该信号另一路送中断请求触发器U,将U置1,同时,使输入缓冲器IBF满,置1,说明U中数据未被CPU取走,通知输入设备暂不送新数。若系统允许该设备发出中断请求,且中断允许触发器U已置1,从而通过与门U向CPU发出中断请求信号INTR。,2020/6/7,上海交通大学,101,中断传送方式的接口电路,2020/6/7,上海交通大学,102,中断传送方式的接口电路,若无其他设备的中断请求,在CPU开中断的情况下,则在现行指令结束后,CPU响应该设备的中断请求,执行中断响应总线周期,发出中断响应信号INTA,要求提出中断请求的外设把一个字节的中断类型码送到数据总线上。然后CPU根据该中断类型码转而去执行中断服务程序,读入数据(通过IN指令,打开三态缓冲器U),同时复位中断请求触发器U,INTR0,并使IBF0,说明U中的数据已被CPU取走,通知输入设备可送新数。中断服务完成后,再返回被中断的主程序。,2020/6/7,上海交通大学,103,5.5IO接口芯片概述,5.5.1IO接口电路的发展与分类5.5.2简单的IO接口芯片5.5.3简单的IO接口芯片应用举例,2020/6/7,上海交通大学,104,5.5.1IO接口电路的发展与分类.IO接口电路(IO接口芯片)的发展,IO接口电路与CPU芯片同步发展,是以IO接口芯片(集成电路芯片)形式问世的。以微型计算机系统为例,每种系列的CPU芯片都有对应的IO接口芯片与之配套,以构成高性能的微型计算机系统。例如,Intel微处理器的配套IO接口芯片、和等,Zilog的Z微处理器的配套IO接口芯片ZPIO(并行输入输出接口)、ZCTC(定时器计数器电路)、ZSIO(串行输入输出接口)和ZDMAC(DMA控制器)等。,2020/6/7,上海交通大学,105,IO接口电路(IO接口芯片)的发展,IO接口电路早期出现的是简单接口芯片,采用中规模集成电路(MiddleScaleIntegration,MSI)。这种接口芯片的工作方式基本固定,接口功能简单,适合于系统结构和指令系统都比较简单的早期的微处理器。但是,这种接口芯片所涉及的接口技术的基本原理及方法具有普遍意义。,2020/6/7,上海交通大学,106,IO接口电路(IO接口芯片)的发展,自第二代微处理器问世后,处理器的指令系统比较完善,功能强大,而且系统结构较完善,具有中断和直接存储器存取(DirectMemoryAccess,DMA)等功能。同此类处理器相配套的IO接口芯片也发展为接口功能强大、工作方式多样的可编程IO接口芯片,这类IO接口芯片可用软件设置来选择IO接口芯片的工作方式和接口功能。,2020/6/7,上海交通大学,107,IO接口电路(IO接口芯片)的发展,此后,IO接口电路又朝着两个方向发展:一方面是针对各种不同的应用领域,将相关的IO接口芯片组构成不同功能的“功能接口板”,最终用户可以选用适当的“功能接口板”,方便地构建自己所需要的计算机应用系统;另一方面在构成计算机系统(特别是构成微型计算机系统)时,为使主板结构缩小,可靠性提高,采用超大规模集成(VeryLargeScaleIntegrated,VLSI)技术,将主板上众多的接口芯片和支持芯片按不同功能分别集成到几块集成芯片中,这样用少量几片VLSI芯片组合构成“控制芯片组”,简称芯片组。目前在个人计算机(PC)中大都采用片(或片)由VLSI芯片组成的芯片组,即通常的南北桥结构或Hub结构。,2020/6/7,上海交通大学,108,.IO接口电路的分类,随着大规模集成电路技术的迅速发展,计算机系统中CPU与外设之间的接口电路已由早期的逻辑电路板(由中、小规模集成电路芯片组成)发展为以大规模集成电路芯片为主的接口芯片。用于计算机输入输出的接口芯片种类极多,功能各异。按功能选择的灵活性来划分,可分为可编程接口芯片和不可编程接口芯片;按接口的通用性来划分,可分为通用接口芯片和专用接口芯片。,2020/6/7,上海交通大学,109,)按功能选择的灵活性来划分,()不可编程接口芯片这种接口芯片内部的接口电路比较简单,接口功能单一,工作方式基本固定,使用方便,例如数据缓冲器LS和LS、数据锁存器LS等(详见.小节)。,2020/6/7,上海交通大学,110,()可编程接口芯片,这种接口芯片内部的接口电路非常复杂,接口功能强,具有多种工作方式,可以在不改变硬件连接的情况下,通过软件编程来改变芯片的内部结构选择芯片的工作方式及接口功能,这就是可编程接口芯片的初始化。可编程接口芯片具有很好的灵活性和通用性。这一类芯片包括Intel公司的、和,Motorola公司的以及Zilog公司的ZPIO、ZSIO、ZCTC等。此外,还有为一些复杂外设配备的可编程专用控制芯片,如点阵式打印机控制器、键盘显示器控制器、CRT显示器控制器和等。,2020/6/7,上海交通大学,111,)按接口的通用性来划分()通用接口芯片,上述、以及ZPIO、ZCTC、ZSIO等可编程接口芯片具有接口功能强、通用性好的特点,适应各种不同外设的需要,是一种通用接口芯片,可作为不同的并行外设、串行外设的接口,以及用于定时和计数。,2020/6/7,上海交通大学,112,()专用接口芯片,在计算机系统和计算机应用系统中,配置键盘、显示器、打印机和磁盘驱动器等复杂外设常常是必不可少的,如果采用通用接口芯片实现对这些复杂外设的正确控制往往要增加其他芯片,并会带来连接的复杂性,加重CPU的负担。为此Intel等公司为这些常用的复杂外设开发和生产了大量可编程的专用接口芯片,如、以及等,这些专用接口芯片的使用为计算机系统和计算机应用系统中CPU与外设的接口提供了极大的方便。,2020/6/7,上海交通大学,113,5.5.2简单的IO接口芯片.简单的IO接口芯片的特点及组成,简单的IO接口芯片是一种不可编程的接口芯片,这类接口芯片的特点是电路结构简单,功能单一,在硬件连接好以后,电路的接口功能固定,无法通过计算机的指令来改变电路功能。对简单的并行IO接口芯片而言,其基本部件为三态缓冲器和数据锁存器。通常包含上述两种部件之一的或兼具这两种部件的芯片都可用做简单的并行接口芯片,应用于不同场合。,2020/6/7,上海交通大学,114,)仅含三态缓冲器的并行接口电路,这类电路主要在各种接口中用做单向或双向的总线缓冲器驱动器,使用最多也最典型的是Intel位并行双向总线驱动器(同相,反相)、SN(反相)(同相)(同相)位总线缓冲器驱动器、SN位双向总线驱动器等几种。,2020/6/7,上海交通大学,115,)仅含数据锁存器的并行接口电路,这类接口主要是指带有一定控制端的触发器和数据锁存器芯片,如系列的D触发器(位)、(位)、(位)、(位)、(位)、(位),JK触发器(位单独时钟)、(位共时钟)、D锁存器(位)、(双位)、(双位)、RS锁存器(位)等。,2020/6/7,上海交通大学,116,)兼具数据锁存器和三态缓冲器的并行接口电路,这类接口中最典型的要数Intel公

温馨提示

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

评论

0/150

提交评论