微型计算机原理及应用第7章-中断系统和中断控制器8259A课件.ppt

上传人(卖家):三亚风情 文档编号:3167697 上传时间:2022-07-27 格式:PPT 页数:124 大小:2.17MB
下载 相关 举报
微型计算机原理及应用第7章-中断系统和中断控制器8259A课件.ppt_第1页
第1页 / 共124页
微型计算机原理及应用第7章-中断系统和中断控制器8259A课件.ppt_第2页
第2页 / 共124页
微型计算机原理及应用第7章-中断系统和中断控制器8259A课件.ppt_第3页
第3页 / 共124页
微型计算机原理及应用第7章-中断系统和中断控制器8259A课件.ppt_第4页
第4页 / 共124页
微型计算机原理及应用第7章-中断系统和中断控制器8259A课件.ppt_第5页
第5页 / 共124页
点击查看更多>>
资源描述

1、第第7章章 中断系统和中断控制器中断系统和中断控制器8259A一、一、中断的基本概念中断的基本概念二、二、8086/8088的中断系统的中断系统三、三、中断控制器中断控制器8259A7/27/2022微机原理及应用微机原理及应用1一、中断的基本概念一、中断的基本概念1、中断及中断源中断及中断源2、中断处理过程中断处理过程3、中断优先权管理中断优先权管理7/27/2022微机原理及应用微机原理及应用21、中断及中断源、中断及中断源 中断中断是一种让是一种让CPU挂起正在执行的程序而转去挂起正在执行的程序而转去处理特殊事件的操作。处理特殊事件的操作。CPU暂时停止执行原来的程序而转去中断处理,暂时

2、停止执行原来的程序而转去中断处理,处理好中断服务后再返回继续执行原来的程序,这处理好中断服务后再返回继续执行原来的程序,这样一个过程就是一个样一个过程就是一个中断过程中断过程。能够引起能够引起CPU中断的事件称为中断的事件称为中断源中断源 。CPU中断系统的基本功能中断系统的基本功能 。7/27/2022微机原理及应用微机原理及应用3中断源中断源(1)一般的输入输出设备。如键盘,打印机等;)一般的输入输出设备。如键盘,打印机等;(2)数据通道中断源。如磁盘,磁带机等直接与存)数据通道中断源。如磁盘,磁带机等直接与存储器交换数据所要求的中断;储器交换数据所要求的中断;(3)实时时钟。在控制系统中

3、使用外部硬件电路实)实时时钟。在控制系统中使用外部硬件电路实现时间控制,当定时时间到时向现时间控制,当定时时间到时向CPU发出中断申请;发出中断申请;(4)故障引起的中断。如电源掉电等;)故障引起的中断。如电源掉电等;(5)由中断指令或软件故障引起的中断。如系统功)由中断指令或软件故障引起的中断。如系统功能调用,除数为能调用,除数为0,或者在程序调试时设置断点等引,或者在程序调试时设置断点等引起的中断。起的中断。7/27/2022微机原理及应用微机原理及应用4中断分类中断分类 根据中断与根据中断与CPU的相对关系,中断分为内部中的相对关系,中断分为内部中断和外部中断。断和外部中断。内部中断内部

4、中断可以是中断指令设置的中断,调试程可以是中断指令设置的中断,调试程序时设置的中断,或是程序运行过程中发生的非预序时设置的中断,或是程序运行过程中发生的非预期情况而产生的中断;期情况而产生的中断;外部中断外部中断则是由直接连到则是由直接连到CPU引脚上的信号引引脚上的信号引起的中断,如外部设备请求服务中断,实时时钟定起的中断,如外部设备请求服务中断,实时时钟定时到中断,电源掉电等等。时到中断,电源掉电等等。7/27/2022微机原理及应用微机原理及应用5CPU中断系统的功能中断系统的功能(1)实现中断及返回)实现中断及返回(2)实现优先权排队,以确定优先处理的中断源。)实现优先权排队,以确定优

5、先处理的中断源。(3)优先权高的中断源能中断优先权低的中断处理)优先权高的中断源能中断优先权低的中断处理7/27/2022微机原理及应用微机原理及应用6(1)实现中断及返回)实现中断及返回 当有一中断源提出中断请求时,当有一中断源提出中断请求时,CPU首先判断首先判断是否响应该中断是否响应该中断?*如果如果CPU正在执行的是重要的程序,可以暂不正在执行的是重要的程序,可以暂不响应,即关中断;响应,即关中断;*当当CPU完成了当前的重要程序后,开中断予以完成了当前的重要程序后,开中断予以响应,同时,保存断点,转入中断处理;响应,同时,保存断点,转入中断处理;*当中断处理完后,恢复断点从而回到被中

6、断运当中断处理完后,恢复断点从而回到被中断运行的原程序继续执行;行的原程序继续执行;7/27/2022微机原理及应用微机原理及应用7(1)实现中断及返回)实现中断及返回 *通过设置通过设置CPU内部的中断允许触发器内部的中断允许触发器(IFF),开开关中断关中断。当当IFF1,使中断允许(开中断);使中断允许(开中断);当当IFF0,使中断不允许(关中断)。使中断不允许(关中断)。注意:注意:不可屏蔽中断不可屏蔽中断,要求,要求CPU立即处理。不受中断允立即处理。不受中断允许触发器(许触发器(IFF)的控制。的控制。可屏蔽中断可屏蔽中断,受中断允许触发器(,受中断允许触发器(IFF)的控制。的

7、控制。7/27/2022微机原理及应用微机原理及应用8(2)实现优先权排队,以确定优先处理的中)实现优先权排队,以确定优先处理的中断源断源 一个系统中有多个中断源,存在着几个中断源一个系统中有多个中断源,存在着几个中断源同时请求的可能;同时请求的可能;因此,必须事先根据中断源的重要性,给每个因此,必须事先根据中断源的重要性,给每个中断源确定一个中断优先级别中断源确定一个中断优先级别优先权。优先权。中断响应时,中断响应时,CPU应能首先响应优先权级别高应能首先响应优先权级别高的中断源。的中断源。7/27/2022微机原理及应用微机原理及应用9在中断服务处理过程中:在中断服务处理过程中:若新的中断

8、申请其优先级别更高,则若新的中断申请其优先级别更高,则CPU应再应再一次中断,转去优先权更高的中断源服务。处理完一次中断,转去优先权更高的中断源服务。处理完后,再回到原来的中断服务中,这也称为后,再回到原来的中断服务中,这也称为中断嵌套中断嵌套。若新的中断源优先权级别为同级或低级,则若新的中断源优先权级别为同级或低级,则CPU暂不理会,继续正在处理的中断服务,直到当暂不理会,继续正在处理的中断服务,直到当前中断处理结束后再去处理新的中断申请。前中断处理结束后再去处理新的中断申请。(3)优先权高的中断源能中断优先权低的)优先权高的中断源能中断优先权低的中断处理中断处理7/27/2022微机原理及

9、应用微机原理及应用102、中断处理过程、中断处理过程 一个中断过程应该包含以下五个过程一个中断过程应该包含以下五个过程:(1)中断请求中断请求(2)中断排队中断排队(3)中断响应中断响应(4)中断服务中断服务(5)中断返回中断返回7/27/2022微机原理及应用微机原理及应用11(1)中断请求)中断请求 当中断源需要当中断源需要CPU为其服务时,首先送出中断为其服务时,首先送出中断请求信号。请求信号。中断信号可以由中断指令或是某些特定条件产中断信号可以由中断指令或是某些特定条件产生,也可以是通过生,也可以是通过CPU引脚(引脚(INTR)向向CPU发出中发出中断请求信号而产生。断请求信号而产生

10、。实际系统中一般都有多个中断源,实际系统中一般都有多个中断源,为了增加控为了增加控制的灵活性,每个中断源接口电路中,设置一个制的灵活性,每个中断源接口电路中,设置一个中中断请求触发器断请求触发器和一个和一个中断屏蔽触发器中断屏蔽触发器。7/27/2022微机原理及应用微机原理及应用12(1)中断请求)中断请求当中断源有请求时,将当中断源有请求时,将中断请求触发器中断请求触发器置置1:*若若中断屏蔽触发器中断屏蔽触发器为为“0”状态,表示允许该状态,表示允许该中断源向中断源向CPU发出中断请求发出中断请求“信号信号”;*若若中断屏蔽触发器中断屏蔽触发器为为“1”状态,表示禁止该状态,表示禁止该中

11、断源向中断源向CPU发出中断请求发出中断请求“信号信号”。尽管该中断源有中断请求,也不能被送出,称该尽管该中断源有中断请求,也不能被送出,称该中断请求被屏蔽了。中断请求被屏蔽了。7/27/2022微机原理及应用微机原理及应用13(2)中断排队和()中断排队和(3)中断响应)中断响应 中断排队中断排队是确定当前所有中断请求中优先级最是确定当前所有中断请求中优先级最高的那个中断源。高的那个中断源。因为因为CPU一次只能响应一个中断,所以必须首一次只能响应一个中断,所以必须首先处理最紧急最重要的中断。先处理最紧急最重要的中断。根据中断源的轻重缓急给予一个中断优先权级别,根据中断源的轻重缓急给予一个中

12、断优先权级别,优先权级别最高的中断源将首先得到响应。优先权级别最高的中断源将首先得到响应。7/27/2022微机原理及应用微机原理及应用14(2)中断排队和()中断排队和(3)中断响应)中断响应 CPU通过通过中断排队中断排队确定了要响应的中断源后,确定了要响应的中断源后,进入进入中断响应中断响应,自动完成以下步骤:,自动完成以下步骤:关中断;关中断;保护断点,将正在执行的程序地址(断点)入栈;保护断点,将正在执行的程序地址(断点)入栈;保护现场,标志寄存器保护现场,标志寄存器FR自动入栈;自动入栈;形成中断服务程序入口地址。形成中断服务程序入口地址。7/27/2022微机原理及应用微机原理及

13、应用15(4)中断服务和()中断服务和(5)中断返回)中断返回 中断服务中断服务是指是指CPU执行中断服务程序。执行中断服务程序。中断服务程序应包括中断服务程序应包括:保护现场保护现场,CPU响应中断时自动保护断点,响应中断时自动保护断点,寄存器则由程序员决定是否要入栈;寄存器则由程序员决定是否要入栈;开中断开中断,CPU响应中断时,自动执行关中断响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开操作。要实现中断嵌套,必须在中断服务程序中开中断;中断;7/27/2022微机原理及应用微机原理及应用16(4)中断服务和()中断服务和(5)中断返回)中断返回 中断处理中断处理,

14、对中断源作相应的处理,是中断,对中断源作相应的处理,是中断服务程序的核心;服务程序的核心;关中断关中断,若中断服务程序设置了开中断,则,若中断服务程序设置了开中断,则此时应该关中断,以保证恢复现场的操作不被打断;此时应该关中断,以保证恢复现场的操作不被打断;恢复现场恢复现场,按后进先出的原则,按后进先出的原则,PUSH和和POP应配对使用;应配对使用;中断返回中断返回,从堆栈中弹出断点,返回主程序。,从堆栈中弹出断点,返回主程序。7/27/2022微机原理及应用微机原理及应用173、中断优先权管理、中断优先权管理 中断优先权中断优先权是事先根据中断源的重要性给每个是事先根据中断源的重要性给每个

15、中断源确定一个中断优先级别中断源确定一个中断优先级别优先权。优先权。中断优先权管理就是判别和确定各个中断源的中断优先权管理就是判别和确定各个中断源的中断优先权。中断优先权。中断优先权判别方法有软件和硬件两种方法。中断优先权判别方法有软件和硬件两种方法。7/27/2022微机原理及应用微机原理及应用183、中断优先权管理、中断优先权管理(1)软件确定中断优先权)软件确定中断优先权 软件法软件法是在是在CPU响应中断后,用软件查询确定响应中断后,用软件查询确定哪个中断源申请中断,先被查询的先响应。哪个中断源申请中断,先被查询的先响应。查询次序决定了中断优先权次序,最先被查询查询次序决定了中断优先权

16、次序,最先被查询的中断源具有最高的优先权。的中断源具有最高的优先权。7/27/2022微机原理及应用微机原理及应用193、中断优先权管理、中断优先权管理 如图,如图,8个外设只个外设只要有中断请求,要有中断请求,CPU检检测到中断请求信号,响测到中断请求信号,响应中断;应中断;D7D0 CPU INTRI/O 端口端口地址 80H1外设A B C D E F G H 中断请求 读入端口读入端口80H的内容,逐位判别确定当前申请中的内容,逐位判别确定当前申请中断的优先权最高的中断源,从而进入相应的中断服断的优先权最高的中断源,从而进入相应的中断服务程序。务程序。7/27/2022微机原理及应用微

17、机原理及应用203、中断优先权管理、中断优先权管理(1)软件确定中断优先权)软件确定中断优先权保护现场外设A中断服务程序外设B中断服务程序外设C中断服务程序A申请服务?B申请服务?C申请服务?恢复现场YYYNNN软件查询流程图软件查询流程图软件查询程序:软件查询程序:IN AL,80H;端口读入状态端口读入状态TEST AL,80H;JNZ SERVE_ATEST AL,40HJNZ SERVE_B TEST AL,01HJNZ SERVE_HHLT*软件查询次序就是优先权高低的次序;软件查询次序就是优先权高低的次序;*软件确定中断优先权不需复杂的硬件电路,简单易实现软件确定中断优先权不需复杂

18、的硬件电路,简单易实现;*中断源较多时,查询时间较长,中断响应较慢。中断源较多时,查询时间较长,中断响应较慢。7/27/2022微机原理及应用微机原理及应用213、中断优先权管理、中断优先权管理(2)硬件确定中断优先权)硬件确定中断优先权 由由硬件硬件实现中断优先权的判别。实现中断优先权的判别。*常用的硬件电路有:中断优先权编码电路,链常用的硬件电路有:中断优先权编码电路,链式优先权排队电路及专用硬件电路等。式优先权排队电路及专用硬件电路等。*利用利用中断控制器中断控制器8259A,它具有它具有8个优先权控个优先权控制,可以通过级联,扩展至制,可以通过级联,扩展至64级优先权控制,且每级优先权

19、控制,且每级中断都可设置为允许或屏蔽级中断都可设置为允许或屏蔽。7/27/2022微机原理及应用微机原理及应用22二、二、8086/8088的中断系统的中断系统 8086/8088CPU具有一个功能很强、管理高效且具有一个功能很强、管理高效且简便灵活的中断系统,可以处理多达简便灵活的中断系统,可以处理多达256种中断源。种中断源。采用采用向量中断方法向量中断方法,对,对256种中断只需一次间接种中断只需一次间接访问就可获得任一中断源的中断服务程序的入口地访问就可获得任一中断源的中断服务程序的入口地址,中断响应快速。址,中断响应快速。8086/8088CPU有两类中断:有两类中断:*内部中断内部

20、中断 由执行中断指令或特殊事件引起;由执行中断指令或特殊事件引起;*外部中断外部中断 由外围设备接口向由外围设备接口向CPU的中断请求的中断请求引脚引脚INTR和和NMI发出中断请求信号而引起的。发出中断请求信号而引起的。7/27/2022微机原理及应用微机原理及应用23二、二、8086/8088的中断系统的中断系统1、8086/8088的中断指令的中断指令2、8086/8088的中断分类的中断分类3、中断向量表中断向量表4、8086/8088中断处理过程中断处理过程7/27/2022微机原理及应用微机原理及应用241、8086/8088的中断指令的中断指令(1)中断指令)中断指令指令格式指令

21、格式:INT n ;n=0255,中断类型码中断类型码指令操作指令操作:SP2 SP(修改堆栈指针修改堆栈指针),FR入栈,入栈,IF=0(中断标志置中断标志置0,关中断,关中断,CPU不响应可屏蔽中不响应可屏蔽中断)断),TF=0(陷阱标志,陷阱标志,TF0,CPU正常执行程序)正常执行程序),SP2 SP(修改堆栈指针修改堆栈指针),CS入栈入栈SP2 SP(修改堆栈指针修改堆栈指针),IP入栈入栈 n4 IP n4+2 CS7/27/2022微机原理及应用微机原理及应用251、8086/8088的中断指令的中断指令中断向量中断向量就是中断服务程序的入口地址;就是中断服务程序的入口地址;中

22、断类型中断类型码码 n n4 4 即为该中断向量的存放地址即为该中断向量的存放地址;低字是低字是IP,高字是高字是CS,CPU取出取出CS和和IP,转转去执行中断服务程序。去执行中断服务程序。INT n 指令除了使指令除了使IF0和和TF0,对其他标志对其他标志位没有影响;位没有影响;INT指令(即指令(即n=3),称为称为断点中断指令断点中断指令,用于,用于软件调试。软件调试。7/27/2022微机原理及应用微机原理及应用261、8086/8088的中断指令的中断指令(2)溢出中断指令)溢出中断指令指令格式:指令格式:INTO;与与INT 4等价等价指令操作指令操作:溢出中断指令用于带符号数

23、加减法运算后,溢出中断指令用于带符号数加减法运算后,由于运算溢出而产生中断。由于运算溢出而产生中断。通常,写在一条算术运算指令后:通常,写在一条算术运算指令后:若运算结果使若运算结果使OF=1,进入中断类型码为,进入中断类型码为4的中断;的中断;否则,按顺序执行下一条指令。否则,按顺序执行下一条指令。n4 0010H中断向量存放地址为:中断向量存放地址为:7/27/2022微机原理及应用微机原理及应用271、8086/8088的中断指令的中断指令(3)中断返回指令)中断返回指令指令格式:指令格式:IRET指令操作:指令操作:IP,CS,FR依此出栈,依此出栈,SP+6SP 所有中断服务程序,无

24、论是软件中断,还是硬件所有中断服务程序,无论是软件中断,还是硬件中断,最后执行的指令一定是中断,最后执行的指令一定是IRET,用以退出中断,用以退出中断,返回断点。返回断点。7/27/2022微机原理及应用微机原理及应用282、8086/8088的中断分类的中断分类8086/8088的中断系统可以处理的中断系统可以处理256种不同的中断。种不同的中断。所有可能产生的中断源有:可屏蔽中断所有可能产生的中断源有:可屏蔽中断INTR、非屏蔽中断非屏蔽中断NMI、指令中断指令中断INT n和特定条件下的中和特定条件下的中断,分为两类:断,分为两类:内部中断内部中断外部中断外部中断可屏蔽中断请求非屏蔽中

25、断请求中断控制系统(8259A)中 断 逻 辑.NMIINTR除法错误中断单步中断断点中断INT溢出中断INTO指令中断INT7/27/2022微机原理及应用微机原理及应用292、8086/8088的中断分类的中断分类 内部中断内部中断 CPU不是通过外部中断请求而是通过内部逻辑不是通过外部中断请求而是通过内部逻辑进入中断,调用相应的中断服务程序,是进入中断,调用相应的中断服务程序,是CPU自启动的中断。自启动的中断。除单步中断外,所有内部中断为非屏蔽型的。除单步中断外,所有内部中断为非屏蔽型的。内部中断内部中断主要用于解决程序运行中发生的一些意外情况、主要用于解决程序运行中发生的一些意外情况

26、、程序调试、用户定义的中断或者调用系统提供的一些标准中程序调试、用户定义的中断或者调用系统提供的一些标准中断服务程序。断服务程序。(1)除法出错中断)除法出错中断(类型类型0);(2)单步中断)单步中断(类型类型1);(3)断点中断)断点中断(类型类型3);(4)溢出中断)溢出中断(类型类型4);(5)软件中断)软件中断返回7/27/2022微机原理及应用微机原理及应用302、8086/8088的中断分类的中断分类内部中断内部中断(1)除法出错中断)除法出错中断(类型类型0)CPU在执行触发指令在执行触发指令DIV和和IDIV时,若发现时,若发现除数除数为为0,或商超过了寄存器所能表达的范围,

27、就立即产,或商超过了寄存器所能表达的范围,就立即产生一个类型为生一个类型为0的内部中断,的内部中断,CPU转入除法错误中断转入除法错误中断处理程序。处理程序。注意注意:此中断是由此中断是由CPU自身产生,并没有对应自身产生,并没有对应的中断指令。的中断指令。7/27/2022微机原理及应用微机原理及应用312、8086/8088的中断分类的中断分类内部中断内部中断(2)单步中断单步中断(类型类型1)此中断也是由此中断也是由CPU自身产生,没有对应的中断自身产生,没有对应的中断指令,它是由指令,它是由CPU对状态标志寄存器中的陷阱标志对状态标志寄存器中的陷阱标志TF的测试而引起的。的测试而引起的

28、。TF1,自动单步中断,用于程序调试。自动单步中断,用于程序调试。7/27/2022微机原理及应用微机原理及应用322、8086/8088的中断分类的中断分类内部中断内部中断(3)断点中断断点中断(类型类型3)执行执行INT指令就产生一个类型为指令就产生一个类型为3的内部中断,的内部中断,称为断点中断称为断点中断。和单步中断类似,用于程序调试。和单步中断类似,用于程序调试。7/27/2022微机原理及应用微机原理及应用332、8086/8088的中断分类的中断分类内部中断内部中断(4)溢出中断溢出中断(类型类型4)溢出中断是由溢出中断是由CPU执行一条执行一条INTO指令实现的:指令实现的:当

29、当OF1时,执行时,执行INTO就会进入类型码为就会进入类型码为4的内部中的内部中断;断;否则,按顺序执行。否则,按顺序执行。7/27/2022微机原理及应用微机原理及应用342、8086/8088的中断分类的中断分类内部中断内部中断(5)软件中断软件中断 当执行当执行INT n指令时,形成中断,类型码由指令指令时,形成中断,类型码由指令提供。提供。从功能上来说,类似于调用子程序,但入口地址从功能上来说,类似于调用子程序,但入口地址在中断向量表里。在中断向量表里。7/27/2022微机原理及应用微机原理及应用352、8086/8088的中断分类的中断分类外部中断外部中断 通过外部的硬件产生,由

30、送至通过外部的硬件产生,由送至CPU引脚引脚NMI和和INTR上的信号引起中断。上的信号引起中断。分为两类:分为两类:(1)非屏蔽中断)非屏蔽中断(n=2)一旦在一旦在NMI引脚有中断请求,引脚有中断请求,CPU立即响应。立即响应。返回7/27/2022微机原理及应用微机原理及应用362、8086/8088的中断分类的中断分类(2)可屏蔽中断,可屏蔽中断,从从INTR脚引入,必须满足脚引入,必须满足IF=1,且没有非屏蔽且没有非屏蔽中断,中断,CPU可以响应中断。可以响应中断。中断请求信号是由电平触发,必须保存到中断请求信号是由电平触发,必须保存到CPU响响应中断请求后才能撤除。应中断请求后才

31、能撤除。中断允许标志中断允许标志IF的标志,可由指令设置:的标志,可由指令设置:STI 开中断,将开中断,将IF置置1;CLI 关中断,将关中断,将IF置置0 。当系统复位,或当系统复位,或CPU响应中断后,都使响应中断后,都使IF置置0。7/27/2022微机原理及应用微机原理及应用373、中断向量表、中断向量表 中断向量即中断服务程序的入口地址,用两个中断向量即中断服务程序的入口地址,用两个字表示,低字是字表示,低字是IP,高字是高字是CS。将所有中断源的中断向量集中存储在内存的指定将所有中断源的中断向量集中存储在内存的指定空间内,这样一个指定的存储区称为空间内,这样一个指定的存储区称为中

32、断向量表中断向量表;8086/8088的中断类型码用的中断类型码用8位二进制表示,共有位二进制表示,共有从从n=0FFh,256个中断向量;个中断向量;中断向量表中断向量表建立在内存空间最低建立在内存空间最低1K地址;地址;地址范围:地址范围:00000H 003FFH(即即CS=0000H)。注意:注意:中断类型码只能决定存放中断向量的地址,并中断类型码只能决定存放中断向量的地址,并不能决定中断向量本身和中断服务程序的功能。不能决定中断向量本身和中断服务程序的功能。7/27/2022微机原理及应用微机原理及应用383、中断向量表、中断向量表 在在IBMPC/XT机中,机中,n=40H0FFH

33、,可以供用可以供用户设置中断向量。户设置中断向量。向向中断向量表中断向量表中写入中断向量,就是中断向量表中写入中断向量,就是中断向量表的设置。的设置。(1)使用使用INT 21H(2)用传送指令用传送指令7/27/2022微机原理及应用微机原理及应用39(1)使用)使用INT 21H,设置中断向量设置中断向量操作步骤操作步骤:AH中预置功能号,中预置功能号,AH=25H;AL中预置要设置的中断类型码;中预置要设置的中断类型码;DS:DX中预置中断服务程序的入口地址;中预置中断服务程序的入口地址;(DS内是段地址,内是段地址,DX内是偏移地址内是偏移地址)执行执行INT 21H 例题例题7/27

34、/2022微机原理及应用微机原理及应用40使用使用INT 21H,设置中断向量设置中断向量 设中断服务程序的入口地址标号为设中断服务程序的入口地址标号为INTSUB,中断类型码中断类型码为为40H,编写程序段设置中断向量。编写程序段设置中断向量。解解:PUSH DS ;将将DS入栈,保存入栈,保存DS MOV DX,OFFSET INTSUB;取取INTSUB的偏移地址的偏移地址 MOV AX,SEG INTSUB;取取INTSUB的段基址的段基址 MOV DS,AX;段基址送段基址送DS MOV AL,40H;送中断类型码送中断类型码 MOV AH,25H;送功能号送功能号 INT 21H;

35、系统功能调用系统功能调用 POP DS;恢复恢复DS 7/27/2022微机原理及应用微机原理及应用41用传送指令设置中断向量用传送指令设置中断向量 设中断服务程序的入口地址标号为设中断服务程序的入口地址标号为INTSUB,中断类型码中断类型码为为40H,编写程序段设置中断向量。编写程序段设置中断向量。解解:数据段数据段 DATA SEGMENT AT 0000;设置数据段设置数据段DATA段段;从最低内存开始;从最低内存开始 ORG 100H;确定中断向量的位置在;确定中断向量的位置在;40H4=100HINT_SUB DW 2DUP(?);预留两字内存预留两字内存 DATA ENDS7/2

36、7/2022微机原理及应用微机原理及应用42用传送指令设置中断向量用传送指令设置中断向量代码段代码段CODE SEGMENT CLI ;设置设置IF=0,关中断关中断 PUSH DS ;DS入栈入栈 MOV AX,DATA MOV DS,AX ;取取DATA的段基址的段基址 MOV INT_SUB,OFFSET INTSUB ;取取INTSUB的偏移的偏移 ;地址送到;地址送到INT_SUB MOV INT_SUB+2,SEG INTSUB ;取取INTSUB的段基址的段基址 ;送到;送到INT_SUB+2 POP DS ;恢复恢复DS STI ;设置设置IF=1,开中断开中断CODE END

37、S7/27/2022微机原理及应用微机原理及应用434、8086/8088的中断处理过程的中断处理过程8086/8088中断处理过程包含:中断处理过程包含:中断请求、中断排队、中断响应、中断服务和中中断请求、中断排队、中断响应、中断服务和中断返回。断返回。讨论:讨论:(1)中断响应条件)中断响应条件(2)中断处理顺序)中断处理顺序(3)中断类型码的获取)中断类型码的获取(4)中断响应过程)中断响应过程7/27/2022微机原理及应用微机原理及应用44(1)中断响应条件)中断响应条件 任何一种中断,都要待任何一种中断,都要待CPU执行完当前指令后方执行完当前指令后方能响应中断。能响应中断。当当C

38、PU执行执行LOCK时,要等后面的指令完成时,要等后面的指令完成后才能响应中断;后才能响应中断;设置段寄存器内容的指令和下条指令之间不设置段寄存器内容的指令和下条指令之间不允许中断;允许中断;在等待指令和重复串操作指令执行过程中,在等待指令和重复串操作指令执行过程中,可响应中断,但必须在一个基本操作完成以后。可响应中断,但必须在一个基本操作完成以后。当上述情况满足后,有内部中断、当上述情况满足后,有内部中断、NMI、INTR(且且IF1),),CPU将暂时终止现行程序,进入中断将暂时终止现行程序,进入中断响应。响应。7/27/2022微机原理及应用微机原理及应用45(2)中断处理顺序)中断处理

39、顺序 中断处理顺序即按中断优先权从高到低的排队顺中断处理顺序即按中断优先权从高到低的排队顺序对中断源进行响应。序对中断源进行响应。8086/8088系统的中断处理次序如下:系统的中断处理次序如下:除法错误中断、溢出中断、除法错误中断、溢出中断、INT n;NMI(非屏蔽中断);非屏蔽中断);INTR(可屏蔽中断,需判断可屏蔽中断,需判断IF1?);?);单步中断。单步中断。7/27/2022微机原理及应用微机原理及应用46(2)中断处理顺序)中断处理顺序当当CPU进入中断响应时,保护进入中断响应时,保护FR,TF送暂存送暂存TEMP,然后清除然后清除IF和和TF,以保护本中断服务不被以保护本中

40、断服务不被可屏蔽中断打断;中断返回时,可屏蔽中断打断;中断返回时,FR恢复;恢复;NMI的请求拥有最高优先权,需要立即处理;的请求拥有最高优先权,需要立即处理;没有没有NMI,查看查看TEMP,以确定是否单步执行?以确定是否单步执行?一个中断被响应,一个中断被响应,CPU进入中断服务程序;进入中断服务程序;在中断服务程序中,设置了开中断,即设置在中断服务程序中,设置了开中断,即设置IF1,则不但可以响应则不但可以响应NMI,也可响应优先权更高的也可响应优先权更高的INTR;多个中断同时发生,按优先权从高到低响应。多个中断同时发生,按优先权从高到低响应。7/27/2022微机原理及应用微机原理及

41、应用47(3)中断类型码的获取)中断类型码的获取 8086/8088的中断系统是根据中断类型码从中断的中断系统是根据中断类型码从中断向量表中取得中断服务程序的入口地址的。向量表中取得中断服务程序的入口地址的。专用中断专用中断0 4,由硬件逻辑电路自动提供;,由硬件逻辑电路自动提供;INT n指令的第二字节为中断类型码,因而软件中指令的第二字节为中断类型码,因而软件中断指令是从指令中直接获得;断指令是从指令中直接获得;外部可屏蔽中断由外部硬件电路在中断响应时向外部可屏蔽中断由外部硬件电路在中断响应时向CPU提供中断类型码。提供中断类型码。7/27/2022微机原理及应用微机原理及应用48(4)中

42、断响应过程)中断响应过程期。由两个期。由两个INTA总线周期组成。总线周期组成。当当INTR请求被响应时,请求被响应时,CPU进入了中断响应周进入了中断响应周通知申请中断的外设准备好中断通知申请中断的外设准备好中断INTA类型码,在第二个类型码,在第二个 第一个第一个INTA时送上数据总线。时送上数据总线。7/27/2022微机原理及应用微机原理及应用49(4)中断响应过程)中断响应过程 INTR被响应时,被响应时,CPU实际执行的过程如下:实际执行的过程如下:CPU取得中断类型码后,左移两位,存入内部暂取得中断类型码后,左移两位,存入内部暂存器;存器;FR入栈;入栈;IF置零,置零,TF置零

43、;置零;CS入栈;入栈;IP入栈;入栈;中断向量低字送中断向量低字送IP;中断向量高字送中断向量高字送CS。7/27/2022微机原理及应用微机原理及应用50三、中断控制器三、中断控制器8259A1、8259A基本构成与引脚信号基本构成与引脚信号2、8259A工作过程工作过程3、8259A的工作方式的工作方式4、8259A编程方法编程方法7/27/2022微机原理及应用微机原理及应用511、8259A基本构成与引脚信号基本构成与引脚信号(1)8259A是一种功能很强的可编程中断控制器,是一种功能很强的可编程中断控制器,是是28脚芯片,具有很强的脚芯片,具有很强的功能功能。(2)8259A的基本

44、构成的基本构成和和引脚功能引脚功能8259AVCCGNDIR0IR7(INTR)INT(CPU数据总数据总D0D7INTACSCAS0CAS3SP/EN(CPU)WR(CPU)RD(8088A0)A07/27/2022微机原理及应用微机原理及应用528259A的基本构成的基本构成 IRR是一个是一个8位寄存器,用于锁存所有从位寄存器,用于锁存所有从IRi引脚输入的中引脚输入的中断请求信号。断请求信号。输入线输入线IR7IR0 分别连接分别连接8个中断源的中断请求信号,当个中断源的中断请求信号,当中断源有中断请求时,在相应的中断源有中断请求时,在相应的IR引脚上送入有效信号,引脚上送入有效信号,

45、IRR中相应的位就置位,以锁存该中断请求信号。中相应的位就置位,以锁存该中断请求信号。中断请求中断请求寄存器寄存器IRR 数据总线缓冲器读/写控制电路级联缓冲器/比较器控制电路中断服务寄存器ISR中断屏蔽寄存器IMR优先权判别器PR中断请求寄存器IRR.A0CAS0CAS1CAS2RDWRCSD7D0EN/SPINTINTAIR0IR7IR1.中断源中断源7/27/2022微机原理及应用微机原理及应用538259A的基本构成的基本构成*PR用于识别各中断请求的优先权级别,并进行优先权管理。用于识别各中断请求的优先权级别,并进行优先权管理。*各中断请求的优先权级别可以由各中断请求的优先权级别可以

46、由CPU定义或修改。定义或修改。*若若IRR有几位被置位,且未被屏蔽,表明有多个中断源同时有几位被置位,且未被屏蔽,表明有多个中断源同时申请中断。则由申请中断。则由PR经过判断确定最高优先权的中断请求,并经过判断确定最高优先权的中断请求,并在在CPU响应周期内,将它送入响应周期内,将它送入ISR中相应的位。中相应的位。优先权优先权判别器判别器PR 数据总线缓冲器读/写控制电路级联缓冲器/比较器控制电路中断服务寄存器ISR中断屏蔽寄存器IMR优先权判别器PR中断请求寄存器IRR.A0CAS0CAS1CAS2RDWRCSD7D0EN/SPINTINTAIR0IR7IR1.中断源中断源7/27/20

47、22微机原理及应用微机原理及应用548259A的基本构成的基本构成 *中断服务寄存器中断服务寄存器ISR为为8位寄存器,用于记录已被位寄存器,用于记录已被CPU响响应的中断。应的中断。*在中断响应周期里,由在中断响应周期里,由PR根据根据IRR和和IMR的状态,确定的状态,确定先被响应的中断请求,送至先被响应的中断请求,送至ISR,使相应的位被置位,并一直使相应的位被置位,并一直保持(自动保持(自动EOI方式例外)。由方式例外)。由EOI命令复位。命令复位。中断服务中断服务寄存器寄存器ISR 数据总线缓冲器读/写控制电路级联缓冲器/比较器控制电路中断服务寄存器ISR中断屏蔽寄存器IMR优先权判

48、别器PR中断请求寄存器IRR.A0CAS0CAS1CAS2RDWRCSD7D0EN/SPINTINTAIR0IR7IR1.中断源中断源若若ISR中有多中有多个位被置位,个位被置位,是什么原因?是什么原因?7/27/2022微机原理及应用微机原理及应用558259A的基本构成的基本构成 *中断屏蔽寄存器中断屏蔽寄存器IMR也是也是8位寄存器,用于存放对中断位寄存器,用于存放对中断请求的屏蔽信息,其内容可编程设定。请求的屏蔽信息,其内容可编程设定。*IMR中的中的8个位对应个位对应IR7IR0这这8个中断请求,个中断请求,当当IMR中中某位被置位,对应的中断请求就被屏蔽。某位被置位,对应的中断请求

49、就被屏蔽。则,则,IRR对应的位虽被置位,但不能送出它的中断请求对应的位虽被置位,但不能送出它的中断请求信号给信号给CPU,由此实现对各中断有选择的屏蔽。由此实现对各中断有选择的屏蔽。中断屏蔽中断屏蔽寄存器寄存器IMR 数据总线缓冲器读/写控制电路级联缓冲器/比较器控制电路中断服务寄存器ISR中断屏蔽寄存器IMR优先权判别器PR中断请求寄存器IRR.A0CAS0CAS1CAS2RDWRCSD7D0EN/SPINTINTAIR0IR7IR1.中断源中断源7/27/2022微机原理及应用微机原理及应用568259A的基本构成的基本构成 *数据总线缓冲器为数据总线缓冲器为8位双向三态缓冲器,是位双向

50、三态缓冲器,是8259A与与CPU间数据传输的通道。间数据传输的通道。*CPU通过数据总线缓冲器向通过数据总线缓冲器向8259A送初始化命令和操作送初始化命令和操作命令字,或是读取状态信息。命令字,或是读取状态信息。*在中断响应周期,在中断响应周期,8259A通过数据总线缓冲器向通过数据总线缓冲器向CPU送送出中断类型码。出中断类型码。数据总线数据总线缓冲器缓冲器 数据总线缓冲器读/写控制电路级联缓冲器/比较器控制电路中断服务寄存器ISR中断屏蔽寄存器IMR优先权判别器PR中断请求寄存器IRR.A0CAS0CAS1CAS2RDWRCSD7D0EN/SPINTINTAIR0IR7IR1.7/27

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

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

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


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

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


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