[005 Interrupción] ¿Cuál es la diferencia entre IRQ y FIQ, y cómo se hace en la CPU?

1. ¿Qué es IRQ? ¿Qué son los FIQ?

IRQ (Solicitud de interrupción): se refiere al modo de interrupción;
FIQ (Solicitud de interrupción rápida): se refiere al modo de interrupción rápida;
IRQ y FIQ son dos modos de programación diferentes del procesador ARM.

FIQ se utiliza para interrupciones de alta prioridad que requieren una respuesta rápida.

Las IRQ se utilizan para interrupciones comunes de prioridad normal.


En segundo lugar, la diferencia entre IRQ y FIQ

  1. Prioridad: FIQ tiene mayor prioridad que IRQ;

  2. Contexto: FIQ guarda el contexto completo de la CPU e IRQ solo guarda parte del contexto;

  3. IRQ generalmente se usa para interrupciones externas ordinarias, y FIQ generalmente se usa para interrupciones más importantes o sensibles al tiempo;

  4. Pila: FIQ usa una pila FIQ dedicada e IRQ usa la pila de CPU principal.


3. Respuesta de interrupción

Si la interrupción se establece en IRQ, cuando se genera la interrupción, el procesador de interrupciones le dice a ARM a través de la línea de solicitud de IRQ, y ARM sabe que se acerca una interrupción de IRQ, y luego ARM cambia al modo IRQ para ejecutarse.

De manera similar, si la interrupción se establece en FIQ, cuando se genera la interrupción, el procesador de interrupciones le dice a ARM a través de la línea de solicitud de FIQ, y ARM sabe que se acerca una interrupción de FIQ y luego cambia al modo FIQ para ejecutarse.

Supongo que te gusta

Origin blog.csdn.net/qq_41709234/article/details/131236882
Recomendado
Clasificación