中断的分类

本文详细介绍了80x86体系结构中中断和异常的区别,包括可屏蔽中断、非可屏蔽中断、处理器探测到的异常(故障、陷阱、异常终止)以及软中断。中断由硬件随机产生,异常由CPU执行指令时触发。异常可以分为可纠正的故障、调试用的陷阱和不可恢复的异常终止。软中断则是由程序员通过特定指令触发的编程异常,常用于系统调用和调试。
摘要由CSDN通过智能技术生成

这是我们疯狂内核系列的中断处理专题开山之作,中断,广义的来说通常被定义为一个事件,该事件触发改变处理器执行指令的顺序。狭义地来说,针对80x86体系,中断被分为中断和异常,又叫同步中断和异步中断。注意广义的中断和狭义的中断千万不要混淆,以后我的博文中所有所谓的“中断”二字,就是指狭义的中断,即Linux处理80x86异步中断的细节。我们首先必须好好理清一下80x86体系中,中断和异常的区别:

中断:由其他硬件依照CPU时钟信号随机产生。
异常:由CPU本身执行指令时,CPU控制单元在一条指令终止之后产生。

更进一步,Intel文档中又把中断和异常继续进行了细分:

中断:
1.      可屏蔽中断:当中断被屏蔽,则CPU控制单元就忽略它。这里提一下,所有的IRQ中断都是可屏蔽中断。
2.      非可屏蔽中断:总由CPU辨认并处理。所以,其为非常紧急的硬件故障。

异常:
1.      处理器探测到得异常

(1)故障(fault)

通常可以纠正,所谓的“纠正”,就是在执行一条指令时发现故障,转而执行对应的异常处理程序;一旦纠正完毕,即异常处理程序完成,程序就可以在不失连贯性的情况下,重新执行刚才那条发现故障的指令。保存在eip寄存器中的值是引起故障的指令地址,因此,当异常处理程序终止时,那条指令会被重新执行。
 
(2)陷阱(trap)

陷阱的主要用途是为了调试程序。在这种情况下,eip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值