湖大微机原理及其应用-第5章.ppt

上传人(卖家):hyngb9260 文档编号:5725847 上传时间:2023-05-05 格式:PPT 页数:174 大小:1.91MB
下载 相关 举报
湖大微机原理及其应用-第5章.ppt_第1页
第1页 / 共174页
湖大微机原理及其应用-第5章.ppt_第2页
第2页 / 共174页
湖大微机原理及其应用-第5章.ppt_第3页
第3页 / 共174页
湖大微机原理及其应用-第5章.ppt_第4页
第4页 / 共174页
湖大微机原理及其应用-第5章.ppt_第5页
第5页 / 共174页
点击查看更多>>
资源描述

1、第5章输入/输出技术与中断系统 I/O I/O接口的功能接口的功能 I/O I/O端口与其寻址方式端口与其寻址方式 CPU CPU与外设之间的数据传送方式与外设之间的数据传送方式 中断系统的基本概念中断系统的基本概念 8086CPU8086CPU的中断系统的中断系统 8259A8259A可编程中断控制器可编程中断控制器 掌握微型计算机接口技术的基本概念掌握微型计算机接口技术的基本概念 了解主机与外设之间的各种数据传送方式了解主机与外设之间的各种数据传送方式 了解了解I/O端口的寻址方式端口的寻址方式 掌握掌握8 8086CPU的中断系统的中断系统 掌握掌握 8259A可编程中断控制器可编程中断

2、控制器 5.1 I/O接口的功能和传送的接口信号接口的功能和传送的接口信号 CPUCPU可通过可通过系统总线系统总线与外设相连,进行系与外设相连,进行系统的扩展与开发,而外设必须通过统的扩展与开发,而外设必须通过接口接口才能才能与与CPUCPU交换信息。交换信息。CPU系统总线系统总线I/O接口接口电路电路外外设设5.1.1 I/O接口的功能接口的功能 1 1、数据的、数据的缓冲缓冲与与锁存;锁存;2 2、I/OI/O设备的设备的寻址;寻址;3 3、提供、提供CPUCPU与外设间交换数据与外设间交换数据 所需的所需的控制控制与与状态状态信号;信号;4 4、信号的、信号的转换;转换;5 5、可编

3、程可编程功能。功能。5.1.2 CPU与外设间交换的信号与外设间交换的信号 1、数据数据 (1 1)数字量数字量:是以是以二进制形式或以二进制形式或以ASCIIASCII码码表示的数字表示的数字或字符或字符 (2 2)模拟量模拟量:外部的模拟量必须先经过外部的模拟量必须先经过A/DA/D转换成数字转换成数字量后才能量后才能进入进入CPUCPU;CPUCPU对现场的控制信号也必须经过对现场的控制信号也必须经过D/AD/A转转换成模拟量后,才能去换成模拟量后,才能去控制控制某些执行机构。某些执行机构。(3 3)开关量:开关量:只有只有两个状态两个状态的量,最终转化为两个电平的量,最终转化为两个电平

4、电量,对应电量,对应一位一位二进制的二进制的“1”1”或或“0”0”。(4 4)脉冲量:)脉冲量:以以脉冲形式脉冲形式表示的一种信号,例如计数脉表示的一种信号,例如计数脉冲、定时脉冲、控制脉冲等。冲、定时脉冲、控制脉冲等。在在8086中,中,数据信息最终都转化成为数据信息最终都转化成为8位、位、16位或位或32位二进制数位二进制数。对输入设备为是否准备好准备好?(READY)对输出设备为是否空闲空闲?(Empty或BUSY)反映当前外设工作状态的信息,例如:3.控制(Control)信息 CPUCPU通过接口输出用以通过接口输出用以控制外设控制外设工作的信息,工作的信息,如控制如控制I/O设备

5、的设备的运行模式运行模式等控等控制信号。制信号。上述数据、状态信息及控制信息是三上述数据、状态信息及控制信息是三类类不同性质不同性质的接口信号,必须的接口信号,必须分别分别传送;传送;但大部分微机系统中都只有通用的输但大部分微机系统中都只有通用的输入、输出指令,因此状态信息与控制信息入、输出指令,因此状态信息与控制信息也必须也必须作一种数据作一种数据来传送;来传送;CPUCPU与接口连接时为使三者之间能区分与接口连接时为使三者之间能区分开,必须给它们安排开,必须给它们安排各自不同各自不同的端口地址。的端口地址。图5.1 I/O接口示意图I/O接口内部一般由接口内部一般由数据、状态、控制数据、状

6、态、控制三类三类寄存器组成。寄存器组成。数据寄存器数据寄存器在在输入输入时,保存外设发往时,保存外设发往CPU的数的数据据(输入寄存器输入寄存器);在在输出输出时,保存时,保存CPU发往外设的数发往外设的数据据(输出寄存器输出寄存器);状态寄存器状态寄存器保存状态信息,保存状态信息,CPU可从状态口读可从状态口读取取当前状态当前状态;控制寄存器控制寄存器用来保存用来保存CPU写入的写入的控制字控制字。外部设备与微处理器进行外部设备与微处理器进行信息交换信息交换,必须,必须通过通过访问访问该外设相对应的端口来实现。该外设相对应的端口来实现。寻找这些外设端口的过程叫做寻找这些外设端口的过程叫做寻址

7、寻址。通常有通常有两种两种寻址方式:寻址方式:存储器映像存储器映像的的I/OI/O寻址方式;寻址方式;I/OI/O端口单独寻址端口单独寻址方式方式。5.2 I/O 端口端口的的寻址方式寻址方式5.2.1 存储器映像的存储器映像的I/O寻址方式寻址方式 将将I/OI/O端口地址与存储器地址端口地址与存储器地址统一分配统一分配,即,即把一个外设端口作为存储器的一个单元来把一个外设端口作为存储器的一个单元来对待,对待,占有占有存储器的存储器的一个一个地址。地址。CPUCPU没有专门的输入、输出指令,当从外设没有专门的输入、输出指令,当从外设做一次输入做一次输入/输出操作时,是作为一次存储输出操作时,

8、是作为一次存储器的器的读读/写写操作。操作。优点:优点:1.端口寻址手段丰富,且端口寻址手段丰富,且不需要专门的不需要专门的I/OI/O指令指令2.I/OI/O寄存器数目(或外设数目寄存器数目(或外设数目)仅受仅受总存储容量总存储容量的限制的限制。3.读写控制逻辑比较读写控制逻辑比较简单简单。缺点缺点:I/OI/O端口要占用存储器的一部分端口要占用存储器的一部分地址空间,使可用的内存空间地址空间,使可用的内存空间减少减少;用访问内存的指令来访问外设,用访问内存的指令来访问外设,延长延长了指令执行的时间。了指令执行的时间。5.2.2 I/O端口单独寻址方式端口单独寻址方式 I/OI/O端口和存储

9、器端口和存储器分开分开寻址;寻址;CPUCPU有专用的有专用的I/OI/O指令,故也称为指令,故也称为专用专用I/OI/O指令方式;指令方式;专用的专用的I/OI/O指令通常有两类,即:指令通常有两类,即:输入输入指令、指令、输出输出指令及其相关指令组指令及其相关指令组。优点优点:1.I/O端口的地址空间独立,端口的地址空间独立,不占用不占用存储器的存储器的地址空间;地址空间;2.对对I/O端口的寻址只需用到较少的地址线,端口的寻址只需用到较少的地址线,因此寻址因此寻址速度速度相对较快;相对较快;3.专门专门I/O指令的使用,使编制的汇编语言源指令的使用,使编制的汇编语言源程序中的输入程序中的

10、输入/输出部分更为输出部分更为清晰清晰,便于,便于理理解解和和调试调试。缺点缺点:I/OI/O指令的类型指令的类型较少较少,访问外设的程序,访问外设的程序设计灵活性设计灵活性较差较差;需要存储器和需要存储器和I/OI/O端口两套控制逻辑电端口两套控制逻辑电路,增加了硬件的路,增加了硬件的复杂性复杂性。5.2.3 8086 CPU对对I/O端口的寻址方式端口的寻址方式采用采用I/O端口端口单独单独寻址方式,用低寻址方式,用低16位地址总线位地址总线(A15A0)寻址寻址I/O端口;端口;支持支持字节型字节型和和字型字型I/O传送;传送;最多支持最多支持64K个个字节型字节型I/O端口,或者说最多

11、支持端口,或者说最多支持32K个个字型字型端口;端口;有两种寻址方式:有两种寻址方式:直接直接寻址,地址范围为寻址,地址范围为0255;DX间接间接寻址,地址范围为寻址,地址范围为065535。为解决为解决8086与8位I/O设备数据线的连接问题连接问题,与存储器的奇/偶体方式相类似,也可以把I/O设备分成2个体个体,其中:偶偶I/O体体的数据线与CPU的D0D7连接,用地址总线A0作为偶体(低低8位位数据传送)选通信号;奇奇I/O体体的数据线与CPU的D8D15连接,用 作为奇体(高高8位位数据传送)选通信号。BHE 对于对于16位的位的字型字型端口,其端口地址应是端口,其端口地址应是偶偶地

12、址;地址;对于对于8位的位的字节型字节型端口:端口:若接若接低低8位位数据总线,则是数据总线,则是偶偶地址端口;地址端口;若接若接高高8位位数据总线,则是数据总线,则是奇奇地址端口。地址端口。如果一个如果一个I/OI/O接口系统中接口系统中多个字多个字节型节型端口都接到数据总线的低端口都接到数据总线的低8 8位位(也可以接高(也可以接高8 8位),则这些端口地位),则这些端口地址的址的A A0 0均均固定为固定为0 0,全部为偶地址全部为偶地址。因此,因此,A0不能参与各接口芯片的不能参与各接口芯片的片内端口寻址,这时可用片内端口寻址,这时可用A1来来替代替代。5.3 CPU与外设之间的数据传

13、送方式与外设之间的数据传送方式微机微机与外设间的数据传送,实际上是与外设间的数据传送,实际上是CPU与与I/O接口间的数据传送。接口间的数据传送。CPU与外设间的数与外设间的数据传送据传送方式方式通常包括通常包括无条件传送无条件传送、查询传送、查询传送、中断传送、中断传送、以及以及DMA方式方式。5.3.1 无条件传送方式无条件传送方式 无条件传送一般适合于数据传送无条件传送一般适合于数据传送不太频不太频繁繁的情况,如对开关、数码显示器等一些的情况,如对开关、数码显示器等一些简简单外设单外设的操作的操作。所谓无条件,就是所谓无条件,就是假设假设外设已处于就绪外设已处于就绪状态,数据传送时,程序

14、状态,数据传送时,程序不必去查询不必去查询外设的外设的状态,而状态,而直接执行直接执行I/OI/O指令进行数据传输指令进行数据传输。5.3.2 查询传送方式查询传送方式 程序控制下的查询传送方程序控制下的查询传送方式,又称式,又称异步传送异步传送方式。方式。它在执行输入输出操作它在执行输入输出操作之之前前,需通过测试程序对外部设,需通过测试程序对外部设备的状态进行备的状态进行检查检查。当所选定的外设已准备当所选定的外设已准备“就绪就绪”后,才开始进行输入后,才开始进行输入输出操作。输出操作。查询传送方式流程图 查询传送方式查询传送方式工作流程包括工作流程包括两个基本两个基本工作环节工作环节(1

15、 1)查询环节)查询环节 主要通过读取状态寄存器的主要通过读取状态寄存器的标志位标志位来来检查外设是否检查外设是否“就绪就绪”。(2 2)传送环节)传送环节 通过输入指令从数据端口通过输入指令从数据端口输入输入数据,数据,或利用输出指令向数据端口或利用输出指令向数据端口输出输出数据数据。一个典型的查询式输入接口电路如图一个典型的查询式输入接口电路如图5.2所示。所示。图中,由输入设备提供图中,由输入设备提供8位数据位数据和和1个个选通选通信号,通过数据端口(信号,通过数据端口(8位锁存器和三位锁存器和三态缓冲器态缓冲器1#)或状态端口()或状态端口(D型触发器和型触发器和三态缓冲器三态缓冲器2

16、#)将信息传送到)将信息传送到CPU,其中状态端口其中状态端口仅用仅用到到1位,只接数据总位,只接数据总线的线的DB0 图5.2 查询式输入接口电路工作过程:工作过程:当输入设备的数据已经准备好后,一方面当输入设备的数据已经准备好后,一方面将数据将数据送入送入8 8位锁存器位锁存器,另一方面对,另一方面对D D触发器触发,触发器触发,使状态信息标志位使状态信息标志位D D0 0为为1 1。当当CPUCPU要求外设输入信息时,先要求外设输入信息时,先检查检查状态信状态信息。若数据已经准备好,则输入相应数据,并使息。若数据已经准备好,则输入相应数据,并使状态信息状态信息清清“0”0”。否则,等待数

17、据准备否则,等待数据准备“就绪就绪”。查询式输入时的数据和状态信息 查询式输入程序流程图 WAIT:IN A,STATUS-PORT ;从状态口输入;从状态口输入状态信息状态信息TEST AL,01H ;测试测试标志位是否为标志位是否为1JZ WAIT ;未就绪,未就绪,继续继续查询查询IN AL,DATA-PORT ;从数据端口从数据端口输入数据输入数据 与查询式输入与查询式输入相类似相类似。一个典型的查。一个典型的查询式输出电路如图询式输出电路如图5.4所示,所示,图中,图中,8位锁存器为数据端口,位锁存器为数据端口,D型触型触发器与发器与1位的三态缓冲器构成状态端口,其位的三态缓冲器构成

18、状态端口,其输出的输出的状态信号状态信号Busy经三态缓冲器接数据经三态缓冲器接数据总线总线DB7。图5.4 查询式输出电路工作过程:工作过程:当输出设备将数据输出后,当输出设备将数据输出后,发出一个发出一个ACKACK信号信号,使,使D D触发器翻转触发器翻转为为0 0。CPUCPU查询到这个状态信息后,执行输出指令,将查询到这个状态信息后,执行输出指令,将新的新的输出数据输出数据发送发送到数据总线上,同时把数据端口地址发送到到数据总线上,同时把数据端口地址发送到地址总线上。地址总线上。由地址译码器产生的译码信号和由地址译码器产生的译码信号和 相相“与与”后,发后,发出选通信号,将出选通信号

19、,将输出数据送至输出数据送至8 8位锁存器位锁存器。同时同时将将D D触发器置为触发器置为1 1,并通知外设进行数据,并通知外设进行数据传传输操输操作。作。WR查询式输出的端口信息 WAIT0WAIT0:IN AL,STATUS_PORT IN AL,STATUS_PORT ;从状态口输入;从状态口输入状态信息状态信息 TEST AL,80H TEST AL,80H ;测试测试标志位标志位D D7 7 JNZ WAIT0 JNZ WAIT0 ;未就绪;未就绪,继续查询继续查询 MOV AL,BUF MOV AL,BUF ;从缓冲区;从缓冲区BUFBUF取数据取数据 OUT DATA_PORT,

20、AL OUT DATA_PORT,AL ;向数据端口;向数据端口输出输出 读入状态端口信息 输出数据 Busy=0?N 图 5.5 查询式输出程序流程图 3.查询传送方式的特点查询传送方式的特点 接口电路和工作程序均相当简单,较好地解接口电路和工作程序均相当简单,较好地解决了决了CPU与外设之间的与外设之间的速度匹配速度匹配问题;问题;在一些在一些CPU不太忙不太忙且传送速度且传送速度不高不高的情况下,的情况下,常采用这种方式。常采用这种方式。但这种方式实际上是但这种方式实际上是CPU与外设之间的一种与外设之间的一种串行串行(交替)工作的方式,大大(交替)工作的方式,大大降低降低了了CPU的的

21、效率效率。5.3.3 中断传送方式中断传送方式CPUCPU和外设并行运行和外设并行运行的工作方式:的工作方式:CPUCPU启动外设后,继续执行启动外设后,继续执行其他其他的工作程序,的工作程序,不不需要需要去查询外设的状态;去查询外设的状态;当外设准备好后,当外设准备好后,主动主动向向CPUCPU发出中断申请;发出中断申请;CPUCPU响应后,响应后,暂时停止暂时停止当前程序,当前程序,转去转去执行数据执行数据的输入或输出操作,待的输入或输出操作,待I/OI/O处理完成后,再处理完成后,再返回返回到被到被打断的程序继续运行,这一过程即为打断的程序继续运行,这一过程即为中断中断。CPUCPU通过

22、通过反复反复响应中断,来完成批量数据的输入响应中断,来完成批量数据的输入或输出。或输出。中断方式的数据输入采用中断传送方式时采用中断传送方式时,无需无需CPU花费大量时间去查花费大量时间去查 询外设的工作状态询外设的工作状态。与程序方式相比,大大提高了与程序方式相比,大大提高了CPU的的效率效率。外设请求中断INTR有效主程序中断服务程序输入数据外设准备数据5.3.4 DMA DMA方式方式1.1.问题的提出问题的提出 利利用中断方式进行数据传送,可以大大地提高用中断方式进行数据传送,可以大大地提高CPU的效率,但中断传送也是通过的效率,但中断传送也是通过CPU执行指令来执行指令来完成的,传送

23、一个数据常需要执行完成的,传送一个数据常需要执行十几条十几条指令,指令,几十几十微秒微秒的时间。的时间。这对于高速的这对于高速的I/O设备与内存间批量数据交换来设备与内存间批量数据交换来说,显得说,显得太慢太慢了。为解决这个问题,可以采用:了。为解决这个问题,可以采用:DMA(Direct Memory Access)方式。方式。CPU总线存储器外设程序控制的数据输入/输出DMADMA与程序控制数据传送路径比较2.DMA传送的特点传送的特点 (1)数据传送过程中的一些)数据传送过程中的一些操作操作,如:存,如:存/取取数、修改地址、计数等不是由软件,而是由数、修改地址、计数等不是由软件,而是由

24、硬件硬件(DMA控制器)来实现的;控制器)来实现的;(2)传送的速度上限一般主要)传送的速度上限一般主要取决于取决于存储器的存储器的存取速度存取速度;(3)DMA传送过程中,传送过程中,CPU需需让出让出系统总线系统总线的的控制权控制权,让,让DMA控制器接管,因此控制器接管,因此DMA控制控制器电路器电路结构复杂结构复杂,硬件,硬件成本高成本高。DMA传送原理图(2)当当CPU发出发出DMA响应信号后,响应信号后,接管系统总接管系统总线线进入进入DMA方式;方式;(1 1)在收到外设的在收到外设的DMA请求后,能向请求后,能向CPU 发出发出 BUSRQ 请求信号。请求信号。(3)能发出地址

25、信息,并对能发出地址信息,并对I/O端口或存储器端口或存储器寻寻址址。并能。并能修改修改地址指针;地址指针;(5)能对传送的字节计数,判断能对传送的字节计数,判断DMA传送传送是否结束是否结束(4 4)能向存储器和能向存储器和I/O设备发出设备发出读读/写控制写控制信号信号(6)能发出)能发出DMA结束信号,结束信号,让出让出系统总线,使系统总线,使CPU恢复正常工作恢复正常工作DMA工作流程 4.8086 CPU的的DMA方式方式 通过通过HOLDHOLD、HLDAHLDA来接受、响应来接受、响应DMADMA控制器的总线控制器的总线请求:当请求:当DMADMA控制器发出控制器发出HOLD(H

26、OLD(总线请求总线请求)时,时,CPUCPU在完成当前的总线操作后,输出在完成当前的总线操作后,输出HLDA(HLDA(总线总线请求响应请求响应);DMADMA控制器收到此信号后接管系统总线,在它的控制器收到此信号后接管系统总线,在它的控制下完成控制下完成DMADMA传送传送(单个字节,或是成块数据单个字节,或是成块数据)DMADMA控制器将控制器将HOLDHOLD信号变成低电平,信号变成低电平,放弃放弃对总线对总线的控制。的控制。CPUCPU检测到检测到HOLDHOLD为低电平后,将为低电平后,将HLDAHLDA也置为低电也置为低电平,且平,且重新控制重新控制总线总线 8086 对总线请求

27、对总线请求HOLD信号的响应条件信号的响应条件 (1)最)最通常通常的情况是,当前的总线周期执行的情况是,当前的总线周期执行完毕即响应;完毕即响应;(2)当正在执行加)当正在执行加LOCK前缀前缀的指令时,是的指令时,是让当前的指令执行让当前的指令执行完毕完毕后响应;后响应;(3)若当前执行的是)若当前执行的是中断响应周期中断响应周期,则只能,则只能在其在其第二个第二个总线周期时才能响应总线周期时才能响应HOLD请求。请求。结论结论:DMA请求获得请求获得CPU响应的优先权响应的优先权高于高于所有的中断请求的优先权所有的中断请求的优先权。5.4 中断系统的基本概念中断系统的基本概念5.4.1

28、中断与中断系统的功能1.什么叫中断什么叫中断中断申请主程序中断服中断服务程序务程序返回中断示意图所谓中断,是指所谓中断,是指CPU暂暂时中止时中止正在执行的程序,转正在执行的程序,转去处理去处理临时临时发生的事件(执发生的事件(执行中断服务程序),处理完行中断服务程序),处理完毕,毕,再返回再返回原来被中止的程原来被中止的程序继续运行。序继续运行。三个关键字概括了中断的基本特性三个关键字概括了中断的基本特性 (1)“中止中止”CPU的正常程序被打断;的正常程序被打断;(2)“临时临时”中断的发生大部分都是随机中断的发生大部分都是随机的,事先并不能准确地知道在哪条指令后面会产的,事先并不能准确地

29、知道在哪条指令后面会产生中断;生中断;(3)“返回返回”正常程序被打断只是正常程序被打断只是暂时暂时的、的、插入性插入性的,而的,而不是破坏性不是破坏性的,否则便不能称之为的,否则便不能称之为中断。中断。2.2.中断的功能中断的功能 (1)CPU分时操作分时操作 分时执行多个用户程序或多道作业,使多台设备同分时执行多个用户程序或多道作业,使多台设备同时并行工作;时并行工作;(2)实现实时处理)实现实时处理 随时接受现场的各种信息,并及时处理;随时接受现场的各种信息,并及时处理;(3)故障处理)故障处理 包括:硬件故障和软件故障;包括:硬件故障和软件故障;(4)程序调试)程序调试 实现步进或分段

30、执行程序,实现步进或分段执行程序,但这种中断但这种中断不是不是随机产随机产生的。生的。3.3.中断源中断源 即引起中断的原因,或中断请求的来源。通常有以下几种:(1)由硬件)由硬件故障故障引起;引起;(2)由)由程序程序引起;引起;(3)由)由外部请求外部请求引起,如引起,如I/O设备、实时设备、实时 时钟、现场突发信号等时钟、现场突发信号等 4.4.中断系统的功能中断系统的功能计算机内实现中断功能的硬件和软件的集合称为该机器的中断系统。一个完善的中断系统应具备以下功能:(1)中断请求中断请求信息信息如何产生?请求中断的如何产生?请求中断的标志标志是什么?是什么?(2)CPU如何如何响应响应?

31、(如何知道有请求,是否立即响应,?(如何知道有请求,是否立即响应,响应后如何响应后如何处理处理等);等);(3)中断)中断优先权优先权问题,即当多个中断源同时申请中断时,问题,即当多个中断源同时申请中断时,CPU应应先为先为哪一个服务?哪一个服务?(4)中断)中断服务服务,即完成中断源,即完成中断源要求要求的各项工作的各项工作(5)返主返主问题,中断服务完成后,如何问题,中断服务完成后,如何准确返回准确返回到原来到原来的程序。的程序。5.4.2 中断响应与中断服务程序 1.1.中断请求中断请求 请求中断的请求中断的标志标志是中断请求触发器,即是中断请求触发器,即对每个中断源用一个对每个中断源用

32、一个触发器触发器的状态来表征其的状态来表征其是否需要申请中断。是否需要申请中断。以以外设作为中断源外设作为中断源的情况为例,如图的情况为例,如图5.7所示。所示。图5.7 中断请求电路2.中断响应 CPU响应外设中断请求的条件响应外设中断请求的条件:(1)当前的指令已执行)当前的指令已执行完毕完毕;(2)无无DMA访问请求;访问请求;(3)当前的程序)当前的程序允许允许中断中断(对对8086而言,而言,中断允许标志中断允许标志IF=1)。CPUCPU响应中断的过程响应中断的过程 (1)关中断。)关中断。CPU一响应中断,便自动将一响应中断,便自动将中断关闭中断关闭。(2)保留断点地址。即把当前

33、程序)保留断点地址。即把当前程序(主程序主程序)中,将要执行的中,将要执行的下一条下一条指令的地址送入指令的地址送入堆栈堆栈中中保护起来。保护起来。(3)找到中断服务程序入口地址,转去执)找到中断服务程序入口地址,转去执行行中断服务中断服务程序。程序。3.3.中断服务程序中断服务程序 通常通常中断中断服务程序的服务程序的流程图,流程图,如右图所示。如右图所示。4.4.中断识别与向量中断的概念中断识别与向量中断的概念 当多个中断源当多个中断源共用共用一个中断请求引脚向一个中断请求引脚向CPU申请中断时,申请中断时,CPU响应后,首先要解响应后,首先要解决的是中断源的决的是中断源的识别识别问题,即

34、搞清楚这一问题,即搞清楚这一次是次是哪个哪个中断源在申请中断。中断源在申请中断。常用的方法有软件常用的方法有软件查询中断法查询中断法和和向量中向量中断法。断法。(1 1)软件查询中断法)软件查询中断法 各中断触发器的状态作为中断各中断触发器的状态作为中断标志位标志位可以共用一个可以共用一个输入输入端口进入端口进入CPU中。中。CPU按事先安排的次序按事先安排的次序逐个逐个地地查询查询各中断源,各中断源,若查到某个外设有中断请求,则转去执行该设备的若查到某个外设有中断请求,则转去执行该设备的服务程序,服务程序,否则顺序查询下一个外设的请求状态。否则顺序查询下一个外设的请求状态。CPU查询中断源的

35、先后查询中断源的先后次序次序就确定了中断源优先权就确定了中断源优先权的级别的级别高低高低(先查的级别高)先查的级别高)。.图图5.9 软件查询中断服务程软件查询中断服务程序流程图序流程图(2)向量中断法向量中断法 中断响应的过程实质是中断响应的过程实质是程序切换程序切换的过程,的过程,即即CPU在保存好现有程序的断点地址后,在保存好现有程序的断点地址后,转到某个中断源所对应的转到某个中断源所对应的中断服务程序中断服务程序的的过程。过程。为了避免软件查询中断这一为了避免软件查询中断这一费时费时环节,加环节,加快中断响应速度,提高系统的快中断响应速度,提高系统的实时性实时性,常,常采用采用向量中断

36、向量中断的方法。的方法。向量中断的基本思想是:向量中断的基本思想是:把所有中断源进行把所有中断源进行编号编号或按特征进行或按特征进行分类分类,形成,形成具有具有指向特征指向特征的信息,称为中断向量信息。的信息,称为中断向量信息。预先设置好每个中断源对应的服务程序预先设置好每个中断源对应的服务程序入口地址入口地址。当外设申请中断并得到响应时,当外设申请中断并得到响应时,自动形成自动形成中断向中断向量信息,量信息,由此信息由此信息CPU能能方便方便、快捷快捷地获得对应的中断服地获得对应的中断服务程序的入口地址,务程序的入口地址,从而从而转去执行转去执行该中断服务程序。该中断服务程序。5.4.3 中

37、断优先权中断优先权 判断和确定中断源的中断优先权,可以采判断和确定中断源的中断优先权,可以采用用软件软件和和硬件硬件两种方法。两种方法。一般系统中有多个中断源存在,若有几个中一般系统中有多个中断源存在,若有几个中断源同时提出申请,断源同时提出申请,CPU先响应谁先响应谁?当当CPU正响应某一中断过程中,又有另外的正响应某一中断过程中,又有另外的中断源提出中断源提出新的新的中断请求,中断请求,CPU是否响应是否响应?为此提出了中断优先权的概念。为此提出了中断优先权的概念。优先权管理电路三态缓冲器译码锁存器GINTRD7 D0A15A0RD中 断 源 A中 断 源 B中 断 源 CM/IO软件查询

38、流程图优先权管理电路三态缓冲器译码锁存器GINTRD7 D0A15A0RD中 断 源 A中 断 源 B中 断 源 CIOM在 中 断 服 务 中读 入 请 求 状 态A 申请?B 申请?中断返回为中断源A服务的程序段YC 申请?为中断源B服务的程序段为中断源C服务的程序段YYNNN 采用软件查询方式的特点:采用软件查询方式的特点:询问的次序,即为优先权的次序。询问的次序,即为优先权的次序。硬件简单硬件简单。由查询转至相应的服务程序的时间长,由查询转至相应的服务程序的时间长,尤其在中断源较多的情况。尤其在中断源较多的情况。(1)若若CPU未处理任何中断,则优先权未处理任何中断,则优先权“比较比较

39、失失效效”信号为高,当任一中断源请求中断时,信号为高,当任一中断源请求中断时,通过通过门门2发出发出INTR 信号。信号。128-3优先权编码器优先权寄存器A B比较器A2A1A0B2B1B0比较失效 中断请求0 中断请求1 中断请求2 7D7 D0INTR 编码器和比较器的优先权排队电路编码器和比较器的优先权排队电路(2)若)若CPU 正在进行中断处理,当某一中断正在进行中断处理,当某一中断源请求中断时,源请求中断时,能否能否向向CPU发出发出INTR信信号,号,受比较器的控制受比较器的控制。128-3优先权编码器优先权寄存器A B比较器A2A1A0B2B1B0比较失效 中断请求0 中断请求

40、1 中断请求2 7D7 D0INTR 编码器和比较器的优先权排队电路1128-3优先权编码器优先权寄存器A B比较器A2A1A0B2B1B0比较失效 中断请求0 中断请求1 中断请求2 7D7 D0INTR 编码器和比较器的优先权排队电路思考题:与软件查询方式比较,采用硬件方式有思考题:与软件查询方式比较,采用硬件方式有何特点?何特点?INT n 指令 中断逻辑非屏蔽中断请求中断控制系统(8259A)INT3指令INTO指令单步中断除数为0中断 可屏蔽中断请求NMIINTR硬件中断软件中断 5.5 8086CPU的中断系统的中断系统中断类型:中断类型:8086CPU能能处理处理256种中断,种

41、中断,分为两大类:分为两大类:外部中断外部中断和和内部内部中断中断。其中断分类其中断分类如右图如右图8086的中断分类5.5.1 外部中断外部中断 8086 条外部条外部CPU有两个中断请求输入引脚:有两个中断请求输入引脚:NMI(非屏蔽中断)和(非屏蔽中断)和INTR(可屏蔽中断)(可屏蔽中断)1.可屏蔽中断可屏蔽中断 是用户可以用指令来是用户可以用指令来禁止禁止或或允许允许的中断。的中断。当当CPU收到收到INTR请求信号时:请求信号时:若若IF=1时,则时,则CPU在执行完当前指令后,响应在执行完当前指令后,响应此中断请求;此中断请求;若若IF=0,则禁止,则禁止CPU响应。响应。2.2

42、.非屏蔽中断非屏蔽中断 出现在出现在NMI引脚引脚上的中断请求,上的中断请求,不受不受中断允许标志位中断允许标志位IF的控制,在当前指令执的控制,在当前指令执行完毕后,行完毕后,CPU便会便会响应响应NMI的请求。的请求。在系统设计时,在系统设计时,NMI一般用来通知一般用来通知CPU发生了发生了极为极为严重严重的事件,的事件,如如电源掉电、存储器读电源掉电、存储器读/写错、写错、I/OI/O通道奇通道奇/偶偶校验错校验错等。等。5.5.2 内部中断内部中断8086的内部中断含有以下三种类型:的内部中断含有以下三种类型:1.INT n指令中断指令中断 CPU每执行一条每执行一条INT n指令,

43、将指令,将立即产生立即产生一次一次中断;中断;其中其中n代表中断代表中断类型号类型号,可由用户编程时指定,可由用户编程时指定 n可选的范围为可选的范围为0255号。号。2、除法出错中断除法出错中断 CPU执行执行DIV指令或指令或IDIV指令时,若发现指令时,若发现除除数数为为0或或商商超出了其目的寄存器所能表达的超出了其目的寄存器所能表达的范围范围,则,则立即产生一个类型号为立即产生一个类型号为0的内部中断的内部中断。3、溢出中断溢出中断(INTO)这是一条指令。执行本指令时,若溢出标志这是一条指令。执行本指令时,若溢出标志位位OF=1,则产生一个类型号为,则产生一个类型号为4的溢出中断,否

44、则的溢出中断,否则顺序执行,不进入中断过程。顺序执行,不进入中断过程。4、单步中断单步中断 为方便用户为方便用户调试调试程序所设置的一种中断。程序所设置的一种中断。当单步中断标志位当单步中断标志位TF=1时,时,CPU每执行完一条每执行完一条指令,内部便会指令,内部便会自动自动产生一个类型号为产生一个类型号为1的中断,的中断,由此可实现由此可实现单步单步执行用户程序。执行用户程序。例如:汇编语言的软件调试程序例如:汇编语言的软件调试程序DEBUG中所提中所提供的单步执行命令,就是通过将供的单步执行命令,就是通过将TF置置1实现的。实现的。5、断点中断断点中断 这是一条单字节的这是一条单字节的I

45、NT3指令。指令。中断类型号是中断类型号是3,但,但只占只占一个字节,故可看成是一个字节,故可看成是INT n指令的指令的特例特例(INT n指令要占指令要占2个字节)。个字节)。本指令也是本指令也是8086为方便用户为方便用户调试调试程序而设置的,程序而设置的,只占一个字节的原因就是为了只占一个字节的原因就是为了便于便于调试程序过程中设调试程序过程中设置断点,实现置断点,实现分段分段调试程序。调试程序。5.5.3 中断优先级中断优先级8086的中断优先级的中断优先级由高到低由高到低依次为:依次为:内部中断内部中断(单步中断除外)(单步中断除外)非屏蔽中断非屏蔽中断 可屏蔽中断可屏蔽中断 单步

46、中断单步中断即:优先权即:优先权最低最低的是单步中断,的是单步中断,除此以外的其他内部中断的优先级除此以外的其他内部中断的优先级均高于均高于外部外部中断,且不能被禁止。中断,且不能被禁止。5.5.4 中断向量表中断向量表 8086CPU将将256种类型的中断服务程序的种类型的中断服务程序的入口地址入口地址(称为中断向量)(称为中断向量)依次集中依次集中在一起,组成中断向量表。在一起,组成中断向量表。由于一个完整的逻辑地址占由于一个完整的逻辑地址占4个字节,故能容纳个字节,故能容纳256个个中断服务程序入口地址的中断向量表总长度为中断服务程序入口地址的中断向量表总长度为1024个个字节(字节(1

47、KB)。)。中断向量表位于内存物理地址的前中断向量表位于内存物理地址的前1KB区间,即区间,即00000H003FFH之间,如图之间,如图5.11所示。所示。中断向量表中断向量表 中断向量在表中的位置称为中断中断向量在表中的位置称为中断向量地址向量地址 中断向量地址与中断类型号的关系为:中断向量地址与中断类型号的关系为:中断向量地址(首地址)中断向量地址(首地址)=中断类型号中断类型号*4 由此式可以确定每个中断服务程序入由此式可以确定每个中断服务程序入口地址的存放地址。口地址的存放地址。图图5.12描述了描述了8086 CPU响应中断时,通过响应中断时,通过查中断向量表查中断向量表转入转入中

48、断服务程序的过程。中断服务程序的过程。图图5.12 80865.12 8086转入中断服务程序的过程转入中断服务程序的过程由图由图5.12可知,整个转入过程包括可知,整个转入过程包括4个步骤:个步骤:(1)取中断类型号取中断类型号;(2)计算向量地址计算向量地址:中断类型号中断类型号*4(3)根据向量地址)根据向量地址查中断向量表查中断向量表,取出表中,取出表中存放的偏移地址送入存放的偏移地址送入IP,段地址送入,段地址送入CS中;中;(4)转入到转入到CS:IP所指定的中断服务程序中执所指定的中断服务程序中执行行服务程序服务程序。5.5.5 中断响应流程中断响应流程 8086 CPU响应中断

49、的响应中断的流程流程如图如图5.13所示。所示。由图由图5.13可见整个响应中断过程可分为:可见整个响应中断过程可分为:中断请求信号中断请求信号采样与响应采样与响应、中断中断处理处理、中断中断服务服务、中断中断返回返回 等四个阶段。等四个阶段。.图5.13 8086响应 中断的过程内部中断?NMI?INTR?TF0?执行下条指令完成当前指令 IF1?第一个中断响应周期AD7 AD0 浮空第二个响应周期,取中断类型码AYYYYYNNNNNY1.中断请求信号采样与响应阶段 CPU总是总是在每条指令的在每条指令的最后最后一个机器周期,采样一个机器周期,采样中断请求信号。中断请求信号。8086采用不同

50、的方式,采用不同的方式,获取获取中断类型号:中断类型号:对对INTR,CPU进入进入中断响应周期中断响应周期,并从数,并从数据总线上据总线上输入输入中断类型号。中断类型号。对于对于除法出错、单步、除法出错、单步、NMI、断点、溢出、断点、溢出等等中断,中断,CPU分别自动形成分别自动形成04的中断类型号的中断类型号 对对INT n指令的中断类型号则是指令中的指令的中断类型号则是指令中的 n标志进栈保存TF,将IF、TF清0断点地址进栈查中断向量表,转中断服务程序保护现场中断服务恢复现场开中断,返回A标志寄存器FR入栈入栈;TFTEMP,暂存暂存TF的状态;0IF,禁止禁止可屏蔽中断;0TF,取

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(湖大微机原理及其应用-第5章.ppt)为本站会员(hyngb9260)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|