中断和异常都是中断!
很多时候,我们会在很多地方看到“中断”和“异常”两个概念,他们到底是指什么呢?他们之间有什么区别吗?
“中断”和“异常”都是中断!
中断(interrupt)通常被定义为一个事件,它可以让处理器停止当前的工作转而运行中断处理的相关程序。在物理上,中断其实就是CPU芯片内外部硬件电路产生的电信号。
中断通常分为同步中断和异步中断:
- 同步中断是cpu执行指令出现问题时由CPU控制单元产生的,因为是cpu内部产生的,所以也被称为内中断。之所以称为同步,是因为只有在一条指令终止执行后CPU才会发出中断。
- 异步中断是指由外部硬件设备事件所引起的中断,因此也称为外中断。
Intel微处理器手册中,把同步中断成为异常(exception),异步中断成为中断(interrupt)。
通俗的说,异常是cpu运行某条指令时由于某种原因(比如说除0,系统调用,缺页)产生的;而中断是由外部硬件产生的(键盘敲击),与cpu正在运行的指令无关。
中断的作用
中断是指一个硬件或软件发出的请求(电信号),要求CPU暂停当前的工作转手去处