GICv3软件overview手册之GICv3基本功能(2)

        中断控制器对每个SPI/PPI/SGI中断源维护了一个状态机。状态机包含以下四种状态:

(1)Inactive:中断源当前没有触发;

(2)Pending:中断源被触发,但还未被PE应答;

(3)Active:中断源被触发,且被PE应答;

(4)Active and Pending: 中断被PE应答,但中断源另一实例进入Pending状态;

NOTE: LPI没有active或active and pending状态。

        下图显示了状态机的结构以及可能的转换。

        中断的生命周期依赖于是否配置为电平中断或边沿中断。

1. 电平中断

 

Inactive to Pending

        当触发中断源时,中断转换从Inactive到Pending。

        在这个时候GIC发中断信号到PE(如果中断使能且存在足够的优先级)。

Pending to Active&Pending

        当PE通过读取CPU接口的IAR寄存器来应答中断,中断转换从Pending到Active&Pending。

在中断异常产生时对寄存器的读取为中断处理路径的一部分。但软件也可以轮询IAR寄存器。

在此时GIC取消发往PE的中断源。

Active and Pending to Active

        当外设de-assert中断信号时,中断转换从Active and Pending到Active。

        这通常为了响应处理中断,执行在PE上在外设写状态寄存器。

Active to Inactive

        当PE写CPU接口的EOIR寄存器时,中断转换从active到Inactive。

        这表明PE完成了中断的处理。

2. 边沿中断

 

Inactive to Pending

        当中断源被触发时,中断转换从Inactive到Pending。

        在这个时候GIC发中断信号到PE(如果中断使能且存在足够的优先级)。

Pending to Active

        当PE通过读取CPU接口的IAR寄存器来应答中断,中断转换从Pending到Active。在中断异常产生时对寄存器的读取为中断处理路径的一部分。但软件也可以轮询IAR寄存器。

        在此时GIC取消发往PE的中断源。

Active to Acitve and Pending

        当外设再次触发中断信号时,中断转换从active到active and pending。

Active and Pending to Active

        当PE写CPU接口的EIOR寄存器时,中断从active到active and pending。

        这表明PE完成中断的第一个实例的处理。在这个时候GIC又重新触发中断信号。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值