Logica
INTERRUPÇÕES
Autores: Prof. Dr. Jorge Kinoshita, Prof. Dr. Carlos Eduardo Cugnasca e Prof. Dr. André Riyuiti Hirakawa
Adaptado por Eduardo Harada, Roberto Caldas e Rogério Kakehashi rev. 2004
1. Objetivo
Esta experiência visa a familiarização com os mecanismos de interrupção suportados pelo microprocessador MC68010, utilizado na Placa Experimental.
2. Introdução
O que são interrupções?
Uma interrupção é um evento externo que causa o processador parar a execução do programa corrente e desviar a execução para um bloco de código chamado rotina de interrupção (normalmente são decorrentes de operações de E/S).
Ao terminar o tratamento de interrupção o controle retorna ao programa interrompido exatamente no mesmo estado em que estava quando ocorreu a interrupção.
Figura 1
Porém, para garantir o correto funcionamento deste mecanismo de transferência de dados, é preciso ter um sistema com uma organização de E/S semelhante à da figura a seguir:
Figura 2
3. Execução das interrupções
A execução de interrupções necessita tanto de ações de hardware como de software, as quais, podem ser sumarizadas pelo seguinte fluxograma:
Porém, para uma explicação um pouco mais didática, vamos nos atentar para as seguintes figuras:
Execução de interrupção
Figura 3
Retorno ao programa principal
Figura 4
4. Fontes de interrupção
Periféricos no-chip
A maioria dos processadores possui uma grande variedade de periféricos no próprio chip, tais como:
Timers, portas paralelas, porta seriais;
Interrupções ocorrem quando certas condições previamente estabelecidas foram atingidas.
Linhas de interrupção externas
A maioria dos processadores possui uma ou mais linhas de interrupção externas que podem ser ativadas por um circuito externo.
Interrupções por software
Também chamadas exceções ou traps, estas interrupções são geradas devido a um controle de software ou devido a uma operação iniciada por software.