[005 Interrupção] Qual a diferença entre IRQ e FIQ, e como isso é feito na UCP?

1. O que é IRQ? O que são FIQs?

IRQ (Interrupt Request): refere-se ao modo de interrupção;
FIQ (Fast Interrupt Request): refere-se ao modo de interrupção rápida;
IRQ e FIQ são dois modos de programação diferentes do processador ARM.

FIQ é usado para interrupções de alta prioridade que requerem resposta rápida.

IRQs são usados ​​para interrupções comuns de prioridade normal.


Em segundo lugar, a diferença entre IRQ e FIQ

  1. Prioridade: FIQ tem prioridade mais alta que IRQ;

  2. Contexto: o FIQ salva o contexto completo da CPU e o IRQ salva apenas parte do contexto;

  3. IRQ é geralmente usado para interrupções externas comuns, e FIQ é geralmente usado para interrupções mais importantes ou sensíveis ao tempo;

  4. Pilha: o FIQ usa uma pilha FIQ dedicada e o IRQ usa a pilha principal da CPU.


3. Interrompa a resposta

Se a interrupção for definida como IRQ, quando a interrupção for gerada, o processador de interrupção informa ao ARM por meio da linha de solicitação de IRQ, e o ARM sabe que uma interrupção de IRQ está chegando e, em seguida, o ARM alterna para o modo IRQ para executar.

Da mesma forma, se a interrupção for definida como FIQ, quando a interrupção for gerada, o processador de interrupção informa ao ARM por meio da linha de solicitação FIQ e o ARM sabe que uma interrupção FIQ está chegando e, em seguida, alterna para o modo FIQ para executar.

Acho que você gosta

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