中断基础概念 与 Linux底半部实现机制总结

一、基本概念

定义:CPU在运行过程中,发生了某些紧急事件需要处理,CPU必须保存现场,暂停当前程序,转而处理紧急事件,处理完毕后再返回原程序继续执行。

内部中断/外部中断:内部中断源来自于CPU内部,如溢出、软件中断指令 等;外部中断来自于CPU外部,由外设提出中断请求

可屏蔽中断/不可屏蔽中断:可屏蔽中断可以通过配置中断控制寄存器等方法被屏蔽,屏蔽后不再处理响应中断

向量中断/非向量中断:向量中断会给中断分配中断号,由硬件决定中断入口地址;非向量中断共享同一个入口地址,进入该地址后,再由软件判别具体执行哪个中断处理函数,下面是非向量中断的中断服务程序示例。

二、中断控制器

中断控制器是负责处理器所有中断源的采集、仲裁和分发的机制/硬件模块。

不同架构使用的中断控制器总结如下:

指令架构 控制器 备注
X86 8259(A) -> APIC

APIC相比于8259A,区分本地APIC和I/O APIC,支持多核中断、虚拟中断处理,可支配中断数量更大

ARM VIC -> NVICGIC(v1-v4)

VIC支持快速中断、向量中断、非向量中断

NVIC 支持中断嵌套,主要用于Cortex-M系列微控制器中

GIC支持多核中断、虚拟中断处理,主要用于Cortex-A/Cortex-R系列处理器中

PowerPC MPIC、EPIC

MPIC支持多核中断处理

EPIC支持中断嵌套

中断控制器的功能大同小异,演进的过程无非围绕这些功能:中断嵌套软件产生中断消息中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想是优秀社畜

您的打赏是对我最大的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值