首页 > 代码库 > linux中断子系统
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中断子系统
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。