中断

引入中断的意义

Linux驱动编程相对于应用程序编写多了中断处理。因为驱动是管理硬件的,而为了提高硬件的访问效率,通常不是由CPU来轮询硬件的状态,而是在硬件准备好后主动通知CPU,这种硬件上的异步通知就是中断。

软件生成的中断通过写一个专用寄存器生成,通常被用于内部处理器之间的通信。由于Exynos4412包含4个核,那些由某一处理器私有外设生成的中断被称为私有外设中断。而那些由多个处理器的外设生成并可以被这多个处理器响应的中断称为共享外设中断

可能存在GIC通知一个处理器,这个中断不再需要的情况。在这种情况下,处理器应答该中断时,GIC返回一个特殊的中断号,我们称之为伪中断。可能发生这种情况的原因:在处理器应答该中断以前,软件改变了改中断的优先级、软件禁用该中断或者改变了目标处理器。

中断状态

每个中断可以被认为处于以下4个状态之一:
(1)未激活,中断处于尚未激活或未挂起;
(2)挂起,中断已经由硬件或者软件产生,正等待目标CPU响应;
(3)激活,CPU已经应答来自GIC的中断,该中断正在被CPU处理单尚未完成;
(4)激活并挂起,CPU正在处理该中断,此时GIC又收到来自该中断源的更高优先级的中断。

中断优先级

  1. 抢占
    在一个激活中断被处理完之前,CPU接口支持更高优先级的中断送达并占用目标处理器,但需要满足:
    a)该中断的优先级高于当前CPU接口被屏蔽中断的优先级;
    b)该中断的组优先级高于正在当前CPU接口处理的中断优先级。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值