对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。本系列博文,是以ARM cortex-A系列处理器,来介绍ARM的soc中,中断的处理。
ARM cortex-A系列处理器,提供了4个管脚给soc,实现外界中断的传递。分别是:
nIRQ: 物理普通中断
nFIQ: 物理快速中断
nVIRQ: 虚拟普通中断
nVFIQ: 虚拟快速中断
如下图所示:
其中虚拟中断,是为了实现虚拟化而加入的,在这个系列中,不讨论虚拟中断,只介绍物理中断的相关知识。
在arm的soc系统中,会有多个外设,均有可能会产生中断发送给arm cpu,等待cpu处理。
而arm cpu对中断,只提供了2根信号,一个nIRQ,一个是nFIQ。因此就需要有一个中断控制器来作为中间的桥接,收集soc的所有中断信号,然后仲裁选择合适的中断,再发送给CPU,等待CPU处理。如下图所示:
这中间的桥接器件,就是arm公司推出大名鼎鼎的gic,general interrupt controller。
gic其实是一个架构,版本历经了gicv1(已弃用)ÿ