微机原理中断技术ppt课件

上传人:人*** 文档编号:592879227 上传时间:2024-09-23 格式:PPT 页数:47 大小:129.50KB
返回 下载 相关 举报
微机原理中断技术ppt课件_第1页
第1页 / 共47页
微机原理中断技术ppt课件_第2页
第2页 / 共47页
微机原理中断技术ppt课件_第3页
第3页 / 共47页
微机原理中断技术ppt课件_第4页
第4页 / 共47页
微机原理中断技术ppt课件_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《微机原理中断技术ppt课件》由会员分享,可在线阅读,更多相关《微机原理中断技术ppt课件(47页珍藏版)》请在金锄头文库上搜索。

1、第7章 输入/输出与中断 7.3 中中 断断 技技 术术 7.3.1 中断的根本概念中断的根本概念 1中断的定中断的定义 在在CPU执行行程程序序的的过程程中中,出出现了了某某种种紧急急或或异异常常的的事事件件(中中断断恳求求),CPU需需暂停停正正在在执行行的的程程序序,转去去处置置该事事件件(执行行中中断断效效力力程程序序),并并在在处置置终了了后后前前往往断断点点处继续执行行被被暂停停的的程程序序,这一一过程程称称为中中断断。断断点点处是是指指前前往往主主程程序序时执行行的的第第一一条条指指令令的的地地址址。中中断断过程程如如图7.10所所示示。为实现中中断断功功能能而而设置置的硬件的硬

2、件电路和与之相路和与之相应的的软件,称件,称为中断系中断系统。 第7章 输入/输出与中断 图7.10 中断过程表示图第7章 输入/输出与中断 2中断源中断源 任任何何可可以以引引发中中断断的的事事件件都都称称为中中断断源源,可可分分为硬硬件件中中断断源源和和软件件中中断断源源两两类。硬硬件件中中断断源源主主要要包包括括外外设(如如键盘、打打印印机机等等)、数数据据通通道道(如如磁磁盘机机、磁磁带机机等等)、时钟电路路(如如定定时计数数器器8253)和和缺缺点点源源(如如电源源掉掉电)等等;软件件中中断断源源主主要要包包括括为调试程程序序设置置的的中中断断(如如断断点点、单步步执行行等等)、中中

3、断断指指令令(如如INT 21H等等)以及指令以及指令执行行过程出程出错(如除法运算如除法运算时除数除数为零零)等。等。 第7章 输入/输出与中断 3中断中断处置置过程程 对于于一一个个中中断断源源的的中中断断处置置过程程应包包括括以以下下几几个个步步骤,即即中中断断恳求、中断呼求、中断呼应、维护断点、中断断点、中断处置和中断前往。置和中断前往。 1) 中断中断恳求求 中中断断恳求求是是中中断断源源向向CPU发出出的的恳求求中中断断的的要要求求。软件件中中断断源源是是在在CPU内内部部由由中中断断指指令令或或程程序序出出错直直接接引引发中中断断;而而硬硬件件中中断断源源必必需需经过专门的的电路

4、路将将中中断断恳求求信信号号传送送给CPU,CPU也也有有专门的的引引脚脚接接纳中中断断恳求求信信号号。例例如如,8086/8088 CPU用用INTR引引脚脚(可可屏屏蔽蔽中中断断恳求求)和和NMI引引脚脚(非非屏屏蔽蔽中中断断恳求求)接接纳硬硬件中断件中断恳求信号。普通外求信号。普通外设发出的都是可屏蔽中断出的都是可屏蔽中断恳求。求。 第7章 输入/输出与中断 图7.11 中断恳求与屏蔽接口电路 第7章 输入/输出与中断 当外设预备好一个数据时,便发出选通讯号,该信号一方面把数据存入接口的锁存器中,另一方面使中断恳求触发器置1。此时,假设中断屏蔽触发器Q端的形状为1,那么产生了一个发往CP

5、U的中断恳求信号INT。中断屏蔽触发器的形状决议了系统能否允许该接口发出中断恳求。可见,要想产生一个中断恳求信号,需满足两个条件:一是要由外设将接口中的中断恳求触发器置1,二是要由CPU将接口中的中断屏蔽触发器Q端置1。 第7章 输入/输出与中断 2) 中断呼应 CPU在每条指令执行的最后一个时钟周期检测其中断恳求输入端,判别有无中断恳求,假设CPU接纳到了中断恳求信号,且此时CPU内部的中断允许触发器的形状为1,那么CPU在现行指令执行完后,发出INTA信号呼应中断。从图7.11中可以看到,一旦进入中断处置,立刻去除中断恳求信号。这样可以防止一个中断恳求被CPU多次呼应。 图7.12给出了C

6、PU内部产生中断呼应信号的逻辑电路。对于8086/8088 CPU可以用开中断(STI)或关中断(CLI)指令来改动中断允许触发器(即IF标志位)的形状。 第7章 输入/输出与中断 图7.12 CPU内部设置中断允许触发器 第7章 输入/输出与中断 3) 维护断点 CPU一旦呼应中断,需求对其正在执行程序的断点信息进展维护,以便在中断处置终了后仍能回到该断点处继续执行。对于8086/8088 CPU,维护断点的过程由硬件自动完成,主要任务是关中断、将标志存放器内容入栈保管以及将CS和IP内容入栈保管。 第7章 输入/输出与中断 4) 中断处置 中断处置的过程实践就是CPU执行中断效力程序的过程

7、。用户编写的用于CPU为中断源进展中断处置的程序称为中断效力程序。由于不同中断源在系统中的作用不同,所要完成的功能不同,因此,不同中断源的中断效力程序内容也各不一样。例如,对于图7.11所示的输入设备,其中断效力程序的主要义务是用输入指令(IN)从接口中的数据端口向CPU输入数据。 第7章 输入/输出与中断 另外,主程序中有些存放器的内容在中断前后需坚持一致,不能因中断而发生变化,但在中断效力程序中又用到了这些存放器,为了保证在前往主程序后仍能从断点处继续正确执行,还需求在中断效力程序的开头对这些存放器内容进展维护(即维护现场),在中断效力程序的末尾恢复这些存放器的内容(即恢复现场)。维护现场

8、和恢复现场普通用PUSH和POP指令实现,所以要特别留意存放器内容入栈和出栈的次序。 第7章 输入/输出与中断 5) 中断前往 执行完中断效力程序,前往到原先被中断的程序,此过程称为中断前往。为了能正确前往到原来程序的断点处,在中断效力程序的最后应专门放置一条中断前往指令(如8086/8088的IRET指令)。中断前往指令的作用实践上是恢复断点,也就是维护断点的逆过程。 第7章 输入/输出与中断 7.3.2 中断中断优先先级和中断的嵌套和中断的嵌套 1中断中断优先先级 中中断断恳求求是是随随机机发生生的的,当当系系统具具有有多多个个中中断断源源时,有有时会会同同时出出现多多个个中中断断恳求求,

9、CPU只只能能按按一一定定的的次次序序予予以以呼呼应和和处置置,这个个呼呼应的的次次序序称称为中中断断优先先级。对于于不不同同级别的的中中断断恳求,普通的求,普通的处置原那么是:置原那么是: (1) 不不同同优先先级的的多多个个中中断断源源同同时发出出中中断断恳求求,按按优先先级由高到低依次由高到低依次处置。置。 第7章 输入/输出与中断 (2) 低优先级中断正在处置,出现高优先级恳求,应转去处置高优先级恳求,效力终了后再前往原优先级较低的中断效力程序继续执行。 (3) 高优先级中断正在处置,出现低优先级恳求,可暂不呼应。 (4) 中断处置时,出现同级别恳求,应在当前中断处置终了以后再处置新的

10、恳求。 第7章 输入/输出与中断 2中断优先级确实定 在微机系统中通常用三种方法来确定中断源的优先级别,即软件查询法、硬件排队电路法和公用中断控制芯片法。本节简要引见前两种方法,第三种方法将在本章的最后一节作详细引见。 1) 软件查询法 软件查询法需求简单的硬件电路支持。以8个中断源为例,其硬件电路如图7.13所示,将8个外设的中断恳求组合起来作为一个端口(中断存放器),并将各个外设的中断恳求信号相或,产生一个总的INT信号。 第7章 输入/输出与中断 任一个外设有中断恳求,该电路都可向CPU发中断恳求信号(INT),CPU呼应后进入中断处置程序,在中断处置程序的开场先把中断存放器的内容读入C

11、PU,再对存放器内容进展逐位查询,查到某位形状为1,表示与该位相连的外设有中断恳求,于是转到与其相应的中断效力程序,同时该外设吊销其中断恳求信号。软件查询方式的流程图如图7.14所示。 第7章 输入/输出与中断 图7.13 软件查询法的硬件电路 第7章 输入/输出与中断 图7.14 软件查询方式的流程图 第7章 输入/输出与中断 对于图7.13所示电路,设中断存放器端口号为n,那么软件查询的程序段如下: IN AL,n TEST AL,80H ;1号外设有恳求? JNZ II1;有,转1号中断效力程序 TEST AL,40H ;2号外设有恳求? JNZ II2 ;有,转2号中断效力程序第7章

12、输入/输出与中断 可以看出,采用软件查询方式,各中断源的优先级是由查询顺序决议的,最先查询的设备,其优先级最高,最后查询的设备,其优先级最低。采用软件查询方式的优点是节省硬件。但是,由于CPU每次呼应中断时都要对各中断源进展逐一查询,所以其呼应速度较慢。对于优先级较低的中断源来说,该缺陷更为明显。 第7章 输入/输出与中断 2) 硬件排队电路硬件排队电路 采采用用硬硬件件排排队队电电路路法法,各各个个外外设设的的优优先先级级与与其其接接口口在在排排队队电电路路中中的的位位置置有有关关。常常用用的的硬硬件件优优先先权权排排队队电电路路有有链链式式优优先先权权排排队队电电路路、硬硬件件优优先先级级

13、编编码码加加比比较较器器的的排排队队电电路路等等。图图7.15给给出出了了一个链式优先级排队电路。一个链式优先级排队电路。 第7章 输入/输出与中断 图7.15中,当呼应信号沿链式电路进展传送时,最接近CPU并发出中断恳求的接口将首先拦截住呼应信号,CPU进入相应外设的中断处置程序,在效力完成后,该外设吊销其中断恳求,解除对下一级外设的封锁。例如,当CPU收到中断恳求信号并呼应中断时,假设1号外设有中断恳求(高电平),那么立刻向1号外设接口发出应对信号,同时封锁2号、3号等外设的中断恳求,转去对1号外设效力;假设1号外设没有中断恳求,而2号外设有中断恳求时,呼应信号便传送给2号外设,向2号外设

14、接口发出应对信号,同时封锁3号外设的中断恳求;假设CPU在为2号外设进展中断效力时1号外设发出了中断恳求,CPU会挂起对2号外设的效力转去对1号外设效力,1号外设处置终了后,再继续为2号外设效力。 第7章 输入/输出与中断 图7.15 链式中断优先级电路 第7章 输入/输出与中断 上述两种方法虽然可以处理中断优先级控制问题,但实现起来在硬件和软件上都要做大量的任务,非常费事。目前,最方便的方法就是利用厂家提供的可编程中断控制器,这样的器件在各种微机中得到普遍运用。本章后面将引见广泛运用于80x86微机系统中的公用可编程中断控制芯片8259A。 第7章 输入/输出与中断 3中断嵌套 CPU在执行

15、低级别中断效力程序时,又收到较高级别的中断恳求,CPU暂停执行低级别中断效力程序,转去处置这个高级别的中断,处置完后再前往低级别中断效力程序,这个过程称为中断嵌套,如图7.16所示。 图7.16 中断嵌套表示图 第7章 输入/输出与中断 普通CPU呼应中断恳求后,在进入中断效力程序前,硬件会自动实现关中断,这样,CPU在执行中断效力程序时将不能再呼应其他中断恳求。为了实现中断嵌套,应在低级别中断效力程序的开场处加一条开中断指令STI。可以实现中断嵌套的中断系统,其软、硬件设计都非常复杂,假设采用了可编程中断控制器,就会方便很多。 第7章 输入/输出与中断 7.4 8086/8088中断系统中断

16、系统 7.4.1 8086/8088的中断源的中断源类型型 8086/8088 CPU可可以以处置置256种种不不同同类型型的的中中断断,每每一一种种中中断断都都给定定一一个个编号号(0 255),称称为中中断断类型型号号,CPU根根据据中中断断类型型号号来来识别不不同同的的中中断断源源。8086/8088的的中中断断源源如如图7.17所所示示。从从图中中可可以以看看出出8086/8088的的中中断断源源可可分分为两两大大类:一一类来来自自CPU的的外外部部,由由外外设的的恳求求引引起起,称称为硬硬件件中中断断(又又称称外外部部中中断断);另另一一类来来自自CPU的的内内部部,由由执行行指指令

17、令时引引起起,称称为软件件中中断断(又称内部中断又称内部中断)。 第7章 输入/输出与中断 图7.17 8086/8088中断源 第7章 输入/输出与中断 1软件中断(内部中断) 8086/8088的软件中断主要有五种,分为三类。 1) 处置运算过程中某些错误的中断 执行程序时,为及时处置运算中的某些错误,CPU以中断方式中止正在运转的程序,提示程序员改错。 (1) 除法错中断(中断类型号为0)。在8086/8088 CPU执行除法指令(DIV/IDIV)时,假设发现除数为0,或所得的商超越了CPU中有关存放器所能表示的最大值,那么立刻产生一个类型号为0的内部中断,CPU转去执行除法错中断处置

18、程序。 第7章 输入/输出与中断 (2) 溢出中断INTO(中断类型号为4)。CPU进展带符号数的算术运算时,假设发生了溢出,那么标志位OF=1,假设此时执行INTO指令,会产生溢出中断,打印出一个错误信息,终了时不前往,而把控制权交给操作系统。假设OF=0,那么INTO不产生中断,CPU继续执行下一条指令。INTO指令通常安排在算术指令之后,以便在溢出时能及时处置。例如: ADD AX,BXINTO;测试加法的溢出 第7章 输入/输出与中断 2) 为调试程序设置的中断 (1) 单步中断(中断类型号为1)。当TF=1时,每执行一条指令,CPU会自动产生一个单步中断。单步中断可一条一条指令地跟踪

19、程序流程,察看各个存放器及存储单元内容的变化,协助分析错误缘由。单步中断又称为圈套中断,主要用于程序调试。 (2) 断点中断(中断类型号为3)。调试程序时可以在一些关键性的地方设置断点,它相当于把一条INT 3 指令插入到程序中,CPU每执行到断点处,INT 3 指令便产生一个中断,使CPU转向相应的中断效力程序。 第7章 输入/输出与中断 3) 中断指令INT n引起的中断(中断类型号为n) 程序设计时,可以用INT n指令来产生软件中断,中断指令的操作数n给出了中断类型号,CPU执行INT n指令后,会立刻产生一个类型号为n的中断,转入相应的中断处置程序来完成中断功能。 第7章 输入/输出

20、与中断 2硬件中断(外部中断) 8086/8088 CPU有两条外部中断恳求线NMI(非屏蔽中断)和INTR(可屏蔽中断)。 1) 非屏蔽中断NMI(中断类型号为2) 整个系统只需一个非屏蔽中断,它不受IF标志位的屏蔽。出如今NMI上的恳求信号是上升沿触发的,一旦出现,CPU将予以呼应。非屏蔽中断普通用于紧急缺点处置。 第7章 输入/输出与中断 2) 可屏蔽中断INTR 可屏蔽中断恳求信号从INTR引脚送往CPU,高电平有效,受IF标志位屏蔽,IF0时,对于一切从INTR引脚进入的中断恳求,CPU均不予呼应;另外,也可以在CPU外部的中断控制器(8259A)中以及各个I/O接口电路中对某一级中

21、断或某个中断源单独进展屏蔽。 第7章 输入/输出与中断 当外设的中断恳求未被屏蔽,且IF=1,那么CPU在当前指令周期的最后一个T形状去采样INTR引脚,假设有效,CPU予以呼应。CPU将执行两个延续的中断呼应周期,送出两个中断呼应信号 INTA。第一个呼应周期,CPU将地址及数据总线置高阻;在第二个呼应周期,外设向数据总线保送一个字节的中断类型号,CPU读入后,就可在中断向量表中找到该类型号的中断效力程序的入口地址,转入中断处置。 值得留意的是,对于非屏蔽中断和软件中断,其中断类型号由CPU内部自动提供,不需去执行中断呼应周期读取中断类型号。 第7章 输入/输出与中断 38086/8088中

22、断源的优先级 8086/8088中断源的优先级顺序由高到低依次为:软件中断(除单步中断外)、非屏蔽中断、可屏蔽中断、单步中断。 在PC机系统中,外设的中断恳求经过中断控制器8259A衔接到CPU的INTR引脚,外设中断源的优先级别由8259A进展管理。 第7章 输入/输出与中断 7.4.2 中断向量表中断向量表 中中断断向向量量表表是是存存放放中中断断向向量量的的一一个个特特定定的的内内存存区区域域。所所谓中中断断向向量量,就就是是中中断断效效力力程程序序的的入入口口地地址址。对于于8086/8088系系统,一一切中断效力程序的入口地址都存放在中断向量表中。切中断效力程序的入口地址都存放在中断

23、向量表中。 8086/8088可可以以处置置256种种中中断断,每每种种中中断断对应一一个个中中断断类型型号号,每每个个中中断断类型型号号与与一一个个中中断断效效力力程程序序的的入入口口地地址址相相对应。每每个个中中断断效效力力程程序序的的入入口口地地址址占占4个个存存储单元元,其其中中低低地地址址的的两两个个单元元存存放放中中断断效效力力程程序序入入口口地地址址的的偏偏移移量量(IP);高高地地址址的的两两个个单元元存存放放中中断断效效力力程程序序入入口口地地址址的的段段地地址址(CS)。256个个中中断断向向量量要要占占25641024个个单元元,即即中中断断向向量量表表长度度为1K个个单

24、元元。8086/8088系系统的的中中断断向向量量表表位位于于内内存存的的前前1K字字节,地地址址范范围为00000H003FFH。8086/8088的中断向量表如的中断向量表如图7.18所示。所示。 第7章 输入/输出与中断 图7.18 8086/8088的中断向量表 第7章 输入/输出与中断 图7.18所示的中断向量表中有5个公用中断(类型0类型4),它们曾经有固定用途;27个系统保管的中断(类型5类型31)供系统运用,不允许用户自行定义;224个用户自定义中断(类型32类型255),这些中断类型号可供软中断INT n或可屏蔽中断INTR运用,运用时,要由用户自行填入相应的中断效力程序入口

25、地址。(其中有些中断类型曾经有了固定用途,例如,类型21H的中断已用做DOS的系统功能调用)。 第7章 输入/输出与中断 由于中断效力程序入口地址在中断向量表中是按中断类型号顺序存放的,因此每个中断效力程序入口地址在中断向量表中的位置可由“中断类型号4计算出来。CPU呼应中断时,把中断类型号N乘以4,得到对应地址4N(该中断效力程序入口地址所占4个单元的第一个单元的地址),然后把由此地址开场的两个低字节单元(4N,4N+1)的内容装入IP存放器,再把两个高字节单元(4N+2,4N+3)的内容装入CS存放器,于是CPU转入中断类型号为N的中断效力程序。 这种采用向量中断的方法,CPU可直接经过向

26、量表转向相应的处置程序,而不需求去逐个检测和确定中断源,因此可以大大加快中断呼应的速度。 第7章 输入/输出与中断 7.4.3 8086/8088的中断处置过程的中断处置过程 图7.19 8086/8088 CPU中断处置的根本过程 第7章 输入/输出与中断 在图示流程中,(1)(5)是CPU的内部处置,由硬件自动完成。 一切内部中断(除法错、INT n、INTO、单步和断点中断)以及NMI中断不需求从数据总线上读取中断类型码,而INTR中断需由CPU读取中断类型码,其中断类型码由发出INTR信号的接口电路提供。 该流程图还反映出了8086/8088系统中各中断源优先级的高低。 第7章 输入/

27、输出与中断 7.4.4 中断效力程序的中断效力程序的设计 中中断断效效力力程程序序的的普普通通构构造造如如图7.20所所示示。如如前前所所述述,假假设该中中断断处置置能能被被更更高高级别的的中中断断源源中中断断,那那么么需需参参与与开开中中断断指指令令。在在中中断断效效力力程程序序的的最最后后,一一定定要要有有中中断断前前往往指指令令,以以保保证断断点点的恢复。的恢复。 用用户在在设计中中断断效效力力程程序序时要要预先先确确定定一一个个中中断断类型型号号,不不论是是采采用用软件件中中断断还是是硬硬件件中中断断,都都只只能能在在系系统预留留给用用户的的类型号中型号中选择。 第7章 输入/输出与中

28、断 图7.20 中断效力程序的普通构造 第7章 输入/输出与中断 1DOS系统功能调用法 功能号:(AH)=25H。 入口参数:(AL)=中断类型号 (DS)=中断效力程序入口地址的段地址 (DX)=中断效力程序入口地址的偏移地址 第7章 输入/输出与中断 下面程序段完成中断类型号为60H的入口地址置入。PUSH DS;维护DSMOV DX,OFFSET INT60;取效力程序偏移地址MOV AX,SEG INT60;取效力程序段地址MOV DS,AXMOV AH,25H;送功能号MOV AL,60H;送中断类型号INT 21H;DOS功能调用POPDS;恢复DS 第7章 输入/输出与中断 2直接装入法 用传送指令直接将中断效力程序首地址置入矢量表中。设中断类型号为60H(此类型号对应的矢量表地址为从00180H开场的四个延续存储单元)。程序段如下:XOR AX,AXMOV DS,AXMOV AX,OFFSET INT60MOV DS:0180H,AX;置效力程序偏移地址MOV AX,SEG INT60MOV DS:0180H+2,AX;置效力程序所在代码段的段地址

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号