微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统

上传人:E**** 文档编号:89562599 上传时间:2019-05-28 格式:PPT 页数:35 大小:814.50KB
返回 下载 相关 举报
微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统_第1页
第1页 / 共35页
微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统_第2页
第2页 / 共35页
微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统_第3页
第3页 / 共35页
微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统_第4页
第4页 / 共35页
微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统》由会员分享,可在线阅读,更多相关《微机原理与接口技术 教学课件 ppt 作者 周鹏ppt 第7章中断系统(35页珍藏版)》请在金锄头文库上搜索。

1、第7章 中断系统 7.1 中断概述 7.1.1 中断的概念 中断是指计算机的CPU在执行主程序时,收到了外部的或内部的中断请求,因而暂时中止主程序的执行,转去执行一段预先编制好的中断服务程序来处理这一中断请求,待处理完毕之后,又返回主程序接着被中断处继续执行,这样的一个过程就称为中断。 7.1.2 中断源 中断源有以下几种: 1外设中断源。 2故障中断源。 3软件中断源。 4为调试而设置的中断源。 7.1.3 中断类型 1外部中断源和外部中断 外部中断源即硬件中断源。8086提供了两个引脚来接收外部中断源的中断请求信号:可屏蔽中断请求引脚和不可屏蔽中断请求引脚。,开始,2内部中断源和内部中断

2、内部中断源是来自CPU内部的中断事件。内部中断主要有以下几种情况: (1)除法错误 (2)软件中断 中断指令INT n。 断点中断INT 3。 溢出中断INTO。 (3)单步中断 3中断优先级 系统将所有的中断划分为四级,以0级为最高,依次降低,各级情况如下: 0级-除单步中断以外的所有内部中断 1级-不可屏蔽中断 2级-可屏蔽中断 3级-单步中断 不同级别的中断同时申请时,CPU根据级别高低依次决定响,应顺序。 7.1.4 中断类型号 系统中的每个中断源指定了一个唯一的编号,称为中断类型号。8086获取中断类型号的方法为: 1可屏蔽中断(硬件中断):由中断控制器8259提供。 2软件中断:在

3、中断指令INT n 中,参数n即为中断类型号。 3除上面二种情况外,其余中断都是固定类型号:除法错(类型0)、单步中断(类型1)、断点中断INT 3(类型3)、溢出中断INTO(类型4),不可屏蔽中断(类型2)。 7.1.5 中断矢量表 中断服务程序的地址叫做中断矢量,将全部中断矢量集中在一张表中,这张表叫做中断矢量表。PC机中断矢量表的位置固定在内存的最低1K字节中,即00000H003FFH处。每一个中断服务程序的入口地址在表中占4字节:前2字节为偏移量,后2字节为段基址。如图71所示(见下页)。,图7-1,7.2 中断处理过程 7.2.1 中断请求 中断处理的第一步是中断源发出中断请求,

4、这一过程随中断源类型不同而出现不同的特点,具体如下: 1外部中断源的中断请求 .可屏蔽中断请求 INTR引脚上的中断请求称为可屏蔽中断请求,这种请求8086是否响应取决于标志寄存器的IF标志位的值。IF1为允许中断,8086可以响应INTR上的中断请求;IF0为禁止中断。 由于外部中断源有很多,而8086的可屏蔽中断请求引脚只有一根,这又产生了如何使得多个中断源合理共用一根中断请求引脚的问题。解决方法有三种:软件查询方式、简单硬件方式和专用硬件方式。 .非屏蔽中断请求 NMI引脚上的中断请求称为不可屏蔽中断请求(或非屏蔽中断请求),这种中断请求CPU必须响应。,2内部中断源的中断请求 内部中断

5、请求由CPU在下列两种情况下自动触发: 其一是在系统运行程序时,内部某些特殊事件发生(如除数为0,运算溢出或单步跟踪及断点设置等); 其二是CPU执行了软件中断指令INT n。 PC机中完整的中断系统的结构如下图所示。,7.2.2 中断响应 1可屏蔽外部中断请求的中断响应 在可屏蔽外部中断请求的中断响应周期中,8086自动完成如下操作: (1)连续发两个中断响应信号INTA,完成一个中断响应周期。 (2)关中断,即将IF标志位清0。 (3)保护现场。这包括将断点地址及标志寄存器FLAGS内容 压入堆栈。 (4)在中断响应周期的第二个总线周期中,中断控制器已将 发出中断请求外设的中断类型号送到了

6、系统数据总线上, 8086读取此中断类型号,并根据此中断类型号查找中断 矢量表,找到中断服务程序的入口地址,将入口地址中 的段基址及偏移量分别装入CS及IP,一旦装入完毕,中 断服务程序就开始执行。 2不可屏蔽外部中断请求的中断响应 对比可屏蔽中断请求的响应过程,NMI上中断请求省略了第1步及第4步中的从数据线上读中断类型号,其余步骤相同。,3内部中断的中断响应 内部中断的中断响应除不用检测NMI引脚外,其余同不可屏蔽外部中断请求的中断响应。 7.2.3 中断处理 中断服务程序一般由4部分组成:保护现场、中断服务、恢复现场、中断返回。 7.2.4 中断返回 在中断服务程序的最后,应安排一条中断

7、返回指令,以便完成向主程序的返回。 中断返回指令指令的格式为:IRET 中断返回指令完成如下功能: (1)从栈顶弹出一个字IP, (2)再从栈顶弹出一个字CS, (3)再从栈顶弹出一个字FLAGS IRET指令执行完后,CS、IP恢复为原中断前的值,CPU从断点处继续执行原程序。在所有中断处理过程中,以可屏蔽,中断的过程最为复杂,如图74所示。,7.3 可编程中断控制器8259A 7.3.1 8259A的结构与引脚 18259A的内部结构 8259A内部结构如图75所示(见下页),它由8个部分组成: (1)数据总线缓冲器 (2)读/写控制逻辑 (3)级联缓冲器/比较器 (4)中断请求寄存器IR

8、R (5)中断屏蔽寄存器IMR (6)正在服务寄存器ISR (7)优先权分析器PR (8)控制逻辑 28259A的引脚 8259A为28脚双列直插式封装,外部引脚如图76所示。 对部分引脚功能说明如下:,图75 8259A内部结构,(1)A0:端口选择引脚,用于指示8259A的哪个端口被访问,8259A需要2个连续端口地址,其中一个奇地址,一个偶地址,且偶地址较低,奇地址较高。 对于8088系统,将8259A的D7D0与CPU的D7D0相连接,8259A的A0与CPU的A0相连。下为图7-6 8259A外部引脚图,对于8086系统,一般也是将8259A的D7D0与CPU的D7D0相连接,但要C

9、PU的A1与8259A的A0相连,将CPU的A00作为8259A的片选条件之一。这样,将8086的二个连续的偶地址A1A000,A1A010转换为8259A的一个偶地址和一个奇地址,从而满足了8259A的地址要求。 (2)CAS2CAS0:双向级联总线,8259A单片工作时不用这些引脚。级联工作时,主片8259A的CAS2CAS0与从片8259A的CAS2CAS0连接线,构成如图77所示结构(见下页)。 (3)SP/EN:主从定义/缓冲器方向,这是一根双功能引脚,当8259A工作在缓冲方式时,它是输出引脚,用来控制收发器的传送方向。当8259A工作在非缓冲方式时,它是输入引脚,用以指明该片是主

10、片还是从片,SP/EN1,该片为主片;SP/EN0,该片为从片。,图7-7,7.3.2 8259A中断响应过程及时序 中断响应过程如下: (1) 当IR7IR0中有一个或几个中断源变成高电平时,使相应的IRR位置位。 (2) 8259A对IRR和IMR提供的情况进行分析处理,当请求的中断源未被IMR屏蔽时,如果这个中断请求是唯一的,或请求的中断比正在处理的中断优先级高,就从INT端输出一个高电平,向CPU发出中断请求。 (3) CPU在每个指令的最后一个时钟周期检查INT输入端的状态。当IF为“1”且无其它高优先级的中断(如NMI)时,就响应这个中断,CPU进入两个中断响应周期。 (4) 在C

11、PU第一个INTA周期中,8259A接收信号时,将ISR中当前请求中断中优先级最高的相应位置位,而对应的IRR位则复位为“0”。 (5) 在CPU第二个INTA周期中,8259A收到第二个INTA信号时,送出中断类型号。,整个过程的时序如下图78所示。 7.3.3 8259A的工作方式 1中断优先级的设置方式 (1)全嵌套方式 这种方式下,外设中断请求的优先级是固定的。IR0最高,IR7最低,其它依次类推。 当有一个中断请求IRi被响应时,中断服务寄存器ISR中的相应位置“1”,直到由到中断结束命令EOI。 图7-8中断响应周期时序,当一个中断被响应后,就会自动屏蔽同级及低级中断请求,但能开放

12、高级中断请求。 (2)特殊全嵌套方式: 当一个中断被响应后,只屏蔽掉低级的中断请求,而允许同级及高级的中断请求。该方式一般用于多片8259A级联的系统中,主片采用此方式,而从片采用一般全嵌套方式。 (3)优先级自动循环方式 这种方式下,某个中断源被服务后,其优先级自动降为最低,它后面的中断源按顺序递升一级。 刚开始时优先级仍是固定的,即IR0最高,IR7最低。 (4)优先级特殊循环方式 同优先级自动循环方式,但一开始时的优先级可以设定。 2中断结束方式 (1)自动结束方式(AEOI方式) 当一个中断请求被响应后,在收到第一个INTA信号后,8259A将ISR中的对应位置“1”,在收到第二个IN

13、TA信号后,8259A将ISR中的对应位清0。,(2)普通结束方式(普通EOI方式) 这种方式是在中断服务程序结束前(即CPU执行IRET指令)前,用OUT指令向8259A发一个中断结束命令字,8259A收到此结束命令后,就会把ISR中优先级别最高的置“1”位清0,表示当前正在处理的中断已结束。 (3)特殊中断结束方式(特殊EOI方式) 所谓特殊EOI方式,就是中断服务程序向8259A发送一特殊EOI命令,该命令中指明将ISR中的哪一位清0。 38259A与系统总线的连接方式 (1)数据缓冲方式 8259A的数据总线与系统数据总线间加入双向总线驱动器即为数据缓冲方式。在此方式下,8259A的/

14、引脚为输出引脚 (起作用),用来控制收发器的收发方向。 (2)非缓冲方式 将8259A直接与系统总线相连即为非缓冲方式。在此方式下,8259A的SP/EN引脚为输入引脚(起作用),决定8259A是主片还是从片,为1表示8259A为主片,为0表示为从片。,7.3.4 8259A的命令字 PC/XT中,8259A所占的端口地址为20H,21H。 1初始化命令字 (1) 初始化命令字ICW1(表见课本) ICW1必须写入8259A的偶地址端口,即A00。 各位的控制功能为: D0:IC4,用以决定初始化过程中是否需要设置ICW4。 如若IC40,则不要写入ICW4;若IC41时,则需要写入 ICW4

15、。 D2:ADI,在8086/8088系统中这一位无效。 D3:LTIM,用来设定中断请求输入信号IRi的触发方式。 若LTIM0,设定为边沿触发方式。若LTIM1,设定为 电平触发方式。 D4:标志位,D41表示当前写入的是ICW1初始化命令字。D5D7:在8086/8088系统中,这三位不用。 (2) 初始化命令字ICW2,ICW2必须写入奇地址端口。 该命令字用以设置8259A在第二个中断响应周期时提供给CPU的中断类型码的高5位。 (3) 初始化命令字ICW3 ICW3必须写入奇地址端口。本命令字用于级联方式下的主/从片设置。对于主片,ICW3的格式和各位含义见课本; ICW3的D7D

16、0与8个中断请求输入引脚IR7IR0一一对应,ICW3的某位为1,则对应的中断请求输入引脚是从片8259A;某位为0,则对应的中断请求输入引脚是外设。对于从片,ICW3的格式和各位含义见课本; ID0ID23位从片标志位可有8种编码,表示从片的中断请求输出被连到主控制器的哪一个中断请求输入端IRi上。 (4) 初始化命令字ICW4 ICW4必须写入奇地址。只有当ICW1中的IC41时,才要设置ICW4,其各位含义为: D0:uPM,若uPM1,则8259A用于8086/8088系统;若Upm 0,则8259A用于8080/8085系统。,D1:AEOI,用于选择8259A的中断结束方式。当AEOI1时, 设置中断结束方式为自动结束方式;当AEOI0时8259A

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

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

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