0. 中断和异常

  • 1. 中断和异常的相同点
  • 2. 中断和异常在处理流程的区别

1. 中断和异常的相同点

在x86/x64体系中, 中断异常使用相同的执行环境和机制, 包括:

① 使用在同一个IDT(Interrupt Descriptor Table)或IVT(Interrupt Vector Table)

② 在同一个Vector范围(0 ~ 255, 一个字节宽)内

③ 在Handling Interrupt(中断处理)流程上是一致的, 当然有些额外区别

2. 中断和异常在处理流程的区别

中断异常事件可以是主动发起被动产生的, 它们在处理流程中有几个显著区别.

① 对于硬件产生的可屏蔽中断事件, 在ISR(中断服务例程)处理完毕后必须发送EOI(End Of Interrupt)命令通知Interrupt controller(中断控制器)

② 对于某些异常, 处理器会产生相应的Error Code(错误码), Exception处理程序可以根据情况进行处理

外部内部硬件中断请求,可以进行mask(屏蔽),除了NMI(不可屏蔽中断)和一些由处理器pin产生的中断事件外(例如: SMI)

④ 对于异常不可屏蔽

本章中,将分别使用Interrupt(中断)和Exception(异常)的术语, 除非特别说明, 否则将互不适用

你可能感兴趣的:(0. 中断和异常)