中断与中断管理.ppt

上传人:小飞机 文档编号:5170574 上传时间:2023-06-10 格式:PPT 页数:33 大小:1.79MB
返回 下载 相关 举报
中断与中断管理.ppt_第1页
第1页 / 共33页
中断与中断管理.ppt_第2页
第2页 / 共33页
中断与中断管理.ppt_第3页
第3页 / 共33页
中断与中断管理.ppt_第4页
第4页 / 共33页
中断与中断管理.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《中断与中断管理.ppt》由会员分享,可在线阅读,更多相关《中断与中断管理.ppt(33页珍藏版)》请在三一办公上搜索。

1、第9章 中断与中断管理,9-1 中断原理9-2 中断系统组成及其功能9-3 中断源识别及中断优先权9-4 8086中断系统9-5 8086CPU的中断管理9-6 可编程中断控制器8279A简介,9-1 中断原理,中断是为了解决高速CPU与慢速外设之间的矛盾而引出的一个概念。,从无条件传送、条件传送到中断传送,无条件传送特点:无需条件,CPU直接与外设数据传送。条件传送特点:CPU主动查询外设状态,传输条件具备后,才数据传送。中断传送特点:外设主动向CPU发出请求,CPU与之进行数据传送。,引入条件传送根本原因是:CPU与外设工作不同步。引入中断传送根本原因是:嫌条件传送时,CPU的工作效率低。

2、,中断指CPU暂时中止正在执行的主程序,转去执行请求中断的那个外设的中断服务程序,处理完后,又返回主程序的过程。,何谓中断?,某人看书电话铃响暂停看书书中作记号电话谈话继续看书,执行主程序中断信号INTR暂停执行主程序当前CS:IP入栈执行I/O程序 返回主程序,日常事务中断请求中断响应保护断点中断服务中断返回,中断传送方式:,可以解决CPU与外设之间速度匹配的问题,使计算机可以及时处理系统中许多随机的参数和信息。提高了计算机处理故障与应变的能力。,9-2 中断系统组成及其功能,为实现中断功能而设置的各种硬件和软件的集合,称为中断系统。,一、与中断有关的触发器,中断请求触发器,其输出可作为中断

3、请求信号,在满足一定条件的情况下把信号发送给CPU,且在CPU未响应时能一直保持。当CPU满足一定条件下响应该中断请求信号,执行相关操作后,能撤消该中断请求信号。,中断系统通常包含3个重要触发器。,其作用就是产生中断请求信号给CPU。,能够发出中断请求信号的外设称为中断源。外设:如键盘、打印机等数据通道:如磁盘、磁带机时钟电路:如8253故障源:如掉电,需保存信息调试程序时设置的中断源:如断点、单步,中断屏蔽触发器,其功能是决定中断请求触发器的输出信号是否可以作为中断请求信号向CPU发送。,通常CPU可以对中断屏蔽触发器进行操作,从而达到对中断源的控制,如:CPU不准备响应某个外设中断,可将中

4、断屏蔽触发器复位,不让该外设的中断请求触发器的输出信号通过与门。此操作称之为中断屏蔽。CPU将中断屏蔽触发器置1,则准备响应该外设中断。,中断允许触发器,中断允许触发器位于CPU内部,其功能类似于中断屏蔽触发器。8086CPU的中断允许标志位IF就是一个中断允许触发器。IF=1,允许CPU响应中断(CPU开中)IF=0,禁止CPU响应中断(CPU关中),8086CPU设置了两种类型硬件中断:可屏蔽中断:受中断允许触发器控制,只有IF=1,CPU才响应中断请求信号。不可屏蔽中断:不受中断允许触发器控制,有中断请求信号,CPU必须响应。,二、中断条件,中断屏蔽触发器处于非屏蔽状态,使外设的中断请求

5、信号能发给CPU。中断允许触发器处于开中状态,使CPU允许响应中断。此触发器状态可由STI(IF=1)和CLI(IF=0)指令来改变。,中断请求要获得CPU响应,必须满足两个条件:,三、中断响应过程,中断源进行中断申请外设置中断请求触发器有效,在CPU未响应时能一直保持。并且中断屏蔽触发器处于非屏蔽状态。,中断响应无总线请求。CPU开中。CPU执行完现行指令。,CPU响应中断后,首先自动完成3项工作:自动关中断。自动保护断点,即将CS:IP及FR的内容压栈。自动给出中断入口,即将中断服务程序的入口地址装入CS:IP,转入相应的中断服务程序执行。,中断处理,可见,一旦CPU响应中断后,会立刻转入

6、中断服务程序之中,而中断服务程序中所要完成的工作通常是:,9-3 中断源识别及中断优先权,一个微机系统往往有多个外设,当CPU响应外设中断请求后,必须识别出是哪一台外设请求中断。然后再转入对应于该外设的中断服务程序。常用的中断源识别方法有:查询中断和矢量中断。,一、中断源识别,查询中断,需设置中断查询接口电路,利用程序来查询设备的请求中断状态。如图:一旦CPU响应了中断,先执行查询程序查找中断源。,IN AL,IPORT;从输入接口取中断信息TEST AL,80H;是0号设备请求吗?JNZ SEV0;是转0号设备服务程序TEST AL,40H;是1号设备请求吗?JNZ SEV1;是转1号设备服

7、务程序TEST AL,20H;是2号设备请求吗?JNZ SEV2;是转2号设备服务程序TEST AL,10H;是3号设备请求吗?JNZ SEV3;是转3号设备服务程序,四个中断源,矢量中断,要求外设:不仅提供中断请求信号,而且还得提供一个设备号(又称中断类型号)。CPU响应外设的中断申请的过程是:,注意:矢量中断识别中断源的速度最快。8086CPU采用的就是矢量中断。,#3,中断类型号可以由专用的中断控制芯片提供,也可以由接口芯片74LS245提供。,中断类型号80H产生电路,8个中断类型号产生电路,二、中断优先权,多个外设同时申请中断时,因8086CPU只有一条INTR线,这就有一个优先权问

8、题,谁优先权高,先响应谁。制定优先权有两种方法:软件方案和硬件方案。,软件方案,指各个中断源的优先权由软件安排,按查询顺序决定,先被查询的中断源具有高的优先权。,IN AL,IPORTTEST AL,80HJNZ SEV0TEST AL,40HJNZ SEV1TEST AL,20HJNZ SEV2TEST AL,10HJNZ SEV3,四个中断源,硬件方案(不作要求),8086有两类中断:硬件中断由外设的请求引起,又叫外中断。8086有两条外部中断请求线NMI(不可屏蔽中断)和INTR(可屏蔽中断)软件中断由执行指令所引起,又叫内中断,9-4 8086中断系统,8086采用矢量中断。即通过中断

9、类型号来寻找中断服务程序入口地址。其方法:,8086为每个中断都安排一个中断类型号(00HFFH),能处理256个中断。8086要求在内存前1K字节(RAM:00000H003FFH)建一个中断服务程序的地址表(或叫中断向量表),中断服务程序的入口地址事先存入该区域中,每个入口地址占4个字节。高地址单元放入口地址的段地址,低地址单元放偏移地址。中断服务程序的入口地址从“中断类型号4”的RAM区中找到。,中断类型号和中断服务程序入口地址的关系,一、不可屏蔽中断,由8086的NMI脚输入,不受中断允许触发器控制,有中断请求信号,CPU必须响应。中断类型号=02H,CPU内部直接产生,无须/INTA

10、回应。,NMI中断,二、可屏蔽中断,由8086的INTR脚输入,受中断允许触发器控制,只有IF=1,CPU才响应中断请求信号。中断类型号由外设提供。,属于执行指令引起的中断,分三类:,处理运算过程中某些错误的中断执行程序时,为及时处理运算中某些错误,CPU以中断方式中止正在运行的程序,提醒程序员改错。,三、软件中断,除法错中断(中断类型号=0)执行除法指令时,若发现除数为零或商超过了寄存器所能表 达的范围,则立即产生除法错中断。,例:ADD AX,BX INTO;测试加法的溢出,溢出中断INTO(中断类型号=4)运算时,当OF=1,执行INTO指令,产生溢出中断,打印出一个错误信息,结束时不返

11、回,而把控制权交给操作系统。若OF=0,则INTO不产生中断,CPU执行下一条指令。,单步中断(中断类型号=1)当TF=1时,每条指令执行后,CPU会自动产生一个类型1的中断(单步中断)。使用单步中断可一条一条指令地跟踪程序流程,观察各个寄存器及存储单元变化,帮助分析错误原因。,为调试程序而设置的中断,断点中断(中断类型号=3)断点可设置在程序的任何地方,它相当把一条INT 3 指令插入程序中。CPU每执行到断点处,INT 3 指令便产生一个中断。,CPU执行完一条INT n指令后,会立即产生中断,并且调用系统中相应的中断处理程序来完成中断功能,中断指令的操作数n指出中断类型。,软中断(中断指

12、令INT引起的中断),又例:INT 12H完成对存储器容量的测试。返回时,AX中的数据即为存储器容量(KB为单位)。,例:DOS功能调用INT 21H,具有很强的功能。,9-5 8086CPU的中断管理,一、8086CPU的中断处理顺序,8086对中断的处理流程:,二、8086CPU的中断服务入口地址表(中断向量表),中断向量表建在内存的前1K字节(RAM:00000H003FFH)。中断向量表中存放的是各中断服务程序的入口地址(中断向量)。每个入口地址占4个字节。前2单元放偏移地址,后2单元放段地址。程序运行转入中断服务程序时,入口地址的偏移地址将装入IP中,段地址装入CS。8086对不同的

13、中断是以中断类型号来区别的。每种中断配以固定的中断类型号。在中断发生时,借助中断类型号,能使程序转入相对应的中断服务程序。,8086中断向量表的基本概念,中断类型号与中断向量表的关系如何?简单地说,中断类型号是访问中断向量表的索引号。也就是说,中断向量在中断向量表中的存储顺序是以中断类型号为索引的。中断类型号乘4就是该种中断的中断向量在中断向量表中的开始地址。,如:中断类型号为0,其中断向量在向 量表的00000H00003H地址。中断类型号为1,其中断向量在00004H00007H地址,中断类型号为255时,其中断向量应在003FCH003FFH地址。,例:中断类型号为32的中断源对应的中断

14、入口地址存放在 0000:0080H(420H=80H)开始的4个单元中。,若在00080H00083H这4个单元中存放的值分别为:10H、20H、30H、40H。则32号中断的程序入口地址为4030H:2010H。,中断类型号的范围为0255,即最多256个。类型号04是8086规定的专用中断,有着固定的意义和处理功能。类型号531为系统使用或保留。类型号32255可由用户自行使用。,8086中断向量表的安排,三、中断入口地址设置,应该明确的概念:中断类型号只与存放中断向量的地址有关,存放中断向量的地址等于中断类型号乘以4。中断类型号不能决定中断向量本身和中断服务程序的功能。中断向量(中断服

15、务程序的入口地址)和中断服务程序是软件开发者确定和设计的。如:,在执行除法指令出错时,会引起类型号0中断,存放中断向量的地址为00000H00003H,这是确定不变的。但中断向量本身和中断服务程序则是系统软件开发者确定和设计的。在系统启动时,操作系统不仅要把这个中断服务程序装入内存,还要把服务程序的入口地址装入00000H00003H单元。,用户如何设置中断入口地址(中断向量),对用户而言,运行自己编制中断服务程序时,需要考虑两个因素:中断类型号(可在32255中选择)。中断入口地址。,中断入口地址的建立方法通常有:(基本了解)用串指令建立用伪指令建立用系统调用方法建立直接装入法。,一、825

16、9A芯片特性,单一的+5V电源可管理8个中断多片8259通过级联可管理多达64个中断,9-6 可编程中断控制器8279A简介,8259A,数据总线缓冲器:作为数据总线的驱动器读/写逻辑:接收CPU的读写控制信号,完成内部逻辑的控制级联缓冲/触发器:实现级联扩展控制逻辑:根据设定的工作方式控制内部各个部件的工作,二、8259A的内部结构,IRR:记录中断请求PR:中断优先级判别ISR:记录正在处理的中断IMR:屏蔽中断请求,三、8259A的应用,端口地址20H、21H中断类型号08H0FH,四、8259A的工作过程,五、8259A引脚信号,以下内容均不作要求:,六、8259A的工作方式,七、8259A的编程,第九章作业:6、7、8、,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号