【005 中断】IRQ和FIQ有什么区别,在CPU里面是是怎么做的?

一、什么是IRQ?什么是FIQ?

IRQ(Interrupt Request): 指中断模式;
FIQ(Fast Interrupt Request): 指快速中断模式;
IRQ与FIQ是ARM处理器的两种不同编程模式。

FIQ用于需要快速响应的高优先级中断。

IRQ用于常见的一般优先级中断。


二、IRQ和FIQ的区别

  1. 优先级:FIQ的优先级高于IRQ;

  2. 上下文:FIQ保存完整的CPU上下文,IRQ只保存部分上下文;

  3. IRQ一般用于普通的外部中断,FIQ一般用于更重要或时间敏感的中断;

  4. 栈:FIQ使用专用的FIQ栈,IRQ使用主CPU栈。


三、中断的响应

如果该中断设置为了IRQ,那么当该中断产生的时候,中断处理器通过IRQ请求线告诉ARM,ARM就知道有个IRQ中断来了,然后ARM切换到IRQ模式运行。

类似的如果该中断设置为FIQ,那么当该中断产生的时候,中断处理器通过FIQ请求线告诉ARM,ARM就知道有个FIQ中断来了,然后切换到FIQ模式运行。

扫描二维码关注公众号,回复: 16114219 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_41709234/article/details/131236882
005
今日推荐