Handling Nested Interrupts
9/8/2008
Para evitar a perda e atraso de alta-interrupções prioridade, as Windows Embedded CE kernel usa aninhadas interrupções. Interrupções aninhadas permitem solicitações interrupção (IRQs) de uma prioridade mais alta para capturam IRQs de um prioridade inferior. Interrupções aninhadas são permitidas em conjunto com o Sistema prioridade em tempo real. ISRs de uma prioridade mais alta podem capturam ISRs de um prioridade inferior.
A seguinte etapas apresentação como Windows Embedded CE trata ISR aninhada chama:
- O kernel desabilita todos os outros IRQs com o mesmo ou prioridade inferior como o IRQ que chamado o atual ISR chamar.
- Se um maior-prioridade IRQ chega antes o atual ISR conclui processamento, o kernel salva o atual estado ISR.
O estado inclui apenas esses registros que são com suporte para uso em um ISR. - O kernel chama quanto maior-prioridade ISR ao identificador de nova solicitação.
- O kernel carrega o original ISR do estado e continua processamento.
O kernel trata os detalhes de salvar estado de um ISR quando ocorre uma interrupção prioridade mais alta e restaurando-lo após a prioridade Alta ISR foi concluída. Na maioria dos casos, um precedido ISR não detecção que ele tiver sido precedido. O nível de aninhamento interrupção é limitado somente pelo qual o hardware plataforma pode suporte.
Um ISR que utiliza muito tempo pode causar outros interrupções para ser perdida inteiramente, resultando em desempenho lento ou incorreta do sistema inteiro. Separando processamento interrupção em um ISR muito curto e um segmento serviço mais interrup (ist), as interrupções podem ser mascaradas para como pouco tempo como possíveis. ISRs somente máscara interrupções de igual ou prioridade inferior que próprios. Windows Embedded CE pode aninhar quantos ISRs como oferece suporte a plataforma de hardware. Não seja um atraso possível na conclusão, uma ISR não é afetado por uma interrupção.
See Also
Other Resources
Defining an Interrupt Identifier
Implementing an ISR
Loader
PCI Bus Driver
Real-Time Priority System