ARM的M型和A型的中断控制器小结

NVIC和GIC都是ARM架构中用于管理和分配中断的标准中断控制器,但它们在设计和功能上存在一些区别。

1. 设计目标不同:NVIC是专门为Cortex-M系列处理器设计的中断控制器,而GIC则是为Cortex-A系列处理器设计的中断控制器。因此,NVIC具有更低的功耗、更小的体积和更简单的设计,适用于嵌入式系统等资源受限的应用场景;而GIC则具有更高的性能和更复杂的设计,适用于高性能计算等需要处理更多中断和更复杂中断场景的应用场景。

2. 中断处理模式不同:NVIC支持嵌套中断处理模式,即一个中断处理程序可以被另一个中断处理程序打断,而GIC支持抢占式中断处理模式,即一个中断处理程序可以被另一个中断处理程序抢占。这意味着NVIC可以处理多个中断请求的同时,而GIC可以更好地实现实时性能和响应度。

3. 中断级别和中断优先级的处理方式不同:NVIC和GIC都支持多个中断级别和中断优先级,但它们的处理方式不同。NVIC使用基于嵌套向量表的中断处理方式,即中断优先级越高的中断可以打断中断优先级低的中断;而GIC使用基于处理器接口的中断处理方式,即中断控制器会将中断请求发送给处理器,处理器会根据中断优先级和中断屏蔽状态来确定是否处理该中断。

4. 中断类型和中断功能的支持情况不同:NVIC和GIC支持的中断类型和中断功能也存在一定的差异。例如,NVIC支持SysTick定时器中断、PendSV中断和SVCall中断等特殊中断类型,而GIC支持虚拟中断、SGI(Software Generated Interrupt)和PPI(Private Peripheral Interrupt)等特殊中断类型。

总之,NVIC和GIC都是ARM架构中用于管理和分配中断的标准中断控制器,它们在设计和功能上存在一些区别,应根据具体应用场景和需求选择合适的中断控制器。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值