linux中断子系统
Posted focus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中断子系统相关的知识,希望对你有一定的参考价值。
一、概述
- 目的
kernel管理硬件设备的方式:轮询、中断。中断效率高且反应快于轮询,因为它利用了硬件本身执行指令前会做的‘中断电信号周期轮询’。
- 分类
中断分为同步(synchronous)和异步(asynchronous)。
同步也称为异常,由CPU指令错误产生,分为故障、陷阱和中止;
异步也称为中断,由外部电信号产生,对于x86分为可屏蔽(INTR)和不可屏蔽中断(NMI);对于ARM分为IRQ和FIQ;
对于x86 CPU,有两个中断输入pin:INTR和NMI。当CPU接到INTR中断后,会通过INTA pin应答,表示收到中断
- 中断控制器:PIC、APIC及GIC
PIC – Programmable Interrupt Controller 可编程中断控制器(x86 UP)
APIC – Advanced Programmable Interrupt Controller 高级可编程中断控制器(x86MP)
GIC – Generic Interrupt Controller ARM公司设计的通用中断控制器(支持MP)
通过cat /proc/interrupts查看。
UP:Uni-processor(单核);MP:Multiple-processor(多核)。
- 其他
二、初始化
三、处理过程
四、API
五、问题
系统中有8个CPU,有2000个外设中断要处理,这时候你如何设计系统中的interrupt controller?(采用GIC和采用APIC)
六、其他
以上是关于linux中断子系统的主要内容,如果未能解决你的问题,请参考以下文章