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

1、中断

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

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





2、异常

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

  • 错误:由某种错误情况引起,一般可以被错误处理程序纠正。
  • 陷阱:指在执行了一条特殊指令后引起的异常。
  • 终止:指严重的不可恢复的错误,将导致程序终止的异常。


3.中断的一般处理过程    

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

(1)中断响应   

  对中断请求的整个处理过程是由硬件件和软件结合起来而形成的一套中断请求机构实施的,发生中断时,CPU暂停执行当前的程序,而转去处理中断。这个硬件对中断请求作出反应的过程,称为中断响应。       
一般来说,中断响应顺序执行下述三步动作:①中止当前程序的执行;②保存原程序的断点信息;③转到相应的处理程序。通常CPU在执行一条指令后,立即检查有无中断请求。如有,则立即作出响应。    

(2)中断处理    

中断响应后,就由软件(中断处理程序)进行相应处理。中断处理过程大致分为四个阶段:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中断程序现场(即中断返回)。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值