1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > x86异常处理与中断机制(3)中断处理过程

x86异常处理与中断机制(3)中断处理过程

时间:2019-06-23 05:00:06

相关推荐

x86异常处理与中断机制(3)中断处理过程

上一节讲完了根据中断类型号找中断服务程序的过程,现在着重说明一下更加完整的中断处理过程吧。

本节以8086时代的中断处理过程为例进行说明,主要分两大部分

硬件处理软件处理

需要注意,这不是绝对的,得看实际情况,简单来说就是,如果硬件本来就完成了相关必要动作,中断服务程序就不用再执行了,如果没有,就需要写入程序中执行相关操作。

1 中断处理过程

1.1 前提:产生&检测 中断

中断处理的前提,是产生中断,然后检测到中断,否则怎么处理呢?

对于中断的产生,分为内部和外部,内部就是指令执行产生的,具体的就不说了,还有来自外部的,一般特别的外设比如电源断电无法屏蔽,其他的外设比如鼠标键盘,通过中断控制器如8259A产生外部中断。

至于中断的检测,内部中断一般是有相关的硬件能够直接检测到并且释放某种信号,外部中断则依赖于一些寄存器标志位之类的,具体看情况。

1.2 中断处理

软硬件的分工不是绝对的,我们需要根据实际情况进行分析,硬件干了的,软件就不用干了,硬件没干的软件就得干。

硬件处理

软件处理

中断的处理过程都是类似的

产生中断,检测到中断保护现场找到对应中断服务程序执行中断处理程序恢复现场返回继续执行

另外,中断服务程序本身,也是一段程序,可能在其执行过程中产生中断,也就是中断嵌套,这取决于中断开关,具体细节看实现,不一定。

总而言之,通过一系列的抽象,我们只能获取中断处理的大致过程,实际的过程与实际情况紧密关联,情况多变,需要自己多加使用和练习。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。