中断系统和中断控制器A知识讲解

上传人:yuzo****123 文档编号:139447793 上传时间:2020-07-21 格式:PPT 页数:125 大小:2.50MB
返回 下载 相关 举报
中断系统和中断控制器A知识讲解_第1页
第1页 / 共125页
中断系统和中断控制器A知识讲解_第2页
第2页 / 共125页
中断系统和中断控制器A知识讲解_第3页
第3页 / 共125页
中断系统和中断控制器A知识讲解_第4页
第4页 / 共125页
中断系统和中断控制器A知识讲解_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《中断系统和中断控制器A知识讲解》由会员分享,可在线阅读,更多相关《中断系统和中断控制器A知识讲解(125页珍藏版)》请在金锄头文库上搜索。

1、微机原理及应用,主讲教师 陈 玮,2020/7/21,微机原理及应用,2,第7章 中断系统和中断控制器8259A,一、中断的基本概念 二、8086/8088的中断系统 三、中断控制器8259A,2020/7/21,微机原理及应用,3,一、中断的基本概念,1、中断及中断源 2、中断处理过程 3、中断优先权管理,2020/7/21,微机原理及应用,4,1、中断及中断源,中断是一种让CPU挂起正在执行的程序而转去处理特殊事件的操作。 CPU暂时停止执行原来的程序而转去中断处理,处理好中断服务后再返回继续执行原来的程序,这样一个过程就是一个中断过程 。 能够引起CPU中断的事件称为中断源 。 CPU中

2、断系统的基本功能 。,2020/7/21,微机原理及应用,6,中断分类,根据中断与CPU的相对关系,中断分为内部中断和外部中断。 内部中断可以是中断指令设置的中断,调试程序时设置的中断,或是程序运行过程中发生的非预期情况而产生的中断; 外部中断则是由直接连到CPU引脚上的信号引起的中断,如外部设备请求服务中断,实时时钟定时到中断,电源掉电等等。,2020/7/21,微机原理及应用,7,CPU中断系统的功能,(1)实现中断及返回 (2)实现优先权排队,以确定优先处理的中断源。 (3)优先权高的中断源能中断优先权低的中断处理,2020/7/21,微机原理及应用,8,(1)实现中断及返回,当有一中断

3、源提出中断请求时,CPU首先判断是否响应该中断? * 如果CPU正在执行的是重要的程序,可以暂不响应,即关中断; *当CPU完成了当前的重要程序后,开中断予以响应,同时,保存断点,转入中断处理; * 当中断处理完后,恢复断点从而回到被中断运行的原程序继续执行;,2020/7/21,微机原理及应用,9,(1)实现中断及返回,* 通过设置CPU内部的中断允许触发器(IFF),开关中断 。 当IFF1,使中断允许(开中断); 当IFF0,使中断不允许(关中断)。 注意: 不可屏蔽中断,要求CPU立即处理。不受中断允许触发器(IFF)的控制。 可屏蔽中断,受中断允许触发器(IFF)的控制。,2020/

4、7/21,微机原理及应用,10,(2)实现优先权排队,以确定优先处理的中断源,一个系统中有多个中断源,存在着几个中断源同时请求的可能; 因此,必须事先根据中断源的重要性,给每个中断源确定一个中断优先级别优先权。 中断响应时,CPU应能首先响应优先权级别高的中断源。,2020/7/21,微机原理及应用,11,在中断服务处理过程中: 若新的中断申请其优先级别更高,则CPU应再一次中断,转去优先权更高的中断源服务。处理完后,再回到原来的中断服务中,这也称为中断嵌套。 若新的中断源优先权级别为同级或低级,则CPU暂不理会,继续正在处理的中断服务,直到当前中断处理结束后再去处理新的中断申请。,(3)优先

5、权高的中断源能中断优先权低的中断处理,2020/7/21,微机原理及应用,12,2、中断处理过程,一个中断过程应该包含以下五个过程: (1)中断请求 (2)中断排队 (3)中断响应 (4)中断服务 (5)中断返回,2020/7/21,微机原理及应用,13,(1)中断请求,当中断源需要CPU为其服务时,首先送出中断请求信号。 中断信号可以由中断指令或是某些特定条件产生,也可以是通过CPU引脚(INTR)向CPU发出中断请求信号而产生。 实际系统中一般都有多个中断源, 为了增加控制的灵活性,每个中断源接口电路中,设置一个中断请求触发器和一个中断屏蔽触发器。,2020/7/21,微机原理及应用,14

6、,(1)中断请求,当中断源有请求时,将中断请求触发器置1: * 若中断屏蔽触发器为“0”状态,表示允许该中断源向CPU发出中断请求“信号”; * 若中断屏蔽触发器为“1”状态,表示禁止该中断源向CPU发出中断请求“信号”。 尽管该中断源有中断请求,也不能被送出,称该中断请求被屏蔽了。,2020/7/21,微机原理及应用,15,(2)中断排队和(3)中断响应,中断排队是确定当前所有中断请求中优先级最高的那个中断源。 因为CPU一次只能响应一个中断,所以必须首先处理最紧急最重要的中断。 根据中断源的轻重缓急给予一个中断优先权级别,优先权级别最高的中断源将首先得到响应。,2020/7/21,微机原理

7、及应用,16,(2)中断排队和(3)中断响应,CPU通过中断排队确定了要响应的中断源后,进入中断响应,自动完成以下步骤: 关中断; 保护断点,将正在执行的程序地址(断点)入栈; 保护现场,标志寄存器FR自动入栈; 形成中断服务程序入口地址。,2020/7/21,微机原理及应用,17,(4)中断服务和(5)中断返回,中断服务是指CPU执行中断服务程序。 中断服务程序应包括: 保护现场,CPU响应中断时自动保护断点,寄存器则由程序员决定是否要入栈; 开中断,CPU响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开中断;,2020/7/21,微机原理及应用,18,(4)中断服务和

8、(5)中断返回,中断处理,对中断源作相应的处理,是中断服务程序的核心; 关中断,若中断服务程序设置了开中断,则此时应该关中断,以保证恢复现场的操作不被打断; 恢复现场,按后进先出的原则,PUSH和POP应配对使用; 中断返回,从堆栈中弹出断点,返回主程序。,2020/7/21,微机原理及应用,19,3、中断优先权管理,中断优先权是事先根据中断源的重要性给每个中断源确定一个中断优先级别优先权。 中断优先权管理就是判别和确定各个中断源的中断优先权。 中断优先权判别方法有软件和硬件两种方法。,2020/7/21,微机原理及应用,20,3、中断优先权管理,(1)软件确定中断优先权 软件法是在CPU响应

9、中断后,用软件查询确定哪个中断源申请中断,先被查询的先响应。 查询次序决定了中断优先权次序,最先被查询的中断源具有最高的优先权。,2020/7/21,微机原理及应用,21,3、中断优先权管理,如图,8个外设只要有中断请求,CPU检测到中断请求信号,响应中断;,读入端口80H的内容,逐位判别确定当前申请中断的优先权最高的中断源,从而进入相应的中断服务程序。,2020/7/21,微机原理及应用,22,3、中断优先权管理,(1)软件确定中断优先权,软件查询流程图,软件查询程序: IN AL,80H ;端口读入状态 TEST AL,80H; JNZ SERVE_A TEST AL,40H JNZ SE

10、RVE_B TEST AL,01H JNZ SERVE_H HLT,* 软件查询次序就是优先权高低的次序; * 软件确定中断优先权不需复杂的硬件电路,简单易实现; * 中断源较多时,查询时间较长,中断响应较慢。,2020/7/21,微机原理及应用,23,3、中断优先权管理,(2)硬件确定中断优先权 由硬件实现中断优先权的判别。 * 常用的硬件电路有:中断优先权编码电路,链式优先权排队电路及专用硬件电路等。 * 利用中断控制器8259A,它具有8个优先权控制,可以通过级联,扩展至64级优先权控制,且每级中断都可设置为允许或屏蔽 。,2020/7/21,微机原理及应用,24,二、8086/8088

11、的中断系统,8086/8088CPU具有一个功能很强、管理高效且简便灵活的中断系统,可以处理多达256种中断源。 采用向量中断方法,对256种中断只需一次间接访问就可获得任一中断源的中断服务程序的入口地址,中断响应快速。 8086/8088CPU有两类中断: * 内部中断 由执行中断指令或特殊事件引起; * 外部中断 由外围设备接口向CPU的中断请求引脚INTR和NMI发出中断请求信号而引起的。,2020/7/21,微机原理及应用,25,二、8086/8088的中断系统,1、8086/8088的中断指令 2、8086/8088的中断分类 3、中断向量表 4、8086/8088中断处理过程,20

12、20/7/21,微机原理及应用,26,1、8086/8088的中断指令,(1)中断指令 指令格式: 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 CS,2020/7/21,微机原理及应用,27,1、8086/8088的中断指令,中断向量就是中断服务程序的入口地址; 中断类型码 n4 即为该中断向量的存放地址; 低字是IP,高

13、字是CS,CPU取出CS和IP,转去执行中断服务程序。 INT n 指令除了使IF0和TF0,对其他标志位没有影响; INT指令(即n=3),称为断点中断指令,用于软件调试。,2020/7/21,微机原理及应用,28,1、8086/8088的中断指令,(2)溢出中断指令 指令格式:INTO;与INT 4等价 指令操作: 溢出中断指令用于带符号数加减法运算后,由于运算溢出而产生中断。 通常,写在一条算术运算指令后: 若运算结果使OF=1,进入中断类型码为4的中断; 否则,按顺序执行下一条指令。,n4 0010H,中断向量存放地址为:,2020/7/21,微机原理及应用,29,1、8086/808

14、8的中断指令,(3)中断返回指令 指令格式:IRET 指令操作:IP,CS,FR依此出栈,SP+6SP 所有中断服务程序,无论是软件中断,还是硬件中断,最后执行的指令一定是IRET,用以退出中断,返回断点。,2020/7/21,微机原理及应用,30,2、8086/8088的中断分类,8086/8088的中断系统可以处理256种不同的中断。 所有可能产生的中断源有:可屏蔽中断INTR、非屏蔽中断NMI、指令中断INT n和特定条件下的中断,分为两类:,内部中断,外部中断,2020/7/21,微机原理及应用,31,2、8086/8088的中断分类,内部中断 CPU不是通过外部中断请求而是通过内部逻

15、辑进入中断,调用相应的中断服务程序,是CPU自启动的中断。 除单步中断外,所有内部中断为非屏蔽型的。 内部中断主要用于解决程序运行中发生的一些意外情况、程序调试、用户定义的中断或者调用系统提供的一些标准中断服务程序。 (1)除法出错中断 (类型0) ; (2)单步中断(类型1); (3)断点中断(类型3); (4)溢出中断(类型4); (5)软件中断,返回,2020/7/21,微机原理及应用,32,2、8086/8088的中断分类,内部中断,(1)除法出错中断 (类型0) CPU在执行触发指令DIV和IDIV时,若发现除数为0,或商超过了寄存器所能表达的范围,就立即产生一个类型为0的内部中断,

16、CPU转入除法错误中断处理程序。 注意:此中断是由CPU自身产生,并没有对应的中断指令。,2020/7/21,微机原理及应用,33,2、8086/8088的中断分类,内部中断,(2)单步中断 (类型1) 此中断也是由CPU自身产生,没有对应的中断指令,它是由CPU对状态标志寄存器中的陷阱标志TF的测试而引起的。 TF1,自动单步中断,用于程序调试。,2020/7/21,微机原理及应用,34,2、8086/8088的中断分类,内部中断,(3)断点中断 (类型3) 执行INT指令就产生一个类型为3的内部中断,称为断点中断 。 和单步中断类似,用于程序调试。,2020/7/21,微机原理及应用,35,2、8086/8088的中断分类,内部中断,(4)溢出中断 (类型4) 溢出中断是由CPU执行一条INTO指令实现的: 当OF1时,执

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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