一、关中断

处理器响应中断后,首先要保护程序的现场状态,在保护现场过程中, CPU 不应该响应更高级中断源的中断请求。否则 ,如果现场保存不完整,在中断服务程序结束后,也就不能正确地恢复并继续执行现行程序。

二、保存断点

为了保证中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点保存起来。断点可以压入堆栈,也可以存入主存的特定单元中。

三、引出中断服务程序

引出中断服务程序的实质就是取出中断服务程序的入口地址送入程序计数器(PC)
通常有两种方法寻址中断服务程序的入口地址:硬件向量法和软件查询法。 
1.硬件向量法是通过硬件产生中断向量地址,再由中断向量地址找到中断服务程序的入口地址
2.软件查询法是用软件编程的办法寻找入口地址。

四、保存现场和屏蔽字

进入中断服务程序后首先要保存现场,现场信息一般指的是程序状态字、中断屏蔽寄存器和CPU中某些寄存器的内容。

五、开中断

这将允许更高级中断请求得到响应, 实现中断嵌套。

六、执行中断服务程序

这是中断系统的核心。不同的中断请求会有不同的中断服务程序。

七、关中断

证在恢复现场和屏蔽字时不被中断。

八、恢复现场和屏蔽字

将现场和屏蔽字恢复到原来的状态。

九、开中断及中断返回

中断服务程序的最后一条指令提交通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。

十、总结

 

知识拓展:

中断嵌套是指中断系统正在执⾏⼀个中断服务时,有另⼀个优先级更⾼的中断提出中断请求,这时会暂时终⽌当前正在执⾏的级别较低的中断源的服务程序,去处理级别更⾼的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执⾏,这个过程就是中断嵌套。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐