Ciclo de Interrupção :
- cpu verifica se houve alguma interrupção → indicada pelo sinal de interrupção
Cpu: Ciclo de Interrupção para Instrução Pendente
- Suspende a execução do programa que estava sendo executada e salva seu contexto → Dados relativos à atividade atual da cpu
- Armazena no PC o endereço inicial de uma rotina de tratamento de interrupção
Etapas para Interrupção de Instrução Pendentes
0. Cpu identifica que a interrupção pendente
1. Cpu continua o ciclo de busca
2. Cpu obtem a primeira instrução da rotina de tratamento de interrupção
3. Tratador de Interrupção geralmente é feito pelo Sistema Operacional
3.1 O Tratador determina a natureza da Interrupção + Define ações necessárias
Interrupções Múltiplas:
- Existem duas maneiras de tratar múltiplas interrupções
1. Impedir novas interrupções até que a anterior finalize
2. Definir prioridades para as interrupções
2.1 Dois programas A e B estão executando.
Exemplo de Interrupção(X) por Prioridade
O programa A inicia primeiro e gera uma interrupção.
O programa B é iniciado em seguida e irá iniciar uma nova interrupção.
Por B ter maior prioridade, ele desfaz a interrupção de A e gera uma interrupção para si
As interrupções podem ser:
- Sequência → Interrupções são geradas após a finalização de uma interrupção anterior → Slide 21
- Aninhadas → Uma interrupção gera outra interrupção → Slide 22
Serviço de Interrupção → ISR → Interruption Service Routine
- Um ISR significa que houve uma interrupção → Slide 23
- No exemplo acima, o ISR de A foi substituido pelo ISR de B
Sequência de tempo de Múltiplas Instruções
- Um programa gera uma interrupção
- Dentro desta interrupção há rotinas que iniciam uma nova interrupção
- Isso desencadeia uma sequência de interrupção necessárias para executar um programa
- slide 23
Descrição mais detalhada e abordagem dos tópicos do livro >> http://www4.di.uminho.pt/~amp/textos/COA/node6.html
Função de E/S
- Módulos de E/S podem trocar dados diretamente com a Cpu
- Cpu pode trocar dados diretamente com Módulos de E/S
A módulo de E/S poderá acessar diretamente (a depender do projeto) a memória e a cpu
Se esse módulo necessitar acessar a memória diretamente a cpu lhe dará essa autoridade
Esse acesso direto a memória é chamanho de DMA -> Direct Access Memory
Próximo Tópico: Estrutura de Interconexão