中断的处理过程(详细解说版)

一个完整的中断过程一般经历以下五个步骤:

         1.中断请求
         2.中断优先级判定(简称中断判优)
         3.中断响应
         4.中断处理
         5.中断返回
中断响应过程
         CPU在每执行完一条指令后,如果允许CPU响应,则CPU自动完成以下工作:
         ①取中断类型号N。启动中断响应总线操作,在第2个中断响应总线周期读取中断类型号N。
         ②标志寄存器入栈。执行1个总线写周期,将PSW的内容压入堆栈。
         ③清除IF和TF标志。禁止硬件中断和单步中断,使IF= 0和TF=0。
         ④CS和IP(断点)入栈。执行2个总线写周期,依次将CS和IP内容压入堆栈。
         ⑤获取中断向量。执行2个总线读周期,在中断向量表中的NX 4开始的单元取两个字分别送IP和CS,获取中断处理程序入口地址。CPU从新的 CS: IP值开始执行中断处理子程序。

把中断的处理过程和中断响应过程何在一块就是下图
在这里插入图片描述
那么用大白话描述中断的处理过程:
         1.正在执行一个程序(主程序),执行到一个位置的时候,突然有了中断请求,在这会把所有的中断进行判优,找到优先级别最高的中断,进行执行。
         2.有了中断请求以后,会进行中断的响应过程,即关中断,保护现场,保护断点。
         关中断,就是把中断先关闭,防止外界的中断影响处理结果
         保护现场(PSW入栈,IF=TF清零)PSW入栈,就是把现在处理结果的标志位保存在堆栈中,IF=TF=0就相当于把一切的干扰排除,不让单步中断等影响处理结果。
         保护断点(CS,IP入栈)CS:IP相当于是断点,断点就是在哪里打断的点,如果执行完中断以后,还要返回到断点接着执行主程序
3.通过中断类型号得到中断向量的入口地址,中断向量表中的NX 4开始的单元取两个字分别送IP和CS,获取中断处理程序入口地址。CPU从新的 CS: IP值开始执行中断处理子程序。
4.通过中断的入口地址,找到中断的位置,执行中断,执行完成以后,再返回断点,执行主程序
5.返回断点要执行(弹出CS、IP、psw)找到原来的位置接着执行主程序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值