Interrupção

Uma interrupção é quando um microprocessador faz algo que não lhe é dito para fazer por causa de coisas que acontecem fora do que o programa deve fazer. As interrupções acontecem com mais freqüência porque o processador recebe um sinal do hardware, mas elas também podem vir de um software que está rodando junto com o programa. Entre as muitas coisas que podem causar interrupções estão o pressionamento de teclas em um teclado, o temporizador incorporado que se apaga, uma transferência de dados que está ocorrendo, ou qualquer outro evento que precisa de uma ação do processador imediatamente. As interrupções podem acontecer a qualquer momento enquanto o processador estiver executando um programa, não importa onde esteja no código fonte do programa.

Este gráfico mostra o que acontece quando uma interrupção é chamadaZoom
Este gráfico mostra o que acontece quando uma interrupção é chamada

Como as interrupções funcionam

Uma chamada de hardware ou software para uma interrupção (conhecida como pedido de interrupção, ou IRQ) é atendida por um "manipulador de interrupção" ou "rotina de serviço de interrupção" (ISR) no processador. Ele coloca o que está fazendo no momento em uma pilha e depois segue certas instruções que fazem uma determinada tarefa em nome do sistema, que não tem que fazer parte do programa que ele faz. Uma vez que é feito seguindo as instruções, o ISR então retira o que colocou na pilha e continua com o que estava fazendo antes da interrupção acontecer.

Muitos controladores de interrupção dos processadores atuais usam um vetor de interrupção para classificar as interrupções com base na sua origem, entre outras formas. O vetor normalmente contém o código que tem que ser executado quando a interrupção acontece. Os ISRs são geralmente responsáveis por lidar com a interrupção, ou "manutenção", juntamente com a manutenção do funcionamento.

Usos das interrupções

  • Acionamento de tarefas em intervalos regulares
  • Manutenção de um dispositivo externo que pode acontecer a qualquer momento
  • Eliminar a necessidade de sondagem síncrona
  • Acionamento de um sistema operacional (SO) para tomar medidas

Perguntas e Respostas

P: O que é uma interrupção?


R: Uma interrupção é uma ação tomada por um microprocessador que não faz parte do programa que está sendo executado devido a eventos externos.

P: O que faz com que as interrupções ocorram com mais frequência em um processador?


R: As interrupções ocorrem com mais frequência em um processador devido ao recebimento de sinais do hardware.

P: As interrupções podem ser causadas por software?


R: Sim, as interrupções também podem ser causadas por software que está sendo executado paralelamente ao programa que está sendo executado.

P: Liste alguns exemplos de eventos que podem causar uma interrupção.
R: Exemplos de eventos que podem causar uma interrupção são o pressionamento de teclas em um teclado, o disparo de um temporizador e a realização de transferências de dados.

P: Uma interrupção depende de onde o programa está sendo executado?


R: Não, as interrupções podem ocorrer a qualquer momento durante a execução do programa, independentemente de onde o programa esteja em seu código-fonte.

P: Uma interrupção é um evento desejável para um microprocessador?


R: Geralmente, as interrupções são eventos indesejáveis para um microprocessador, pois interrompem a execução do programa e exigem atenção imediata.

P: Como um microprocessador responde a uma interrupção?


R: Um microprocessador suspende temporariamente o programa que está sendo executado e executa uma rotina de serviço de interrupção (ISR) para lidar com a interrupção antes de retornar ao programa que está sendo executado.

AlegsaOnline.com - 2020 / 2023 - License CC3