中断分类(异常 与 中断)

中断分类中断可分为同步(synchronous)中断和异步(asynchronous)中断。

可屏蔽中断同步中断(异常)不可屏蔽中断中断故障异步中断(中断)陷阱中止图 6.1中断分类同步中断由 CPU 本身产生,又称为内部中断。

这里的同步是指中断请求信号与代码指令之间的同步执行,即只有在一条指令执行完毕后,而不是执行期间,CPU 才会发出中断。异步中断由其他硬件设备产生,又称为外部中断。

与同步中断相反,异步中断可于任何时间产生,包括指令执行期间。通常将同步中断称为异常(exeption),将异步中断称为中断(interrupt),我们也将采用这种说法。

异常产生于 CPU 在指令执行期间检测到异常或非法的条件时,与当前正在执行的指令有直接的联系,比如,执行除法指令时,除数为 0。而中断通常用于指示设备的特定操作已经完成,与当前正执行的指令之间并没有直接联系。异常包括故障(Fault)、陷阱(Trap)和中止(Abort)。故障是指在引起异常的指令之前,把该异常情况通知给系统的一种异常。故障处理结束后,返回到引起故障的指令并执行,比如被 0 除。陷阱是指在引起异常的指令之后,把该异常情况通知给系统的一种异常。

在转入相应的处理程序进行陷阱处理时,引起陷阱的指令应该已经正常完成,因此陷阱处理结束后,将返回到引起陷阱的指令的下一条指令并执行。中止是在系统出现严重情况时,通知系统的一种异常。引起中止的指令是无法确定的,产生中止时,正执行的程序不能被恢复执行,比如硬件故障。


中断包括可屏蔽中断(Maskable interrupt)和不可屏蔽中断(Nomaskable interrupt)
。CPU 提供了两条外接引脚用于中断,即 NMI 和 INTR。其中,NMI 用于不可屏蔽中断,比如电源掉电,一旦产生,CPU
必须立即无条件响应,否则进行其他工作毫无意义,INTR 用于可屏蔽中断,主要是外部 I/O 设备的中断
信号,比如打印机中断,这些中断信号需要通过中断控制器传递给 CPU。可屏蔽中断有屏蔽(masked)和
非屏蔽(unmasked)两种状态,处于屏蔽状态的中断将被忽略。
可屏蔽中断受 EFLAGS 寄存器的中断允许标志位 IF 控制。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值