您的位置:首页 > 运维架构 > 网站架构

X86架构了解(二)——中断与异常

2015-05-27 15:09 127 查看

1、中断

中断提供给外部设备一种“打断CPU当前执行任务,并响应自身服务”的手段。中断(interrupt)是异步的事件,典型的比如由I/O设备触发;异常(exception)是同步的事件,典型的比如处理器执行某条指令时发现出错了等等

中断分类:按照是否可以屏蔽:

2、异常

和中断相比,最大的不同在于它是程序的执行过程中同步发生。根据产生的原因和严重程度分类如下:

错误:由某种错误情况引起,一般可以被错误处理程序纠正。

陷阱:指在执行了一条特殊指令后引起的异常。

终止:指严重的不可恢复的错误,将导致程序终止的异常。



3.中断的一般处理过程

中断处理一般分为中断响应和中断处理两个步骤。中断响应由硬件实施,中断处理主要由软件实施。

(1)中断响应

对中断请求的整个处理过程是由硬件件和软件结合起来而形成的一套中断请求机构实施的,发生中断时,CPU暂停执行当前的程序,而转去处理中断。这个硬件对中断请求作出反应的过程,称为中断响应。

一般来说,中断响应顺序执行下述三步动作:①中止当前程序的执行;②保存原程序的断点信息;③转到相应的处理程序。通常CPU在执行一条指令后,立即检查有无中断请求。如有,则立即作出响应。

(2)中断处理

中断响应后,就由软件(中断处理程序)进行相应处理。中断处理过程大致分为四个阶段:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中断程序现场(即中断返回)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: