中断屏蔽技术:主要用于多重中断
多重中断:(中断嵌套)当CPU正在执行某个中断服务程序时,另一个中断源又提出了新的中断请求,而CPU又响应了这个新的请求,暂时停止正在运行的服务程序,转去执行新的中断服务程序,这称为多重中断,又称中断嵌套。
如果CPU对新的请求不予响应,待执行完当前的服务程序后再响应,即为单重中断。
中断系统若要具有处理多重中断的功能,必须具备各项条件。
•1)提前设置“开中断”指令:一般情况下,CPU进入中断周期后,由中断隐指令自动将EINT置“0”,即关中断。
中断隐指令指CPU响应中断之后,经过某些操作,转去执行中断服务程序的一种操作。
这就意味着CPU在执行中断服务程序中禁止响应新的中断请求。CPU若想再次响应中断请求,必须开中断,
这一任务通常由中断服务程序中的开中断指令实现。
多重中断示意图如下:
•2)、优先级别高的中断源有权中断优先级别低的中断源。
在满足1的前提下,只有优先级别更高的中断源请求才可以中断比其级别低的中断服务程序,反之则不然。
为了保证级别低的中断源不干扰比其级别高的中断源的中断处理过程,可采用屏蔽技术。
例如,有A、B、C、D4个中断源,其优先级按A-》B-》C-》D由高向低次序排列。在CPU执行主程序期间,同时出现了B和C的中断请求,由于B级别高于C,故首先执行B的服务程序。
当B的服务程序执行完返回主程序后,由于C请求未撤销,故CPU又再去执行C的中断服务程序。若此时又出现了D的请求,因为D级别低于C,故CPU不响应。当C的服务程序执行完返回主程序后再去执行D的服务程序。
若此时又出现了A请求,因A级别高于D,故CPU暂停对D级中断服务程序的执行,转去执行A级中断服务程序,等A级服务程序执行完后,再去执行D级中断服务程序。上述中断处理示意图如下:
-
cpu
+关注
关注
68文章
10825浏览量
211148 -
中断
+关注
关注
5文章
895浏览量
41393 -
程序
+关注
关注
116文章
3777浏览量
80851 -
中断源
+关注
关注
0文章
16浏览量
7984
发布评论请先 登录
相关推荐
评论