CPU中断
中断是什么
当CPU(中央处理器)执行一条现行指令的时候,如果外设向CPU发出中断请求,那么CPU在满足响应的情况下,将发出中断响应信号,与此同时关闭中断,表示CPU不在受理另外一个设备的中断。这时,CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。然后,他将转移到处理该中断源的中断服务程序。CPU在保存现场信息,设备服务(如交换数据)以后,将恢复现场信息。在这些动作完成以后,开放中断,并返回到原来被中断的主程序的下一条指令。
参考:中断处理
为什么需要中断
如果没有中断,CPU只能按照程序编写的顺序,对各个外设进行查询和处理,即轮询工作方式。
轮询方法貌似公平,但实际效率却很低。且不能及时相应紧急事件。
中断的意义
使得计算机系统具备应对和处理突发事件的能力,提高了CPU的工作效率。
中断信号的分类
- 同步中断
CPU自己在指令执行的过程中发出的中断,如系统调用、缺页中断
- 异步中断
其它硬件设备发出的中断。异步中断中包括了系统错误。
中断的上半部和下半部
- 上半部
紧急的硬件操作
- 下半部
耗时的代码提取处理,在稍后合适的时候去执行
硬中断和软中断
- 硬中断
由CPU硬件实现的中断
- 软中断
由内核实现的中断;软中断时中断下半部的一种实现方式
中断控制器
中断号
- HW interrupt ID:硬件中断号
- IRQ_number: 内核中断向量
GIC
GIC,Generic Interrupt Controller。是ARM公司提供的一个通用的中断控制器。主要作用为:
接受硬件中断信号,并经过一定处理后,分发给对应的CPU进行处理。
IDT
中断向量表(中断描述符表),内核必须初始化IDT,其基址保存在IDTR寄存器。
通过该表项,可以找到中断处理函数入口。
参考:中断向量表
中断门、陷进门、任务门
门,顾名思义,是通往某处的入口。在计算机中,用门来表示一段程序的入口。
拿它和段描述符对比一下就容易理解了,段描述符中描述的是一片内存区域,而门描述符中描述的是一段代码。
参考:门描述符

浙公网安备 33010602011771号