《(精品)第7章_中断系统和中断控制器8259A.ppt》由会员分享,可在线阅读,更多相关《(精品)第7章_中断系统和中断控制器8259A.ppt(125页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理及应用微机原理及应用主讲教师主讲教师 陈陈 玮玮广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮第第7章章 中断系统和中断控制器中断系统和中断控制器8259A一、一、中断的基本概念中断的基本概念二、二、8086/8088的中断系统的中断系统三、三、中断控制器中断控制器8259A2023/4/62微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮一、中断的基本概念一、中断的基本概念1、中断及中断源中断及中断源2、中断处理过程中断处理过程3、中断优先权管理中断优先权管理2023/4/63微机原理及应用微机
2、原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、中断及中断源、中断及中断源 中断中断是一种让是一种让CPU挂起正在执行的程序而转去处理挂起正在执行的程序而转去处理特殊事件的操作。特殊事件的操作。CPU暂时停止执行原来的程序而转去中断处理,处暂时停止执行原来的程序而转去中断处理,处理好中断服务后再返回继续执行原来的程序,这样一个理好中断服务后再返回继续执行原来的程序,这样一个过程就是一个过程就是一个中断过程中断过程。能够引起能够引起CPU中断的事件称为中断的事件称为中断源中断源 。CPU中断系统的基本功能中断系统的基本功能 。2023/4/64微机原理
3、及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮中断源中断源(1)一般的输入输出设备。如键盘,打印机等;)一般的输入输出设备。如键盘,打印机等;(2)数据通道中断源。如磁盘,磁带机等直接与存储器)数据通道中断源。如磁盘,磁带机等直接与存储器交换数据所要求的中断;交换数据所要求的中断;(3)实时时钟。在控制系统中使用外部硬件电路实现时)实时时钟。在控制系统中使用外部硬件电路实现时间控制,当定时时间到时向间控制,当定时时间到时向CPU发出中断申请;发出中断申请;(4)故障引起的中断。如电源掉电等;)故障引起的中断。如电源掉电等;(5)由中断指令或软
4、件故障引起的中断。如系统功能调)由中断指令或软件故障引起的中断。如系统功能调用,除数为用,除数为0,或者在程序调试时设置断点等引起的中断。,或者在程序调试时设置断点等引起的中断。2023/4/65微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮中断分类中断分类 根据中断与根据中断与CPU的相对关系,中断分为内部中断和的相对关系,中断分为内部中断和外部中断。外部中断。内部中断内部中断可以是中断指令设置的中断,调试程序时可以是中断指令设置的中断,调试程序时设置的中断,或是程序运行过程中发生的非预期情况而设置的中断,或是程序运行过程中发生的非
5、预期情况而产生的中断;产生的中断;外部中断外部中断则是由直接连到则是由直接连到CPU引脚上的信号引起的引脚上的信号引起的中断,如外部设备请求服务中断,实时时钟定时到中断,中断,如外部设备请求服务中断,实时时钟定时到中断,电源掉电等等。电源掉电等等。2023/4/66微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮CPU中断系统的功能中断系统的功能(1)实现中断及返回)实现中断及返回(2)实现优先权排队,以确定优先处理的中断源。)实现优先权排队,以确定优先处理的中断源。(3)优先权高的中断源能中断优先权低的中断处理)优先权高的中断源能中断
6、优先权低的中断处理2023/4/67微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)实现中断及返回)实现中断及返回 当有一中断源提出中断请求时,当有一中断源提出中断请求时,CPU首先判断是否首先判断是否响应该中断响应该中断?*如果如果CPU正在执行的是重要的程序,可以暂不响应,正在执行的是重要的程序,可以暂不响应,即关中断;即关中断;*当当CPU完成了当前的重要程序后,开中断予以响应,完成了当前的重要程序后,开中断予以响应,同时,保存断点,转入中断处理;同时,保存断点,转入中断处理;*当中断处理完后,恢复断点从而回到被中断运行的当
7、中断处理完后,恢复断点从而回到被中断运行的原程序继续执行;原程序继续执行;2023/4/68微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)实现中断及返回)实现中断及返回 *通过设置通过设置CPU内部的中断允许触发器内部的中断允许触发器(IFF),开关开关中断中断。当当IFF1,使中断允许(开中断);使中断允许(开中断);当当IFF0,使中断不允许(关中断)。使中断不允许(关中断)。注意:注意:不可屏蔽中断不可屏蔽中断,要求,要求CPU立即处理。不受中断允许触立即处理。不受中断允许触发器(发器(IFF)的控制。的控制。可屏蔽中断可
8、屏蔽中断,受中断允许触发器(,受中断允许触发器(IFF)的控制。的控制。2023/4/69微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)实现优先权排队,以确定优先处理的中断源)实现优先权排队,以确定优先处理的中断源 一个系统中有多个中断源,存在着几个中断源同时一个系统中有多个中断源,存在着几个中断源同时请求的可能;请求的可能;因此,必须事先根据中断源的重要性,给每个中断因此,必须事先根据中断源的重要性,给每个中断源确定一个中断优先级别源确定一个中断优先级别优先权。优先权。中断响应时,中断响应时,CPU应能首先响应优先权级别高的中
9、应能首先响应优先权级别高的中断源。断源。2023/4/610微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮在中断服务处理过程中:在中断服务处理过程中:若新的中断申请其优先级别更高,则若新的中断申请其优先级别更高,则CPU应再一次应再一次中断,转去优先权更高的中断源服务。处理完后,再回中断,转去优先权更高的中断源服务。处理完后,再回到原来的中断服务中,这也称为到原来的中断服务中,这也称为中断嵌套中断嵌套。若新的中断源优先权级别为同级或低级,则若新的中断源优先权级别为同级或低级,则CPU暂暂不理会,继续正在处理的中断服务,直到当前中断处理
10、不理会,继续正在处理的中断服务,直到当前中断处理结束后再去处理新的中断申请。结束后再去处理新的中断申请。(3)优先权高的中断源能中断优先权低的中)优先权高的中断源能中断优先权低的中断处理断处理2023/4/611微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、中断处理过程、中断处理过程 一个中断过程应该包含以下五个过程一个中断过程应该包含以下五个过程:(1)中断请求中断请求(2)中断排队中断排队(3)中断响应中断响应(4)中断服务中断服务(5)中断返回中断返回2023/4/612微机原理及应用微机原理及应用广东工业大学广东工业大学
11、自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)中断请求)中断请求 当中断源需要当中断源需要CPU为其服务时,首先送出中断请求信为其服务时,首先送出中断请求信号。号。中断信号可以由中断指令或是某些特定条件产生,也中断信号可以由中断指令或是某些特定条件产生,也可以是通过可以是通过CPU引脚(引脚(INTR)向向CPU发出中断请求信号发出中断请求信号而产生。而产生。实际系统中一般都有多个中断源,实际系统中一般都有多个中断源,为了增加控制的为了增加控制的灵活性,每个中断源接口电路中,设置一个灵活性,每个中断源接口电路中,设置一个中断请求触发中断请求触发器器和一个和一个中断屏蔽触发器中断屏蔽
12、触发器。2023/4/613微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)中断请求)中断请求当中断源有请求时,将当中断源有请求时,将中断请求触发器中断请求触发器置置1:*若若中断屏蔽触发器中断屏蔽触发器为为“0”状态,表示允许该中断状态,表示允许该中断源向源向CPU发出中断请求发出中断请求“信号信号”;*若若中断屏蔽触发器中断屏蔽触发器为为“1”状态,表示禁止该中断状态,表示禁止该中断源向源向CPU发出中断请求发出中断请求“信号信号”。尽管该中断源有中断请求,也不能被送出,称该中断尽管该中断源有中断请求,也不能被送出,称该中断请
13、求被屏蔽了。请求被屏蔽了。2023/4/614微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)中断排队和()中断排队和(3)中断响应)中断响应 中断排队中断排队是确定当前所有中断请求中优先级最高的那是确定当前所有中断请求中优先级最高的那个中断源。个中断源。因为因为CPU一次只能响应一个中断,所以必须首先处一次只能响应一个中断,所以必须首先处理最紧急最重要的中断。理最紧急最重要的中断。根据中断源的轻重缓急给予一个中断优先权级别,优根据中断源的轻重缓急给予一个中断优先权级别,优先权级别最高的中断源将首先得到响应。先权级别最高的中断源将
14、首先得到响应。2023/4/615微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)中断排队和()中断排队和(3)中断响应)中断响应 CPU通过通过中断排队中断排队确定了要响应的中断源后,进入确定了要响应的中断源后,进入中断响应中断响应,自动完成以下步骤:,自动完成以下步骤:关中断;关中断;保护断点,将正在执行的程序地址(断点)入栈;保护断点,将正在执行的程序地址(断点)入栈;保护现场,标志寄存器保护现场,标志寄存器FR自动入栈;自动入栈;形成中断服务程序入口地址。形成中断服务程序入口地址。2023/4/616微机原理及应用微机原理
15、及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(4)中断服务和()中断服务和(5)中断返回)中断返回 中断服务中断服务是指是指CPU执行中断服务程序。执行中断服务程序。中断服务程序应包括中断服务程序应包括:保护现场保护现场,CPU响应中断时自动保护断点,寄存响应中断时自动保护断点,寄存器则由程序员决定是否要入栈;器则由程序员决定是否要入栈;开中断开中断,CPU响应中断时,自动执行关中断操作。响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开中断;要实现中断嵌套,必须在中断服务程序中开中断;2023/4/617微机原理及应用微机原理及应用
16、广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(4)中断服务和()中断服务和(5)中断返回)中断返回 中断处理中断处理,对中断源作相应的处理,是中断服务,对中断源作相应的处理,是中断服务程序的核心;程序的核心;关中断关中断,若中断服务程序设置了开中断,则此时,若中断服务程序设置了开中断,则此时应该关中断,以保证恢复现场的操作不被打断;应该关中断,以保证恢复现场的操作不被打断;恢复现场恢复现场,按后进先出的原则,按后进先出的原则,PUSH和和POP应配应配对使用;对使用;中断返回中断返回,从堆栈中弹出断点,返回主程序。,从堆栈中弹出断点,返回主程序。2023/4/
17、618微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮3、中断优先权管理、中断优先权管理 中断优先权中断优先权是事先根据中断源的重要性给每个中断是事先根据中断源的重要性给每个中断源确定一个中断优先级别源确定一个中断优先级别优先权。优先权。中断优先权管理就是判别和确定各个中断源的中断中断优先权管理就是判别和确定各个中断源的中断优先权。优先权。中断优先权判别方法有软件和硬件两种方法。中断优先权判别方法有软件和硬件两种方法。2023/4/619微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈
18、玮陈玮3、中断优先权管理、中断优先权管理(1)软件确定中断优先权)软件确定中断优先权 软件法软件法是在是在CPU响应中断后,用软件查询确定哪个响应中断后,用软件查询确定哪个中断源申请中断,先被查询的先响应。中断源申请中断,先被查询的先响应。查询次序决定了中断优先权次序,最先被查询的中查询次序决定了中断优先权次序,最先被查询的中断源具有最高的优先权。断源具有最高的优先权。2023/4/620微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮3、中断优先权管理、中断优先权管理 如图,如图,8个外设只要有个外设只要有中断请求,中断请求,CPU检
19、测到中检测到中断请求信号,响应中断;断请求信号,响应中断;读入端口读入端口80H的内容,逐位判别确定当前申请中断的的内容,逐位判别确定当前申请中断的优先权最高的中断源,从而进入相应的中断服务程序。优先权最高的中断源,从而进入相应的中断服务程序。2023/4/621微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮3、中断优先权管理、中断优先权管理(1)软件确定中断优先权)软件确定中断优先权软件查询流程图软件查询流程图软件查询程序:软件查询程序:IN AL,80H;端口读入状态端口读入状态TEST AL,80H;JNZ SERVE_ATES
20、T AL,40HJNZ SERVE_B TEST AL,01HJNZ SERVE_HHLT*软件查询次序就是优先权高低的次序;软件查询次序就是优先权高低的次序;*软件确定中断优先权不需复杂的硬件电路,简单易实现软件确定中断优先权不需复杂的硬件电路,简单易实现;*中断源较多时,查询时间较长,中断响应较慢。中断源较多时,查询时间较长,中断响应较慢。2023/4/622微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮3、中断优先权管理、中断优先权管理(2)硬件确定中断优先权)硬件确定中断优先权 由由硬件硬件实现中断优先权的判别。实现中断优先权
21、的判别。*常用的硬件电路有:中断优先权编码电路,链式优常用的硬件电路有:中断优先权编码电路,链式优先权排队电路及专用硬件电路等。先权排队电路及专用硬件电路等。*利用利用中断控制器中断控制器8259A,它具有它具有8个优先权控制,个优先权控制,可以通过级联,扩展至可以通过级联,扩展至64级优先权控制,且每级中断都级优先权控制,且每级中断都可设置为允许或屏蔽可设置为允许或屏蔽。2023/4/623微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮二、二、8086/8088的中断系统的中断系统 8086/8088CPU具有一个功能很强、管理高效
22、且简便具有一个功能很强、管理高效且简便灵活的中断系统,可以处理多达灵活的中断系统,可以处理多达256种中断源。种中断源。采用采用向量中断方法向量中断方法,对,对256种中断只需一次间接访问种中断只需一次间接访问就可获得任一中断源的中断服务程序的入口地址,中断响就可获得任一中断源的中断服务程序的入口地址,中断响应快速。应快速。8086/8088CPU有两类中断:有两类中断:*内部中断内部中断 由执行中断指令或特殊事件引起;由执行中断指令或特殊事件引起;*外部中断外部中断 由外围设备接口向由外围设备接口向CPU的中断请求引脚的中断请求引脚INTR和和NMI发出中断请求信号而引起的。发出中断请求信号
23、而引起的。2023/4/624微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮二、二、8086/8088的中断系统的中断系统1、8086/8088的中断指令的中断指令2、8086/8088的中断分类的中断分类3、中断向量表中断向量表4、8086/8088中断处理过程中断处理过程2023/4/625微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、8086/8088的中断指令的中断指令(1)中断指令)中断指令指令格式指令格式:INT n ;n=0255,中断类型码中断类型码指令操
24、作指令操作:SP2 SP(修改堆栈指针修改堆栈指针),FR入栈,入栈,IF=0(中断标志置中断标志置0,关中断,关中断,CPU不响应可屏蔽中断)不响应可屏蔽中断),TF=0(陷阱标志,陷阱标志,TF0,CPU正常执行程序)正常执行程序),SP2 SP(修改堆栈指针修改堆栈指针),CS入栈入栈SP2 SP(修改堆栈指针修改堆栈指针),IP入栈入栈 n4 IP n4+2 CS2023/4/626微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、8086/8088的中断指令的中断指令中断向量中断向量就是中断服务程序的入口地址;就是中断服务程
25、序的入口地址;中断类型中断类型码码 n n4 4 即为该中断向量的存放地址即为该中断向量的存放地址;低字是低字是IP,高字是高字是CS,CPU取出取出CS和和IP,转去执转去执行中断服务程序。行中断服务程序。INT n 指令除了使指令除了使IF0和和TF0,对其他标志位没对其他标志位没有影响;有影响;INT指令(即指令(即n=3),称为称为断点中断指令断点中断指令,用于软件,用于软件调试。调试。2023/4/627微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、8086/8088的中断指令的中断指令(2)溢出中断指令)溢出中断指令指
26、令格式:指令格式:INTO;与与INT 4等价等价指令操作指令操作:溢出中断指令用于带符号数加减法运算后,溢出中断指令用于带符号数加减法运算后,由于运算溢出而产生中断。由于运算溢出而产生中断。通常,写在一条算术运算指令后:通常,写在一条算术运算指令后:若运算结果使若运算结果使OF=1,进入中断类型码为,进入中断类型码为4的中断;的中断;否则,按顺序执行下一条指令。否则,按顺序执行下一条指令。n4 0010H中断向量存放地址为:中断向量存放地址为:2023/4/628微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、8086/8088的
27、中断指令的中断指令(3)中断返回指令)中断返回指令指令格式:指令格式:IRET指令操作:指令操作:IP,CS,FR依此出栈,依此出栈,SP+6SP 所有中断服务程序,无论是软件中断,还是硬件中断,所有中断服务程序,无论是软件中断,还是硬件中断,最后执行的指令一定是最后执行的指令一定是IRET,用以退出中断,返回断点。用以退出中断,返回断点。2023/4/629微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类8086/8088的中断系统可以处理的中断系统可以处理256种不同的中断。种不同的中断。所
28、有可能产生的中断源有:可屏蔽中断所有可能产生的中断源有:可屏蔽中断INTR、非屏非屏蔽中断蔽中断NMI、指令中断指令中断INT n和特定条件下的中断,分为和特定条件下的中断,分为两类:两类:内部中断内部中断外部中断外部中断2023/4/630微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类 内部中断内部中断 CPU不是通过外部中断请求而是通过内部逻辑进入不是通过外部中断请求而是通过内部逻辑进入中断,调用相应的中断服务程序,是中断,调用相应的中断服务程序,是CPU自启动的中断。自启动的中断。除单步
29、中断外,所有内部中断为非屏蔽型的。除单步中断外,所有内部中断为非屏蔽型的。内部中断内部中断主要用于解决程序运行中发生的一些意外情况、程序主要用于解决程序运行中发生的一些意外情况、程序调试、用户定义的中断或者调用系统提供的一些标准中断服务程序。调试、用户定义的中断或者调用系统提供的一些标准中断服务程序。(1)除法出错中断)除法出错中断(类型类型0);(2)单步中断)单步中断(类型类型1);(3)断点中断)断点中断(类型类型3);(4)溢出中断)溢出中断(类型类型4);(5)软件中断)软件中断返回2023/4/631微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控
30、制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类内部中断内部中断(1)除法出错中断)除法出错中断(类型类型0)CPU在执行触发指令在执行触发指令DIV和和IDIV时,若发现时,若发现除数为除数为0,或商超过了寄存器所能表达的范围,就立即产生一个类,或商超过了寄存器所能表达的范围,就立即产生一个类型为型为0的内部中断,的内部中断,CPU转入除法错误中断处理程序。转入除法错误中断处理程序。注意注意:此中断是由此中断是由CPU自身产生,并没有对应的中断自身产生,并没有对应的中断指令。指令。2023/4/632微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院
31、 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类内部中断内部中断(2)单步中断单步中断(类型类型1)此中断也是由此中断也是由CPU自身产生,没有对应的中断指令,自身产生,没有对应的中断指令,它是由它是由CPU对状态标志寄存器中的陷阱标志对状态标志寄存器中的陷阱标志TF的测试而的测试而引起的。引起的。TF1,自动单步中断,用于程序调试。自动单步中断,用于程序调试。2023/4/633微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类内部中断内部中断(3)断点中断断点中断(类
32、型类型3)执行执行INT指令就产生一个类型为指令就产生一个类型为3的内部中断,称为的内部中断,称为断点中断断点中断。和单步中断类似,用于程序调试。和单步中断类似,用于程序调试。2023/4/634微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类内部中断内部中断(4)溢出中断溢出中断(类型类型4)溢出中断是由溢出中断是由CPU执行一条执行一条INTO指令实现的:指令实现的:当当OF1时,执行时,执行INTO就会进入类型码为就会进入类型码为4的内部中断;的内部中断;否则,按顺序执行。否则,按顺序执行
33、。2023/4/635微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类内部中断内部中断(5)软件中断软件中断 当执行当执行INT n指令时,形成中断,类型码由指令提供。指令时,形成中断,类型码由指令提供。从功能上来说,类似于调用子程序,但入口地址在中从功能上来说,类似于调用子程序,但入口地址在中断向量表里。断向量表里。2023/4/636微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类外部中断外部
34、中断 通过外部的硬件产生,由送至通过外部的硬件产生,由送至CPU引脚引脚NMI和和INTR上的信号引起中断。上的信号引起中断。分为两类:分为两类:(1)非屏蔽中断)非屏蔽中断(n=2)一旦在一旦在NMI引脚有中断请求,引脚有中断请求,CPU立即响应。立即响应。返回2023/4/637微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮2、8086/8088的中断分类的中断分类(2)可屏蔽中断,可屏蔽中断,从从INTR脚引入,必须满足脚引入,必须满足IF=1,且没有非屏蔽中断,且没有非屏蔽中断,CPU可以响应中断。可以响应中断。中断请求信号是
35、由电平触发,必须保存到中断请求信号是由电平触发,必须保存到CPU响应中响应中断请求后才能撤除。断请求后才能撤除。中断允许标志中断允许标志IF的标志,可由指令设置:的标志,可由指令设置:STI 开中断,将开中断,将IF置置1;CLI 关中断,将关中断,将IF置置0 。当系统复位,或当系统复位,或CPU响应中断后,都使响应中断后,都使IF置置0。2023/4/638微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮3、中断向量表、中断向量表 中断向量即中断服务程序的入口地址,用两个字表示,中断向量即中断服务程序的入口地址,用两个字表示,低字是
36、低字是IP,高字是高字是CS。将所有中断源的中断向量集中存储在内存的指定空间将所有中断源的中断向量集中存储在内存的指定空间内,这样一个指定的存储区称为内,这样一个指定的存储区称为中断向量表中断向量表;8086/8088的中断类型码用的中断类型码用8位二进制表示,共有从位二进制表示,共有从n=0FFh,256个中断向量;个中断向量;中断向量表中断向量表建立在内存空间最低建立在内存空间最低1K地址;地址;地址范围:地址范围:00000H 003FFH(即即CS=0000H)。注意:注意:中断类型码只能决定存放中断向量的地址,并不能中断类型码只能决定存放中断向量的地址,并不能决定中断向量本身和中断服
37、务程序的功能。决定中断向量本身和中断服务程序的功能。2023/4/639微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮3、中断向量表、中断向量表 在在IBMPC/XT机中,机中,n=40H0FFH,可以供用户设可以供用户设置中断向量。置中断向量。向向中断向量表中断向量表中写入中断向量,就是中断向量表的设中写入中断向量,就是中断向量表的设置。置。(1)使用使用INT 21H(2)用传送指令用传送指令2023/4/640微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)使用)使
38、用INT 21H,设置中断向量设置中断向量操作步骤操作步骤:AH中预置功能号,中预置功能号,AH=25H;AL中预置要设置的中断类型码;中预置要设置的中断类型码;DS:DX中预置中断服务程序的入口地址;中预置中断服务程序的入口地址;(DS内是段地址,内是段地址,DX内是偏移地址内是偏移地址)执行执行INT 21H 例题例题2023/4/641微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮使用使用INT 21H,设置中断向量设置中断向量 设中断服务程序的入口地址标号为设中断服务程序的入口地址标号为INTSUB,中断类型码为中断类型码为4
39、0H,编写程序段设置中断向量。编写程序段设置中断向量。解解: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;系统功能调用系统功能调用 POP DS;恢复恢复DS 2023/4/642微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮用传送指令设
40、置中断向量用传送指令设置中断向量 设中断服务程序的入口地址标号为设中断服务程序的入口地址标号为INTSUB,中断类型码为中断类型码为40H,编写程序段设置中断向量。编写程序段设置中断向量。解解:数据段数据段 DATA SEGMENT AT 0000;设置数据段设置数据段DATA段段;从最低内存开始;从最低内存开始 ORG 100H;确定中断向量的位置在;确定中断向量的位置在;40H4=100HINT_SUB DW 2DUP(?);预留两字内存预留两字内存 DATA ENDS2023/4/643微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮
41、陈玮用传送指令设置中断向量用传送指令设置中断向量代码段代码段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 ENDS2023/4/644微机原理及应用微机
42、原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮4、8086/8088的中断处理过程的中断处理过程8086/8088中断处理过程包含:中断处理过程包含:中断请求、中断排队、中断响应、中断服务和中断返中断请求、中断排队、中断响应、中断服务和中断返回。回。讨论:讨论:(1)中断响应条件)中断响应条件(2)中断处理顺序)中断处理顺序(3)中断类型码的获取)中断类型码的获取(4)中断响应过程)中断响应过程2023/4/645微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(1)中断响应条件)中断响应条件
43、任何一种中断,都要待任何一种中断,都要待CPU执行完当前指令后方能响执行完当前指令后方能响应中断。应中断。当当CPU执行执行LOCK时,要等后面的指令完成后才时,要等后面的指令完成后才能响应中断;能响应中断;设置段寄存器内容的指令和下条指令之间不允许设置段寄存器内容的指令和下条指令之间不允许中断;中断;在等待指令和重复串操作指令执行过程中,可响在等待指令和重复串操作指令执行过程中,可响应中断,但必须在一个基本操作完成以后。应中断,但必须在一个基本操作完成以后。当上述情况满足后,有内部中断、当上述情况满足后,有内部中断、NMI、INTR(且且IF1),),CPU将暂时终止现行程序,进入中断响应。
44、将暂时终止现行程序,进入中断响应。2023/4/646微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)中断处理顺序)中断处理顺序 中断处理顺序即按中断优先权从高到低的排队顺序对中断处理顺序即按中断优先权从高到低的排队顺序对中断源进行响应。中断源进行响应。8086/8088系统的中断处理次序如下:系统的中断处理次序如下:除法错误中断、溢出中断、除法错误中断、溢出中断、INT n;NMI(非屏蔽中断);非屏蔽中断);INTR(可屏蔽中断,需判断可屏蔽中断,需判断IF1?);?);单步中断。单步中断。2023/4/647微机原理及应用微
45、机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(2)中断处理顺序)中断处理顺序当当CPU进入中断响应时,保护进入中断响应时,保护FR,TF送暂存送暂存TEMP,然后清除然后清除IF和和TF,以保护本中断服务不被可屏蔽中断打以保护本中断服务不被可屏蔽中断打断;中断返回时,断;中断返回时,FR恢复;恢复;NMI的请求拥有最高优先权,需要立即处理;的请求拥有最高优先权,需要立即处理;没有没有NMI,查看查看TEMP,以确定是否单步执行?以确定是否单步执行?一个中断被响应,一个中断被响应,CPU进入中断服务程序;进入中断服务程序;在中断服务程序中,设置了开中
46、断,即设置在中断服务程序中,设置了开中断,即设置IF1,则不则不但可以响应但可以响应NMI,也可响应优先权更高的也可响应优先权更高的INTR;多个中断同时发生,按优先权从高到低响应。多个中断同时发生,按优先权从高到低响应。2023/4/648微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(3)中断类型码的获取)中断类型码的获取 8086/8088的中断系统是根据中断类型码从中断向量的中断系统是根据中断类型码从中断向量表中取得中断服务程序的入口地址的。表中取得中断服务程序的入口地址的。专用中断专用中断0 4,由硬件逻辑电路自动提供;,由
47、硬件逻辑电路自动提供;INT n指令的第二字节为中断类型码,因而软件中断指指令的第二字节为中断类型码,因而软件中断指令是从指令中直接获得;令是从指令中直接获得;外部可屏蔽中断由外部硬件电路在中断响应时向外部可屏蔽中断由外部硬件电路在中断响应时向CPU提供中断类型码。提供中断类型码。2023/4/649微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(4)中断响应过程)中断响应过程期。由两个期。由两个 INTA总线周期组成。总线周期组成。当当INTR请求被响应时,请求被响应时,CPU进入了中断响应周进入了中断响应周通知申请中断的外设准备好
48、中断通知申请中断的外设准备好中断INTA类型码,在第二个类型码,在第二个 第一个第一个INTA时送上数据总线。时送上数据总线。2023/4/650微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮(4)中断响应过程)中断响应过程 INTR被响应时,被响应时,CPU实际执行的过程如下:实际执行的过程如下:CPU取得中断类型码后,左移两位,存入内部暂存器;取得中断类型码后,左移两位,存入内部暂存器;FR入栈;入栈;IF置零,置零,TF置零;置零;CS入栈;入栈;IP入栈;入栈;中断向量低字送中断向量低字送IP;中断向量高字送中断向量高字送CS
49、。2023/4/651微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮三、中断控制器三、中断控制器8259A1、8259A基本构成与引脚信号基本构成与引脚信号2、8259A工作过程工作过程3、8259A的工作方式的工作方式4、8259A编程方法编程方法2023/4/652微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮1、8259A基本构成与引脚信号基本构成与引脚信号(1)8259A是一种功能很强的可编程中断控制器,是是一种功能很强的可编程中断控制器,是28脚芯片,具有很强的脚芯
50、片,具有很强的功能功能。(2)8259A的基本构成的基本构成和和引脚功能引脚功能2023/4/653微机原理及应用微机原理及应用广东工业大学广东工业大学 自动化学院自动化学院 自动控制系自动控制系 陈玮陈玮8259A的基本构成的基本构成 IRR是一个是一个8位寄存器,用于锁存所有从位寄存器,用于锁存所有从IRi引脚输入的中断请引脚输入的中断请求信号。求信号。输入线输入线IR7IR0 分别连接分别连接8个中断源的中断请求信号,当中断个中断源的中断请求信号,当中断源有中断请求时,在相应的源有中断请求时,在相应的IR引脚上送入有效信号,引脚上送入有效信号,IRR中相应的中相应的位就置位,以锁存该中断