Modos de Transferencia Interrupcao
Modos de Transferência
Interrupção
Prof. César Augusto M. Marcon
2 / 28
Interrupção
•
Vantagem
– Evita tempo desperdiçado com múltiplos testes, que é inerente ao polling
•
Funcionamento
– CPU/controlador é avisado pelo periférico que este deseja transmitir/receber dados •
Principais características de interrupções de E/S
– Assincronismo em relação a qualquer instrução
•
Ocorre a qualquer instante
– Seu tratamento NÃO quebra a execução da instrução corrente
•
Teste de interrupção é feito depois da execução da instrução
– Diferenciar
•
Interrupção de hardware externo a CPU
– Origem de um periférico
•
Interrupção de hardware interno a CPU
– Origem de um circuito interno ao processador (exemplo: exceções divisão por zero)
•
Interrupção de software
– Chamadas ao sistema operacional ou outros programas residentes
3 / 28
Interrupção – Procedimento ao Ocorrer Interrupção
1. Priorizar interrupções
•
Atender de maior prioridade no caso de simultaneidade de interrupções
2. Tratamento de interrupções aninhadas
•
•
Desabilitar interrupções, caso não seja permitido aninhamento de interrupções
Prosseguir normalmente, caso contrário
3. Salvar contexto (PC, registradores)
•
•
4.
5.
6.
7.
8.
Salvamento rápido (um ciclo próprio processador)
Salvamento lento (diversos ciclos seqüência de instruções para por na pilha) Identificar periférico
Desviar PC para rotina de tratamento da interrupção
Executar programa de interrupção
Recuperar contexto
Reabilitar interrupções (caso tenham sido desabilitadas)
4 / 28
Interrupção - Exemplo: microcontrolador 8051 (Intel)
• Características
– 4 pinos dedicados à interrupção • INT0, INT1, TIMER0,
TIMER1
– Interrupções pode ser habilitada ou não por software
• Exemplo
– Quando há pedido de interrupção no pino INT0, o
PC é posto em uma pilha, e
PC recebe valor 3
5 / 28
TRATAMENTO DE INTERRUPÇÕES SIMULTÂNEAS
Interrupção associada a polling
• Funcionamento
– Opera do mesmo modo que