Aqui está um colapso do que acontece quando uma CPU é interrompida:
O mecanismo de interrupção 1.
sinal de interrupção: Um evento externo (como um pacote de rede que chega, um cronômetro expirando ou um erro de hardware) aciona um sinal de interrupção. Este sinal é enviado para a CPU.
2.
Manipulador de interrupção: A CPU faz uma pausa na execução atual de instruções e imediatamente salta para um local de memória predefinido chamado "manipulador de interrupção". Este manipulador é um pedaço de código projetado especificamente para lidar com o tipo de interrupção que ocorreu.
3.
Economia de contexto: A CPU salva o estado de sua execução atual, incluindo:
-
Contador de programas (PC): O endereço da próxima instrução de que a CPU iria executar.
-
Registros: Os valores armazenados nos registros da CPU (que mantêm dados temporários).
-
sinalizadores: Informações de status sobre a CPU (por exemplo, bandeira de transporte, sinalizador zero).
4.
Interrompe a manutenção: O manipulador de interrupção assume o controle e executa as ações necessárias para responder ao evento de interrupção. Isso pode envolver:
-
LEITURA DADOS: Por exemplo, a leitura de dados de uma placa de rede quando um pacote chega.
-
enviando dados: Enviando dados para um dispositivo em resposta a uma interrupção.
-
Atualizando o estado do sistema: Atualizando contadores, temporizadores ou outras variáveis do sistema.
-
Manuseio de erro: Tomando ações corretivas em caso de erro de hardware.
5.
Restauração do contexto: Depois que o manipulador de interrupção terminar, ele restaura o contexto salvo (PC, registra, sinalizadores) de volta à CPU.
6.
retornar à execução: A CPU retoma a execução do programa original, a partir da instrução que foi interrompida.
Por que as interrupções são importantes *
Resposta em tempo real: As interrupções permitem que a CPU lide com eventos em tempo real, garantindo que tarefas críticas (como comunicação de rede ou resposta à entrada do usuário) sejam abordadas prontamente.
*
multitarefa: As interrupções formam a base de sistemas operacionais multitarefa, permitindo que vários programas compartilhem o tempo da CPU. A CPU pode alternar entre tarefas rapidamente respondendo às interrupções do timer.
*
Eficiência: As interrupções permitem que a CPU se concentre em sua tarefa principal enquanto delega o manuseio de dispositivos periféricos e outros eventos para manipuladores de interrupções dedicados.
Tipos de interrupções *
interrupções de hardware: Acionado por dispositivos de hardware externo (como teclado, unidades de disco, cartões de rede).
*
Interrupções de software: Gerado por instruções dentro do próprio programa (por exemplo, chamadas de sistema, exceções).
*
interrupções do timer: Gerado por um cronômetro dentro da CPU, usado para agendamento e multitarefa.
Exemplo: Imagine que você está digitando no teclado. Cada pressionamento de teclas gera uma interrupção de hardware. A CPU salta para o manipulador de interrupção do teclado, lê o código da chave e atualiza o buffer onde o texto é armazenado. Em seguida, ele retorna ao seu processador de texto, que agora tem acesso ao caractere recém -digitado.