欢迎来到天天文库
浏览记录
ID:44962192
大小:226.00 KB
页数:25页
时间:2019-11-06
《第7章 中断系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本章学习要点中断的基本概念8086中断类型及中断优先级判断8086中断处理过程可编程中断控制器8259A及其应用第7章中断系统7.1中断系统概述CPU执行程序过程中,由于内部或某个外部事件发生,使CPU暂时终止正在执行的程序而转向突发事件的处理,处理完毕后又能够自动返回到被终止的程序继续执行,该处理过程称为中断。中断包括:外部事件引起的硬中断(也称外中断)由内部指令或异常产生的软中断(也称内中断或异常)7.1.1中断源及其识别1.中断源(1)设备中断如I/O接口传送,时钟中断等。(2)指令中断由中断指令(INTn)引起,如调用I/O设备的BIOS及DOS系
2、统功能的中断指令和设置断点中断等。(3)故障中断出现电源掉电、奇偶校验错或协处理器中断请求等意外事件。(4)CPU内部运算中断如除法出错、运算溢出及程序调试设置断点中断等。2.中断源的识别(1)查询中断采用软件或硬件查询技术确定发出中断请求的中断源。(2)矢量中断指用中断向量来指示中断服务程序入口地址,每个中断源预先指定一个矢量标志,外设提出中断请求时提供该标志。矢量中断主要靠硬件实现。7.1.2中断处理过程1.中断请求中断源送出中断信号,由中断指令或某些特定条件产生,也可通过CPU引脚向CPU发出中断请求信号。2.中断响应接收到外设中断请求信号时,对于非
3、屏蔽中断,CPU执行完现行指令后立即响应;对于可屏蔽中断要取决于CPU内部中断允许触发器的状态,允许中断时CPU才响应,禁止中断时CPU不响应。CPU响应中断进入中断响应周期时,会自动完成以下操作。(1)关中断;(2)保护现场和断点;(3)形成中断服务程序入口地址3.中断服务中断服务是指CPU执行中断服务程序的过程,中断服务程序结构一般由6部分组成。如图7-1所示。7.1.3中断优先级管理系统中有多个中断源同时请求时,要进行中断优先权的高低排队,然后从高到低响应中断源请求。1.中断优先级排队(1)软件查询法由查询顺序决定,最先查询的中断源具有最高优先权。(
4、2)硬件优先权排队电路分别用编码器或链式电路实现。硬件链式优先权排队电路是利用外设连接在排队电路的物理位置决定其中断优先权,排在最前面的优先权最高,排在最后面的优先权最低。2.中断嵌套CPU响应某一中断源请求正在执行该中断服务程序时,若有优先级更高的中断源申请中断,CPU就应暂停当前正在服务的程序而响应新的中断服务程序,执行完毕后再返回到被暂停的中断程序,直至处理结束返回主程序,这种过程称为中断嵌套或多重中断。7.28086中断系统8086中断系统简单灵活,最多可处理256种不同的中断类型,每个中断源都有相应的中断类型码供CPU识别。7.2.1中断类型1.
5、硬件中断硬件中断由外部硬件产生,8086CPU有两条外部中断请求信号线。(1)非屏蔽中断请求NMI(2)可屏蔽中断INTR2.软件中断(1)除法出错中断。(2)INTO溢出中断。(3)INTn指令中断。(4)断点中断。(5)单步中断。7.2.2中断响应1.软件中断响应对于专用中断,中断类型码是自动形成的,而对于INTn指令,其类型码即为指令中给定的n。在取得了类型码后的处理过程如下:(1)把类型码乘4,作为中断向量表的指针;(2)把CPU的标志寄存器入栈,保护各个标志位;(3)清除IF和TF标志,屏蔽新的INTR中断和单步中断;(4)保存断点,即把断点处的
6、IP和CS值压入堆栈,先压入CS值,再压入IP值;(5)从中断向量表中取出中断服务程序的入口地址,分别送至CS和IP中;(6)按新的地址指针执行中断服务程序。2.硬件中断响应(1)非屏蔽中断响应:当CPU采样到非屏蔽中断请求时,自动提供中断类型码2,然后根据中断类型码查到中断向量表指针,其后的中断处理过程与内部中断一样。(2)可屏蔽中断响应:当INTR信号有效时,如果中断允许标志IF=“1”,则CPU就会在当前指令执行完毕后响应外部的中断请求,转入中断响应周期。7.2.3中断向量表所谓中断向量,实际上就是中断服务程序的入口地址。通常在内存的最低1KB区域(
7、00000H~003FFH)建立一个中断向量表,分成256个组,存放着256个中断服务程序入口地址(即中断向量),每个中断向量为4个字节,分别存放中断服务程序的段地址和段内偏移量。两个高字节用于存放中断服务程序的段地址,两个低字节用于存放中断服务程序的偏移量。执行INT指令时,中断类型号乘上4,为中断向量表入口地址。取出4个字节单元的内容,即为中断服务程序入口地址,送入IP和CS。中断向量表如图7-9所示。7.2.4中断管理8086CPU可管理256种中断。在8086中断系统中,无论是外部中断还是内部中断,系统都分配给每一个中断源一个确定的中断类型码,其长
8、度为一个字节,故系统中最多允许有256个中断源。每一种中断类型码都
此文档下载收益归作者所有