O que é uma interrupção: tipos e suas aplicações

Experimente Nosso Instrumento Para Eliminar Problemas





Os PCs usam solicitações de interrupção para lidar com várias funções de hardware. As interrupções de hardware foram introduzidas pela primeira vez pelo UNIVAC 1103 em 1953. A primeira incidência de mascaramento de interrupção foi incorporada pelo IBM 650 em 1954. É essencial atribuir IRQs diferentes a dispositivos de hardware diferentes para executar várias funções. Durante a execução do programa, dispositivos como teclados, um mouse requer serviços da CPU e gera uma interrupção para chamar a atenção da CPU e processar o serviço solicitado. Estes são conhecidos como interrupções . Um dos barramentos do dispositivo de E / S é dedicado a atender a esse propósito é conhecido como Rotina de Serviço de Interrupção (ISR). Eles são usados ​​em vários aplicativos, como para eventos urgentes, transferência de dados, enfatizando eventos anormais, temporizadores de watchdog, armadilhas, etc.

O que é uma interrupção?

Definição: É referido como uma entrada sinal que tem a prioridade mais alta para eventos de hardware ou software que requerem processamento imediato de um evento. Durante os primeiros dias da computação, o processador teve que esperar pelo sinal para processar quaisquer eventos. O processador deve verificar cada programa de hardware e software para saber se há algum sinal a ser processado. Este método consumiria vários ciclos de clock e tornaria o processador ocupado. Por precaução, se algum sinal fosse gerado, o processador levaria novamente algum tempo para processar o evento, levando a um desempenho ruim do sistema.




Um novo mecanismo foi introduzido para superar esse processo complicado. Nesse mecanismo, o hardware ou software enviará o sinal para um processador, em vez de um processador verificar se há algum sinal de hardware ou software. O sinal alerta o processador com a prioridade mais alta e suspende as atividades atuais salvando seu estado e função atuais, e processa a interrupção imediatamente, isso é conhecido como ISR. Como não dura muito, o processador reinicia as atividades normais assim que é processado.

Interromper

Interromper



Tipos de interrupção

Estes são classificados em dois tipos principais.

Interrupções de hardware

Um sinal eletrônico enviado de um dispositivo externo ou hardware para se comunicar com o processador, indicando que ele requer atenção imediata. Por exemplo, toques de um teclado ou uma ação de um mouse invocam interrupções de hardware, fazendo com que a CPU os leia e processe. Portanto, chega de forma assíncrona e durante qualquer ponto do tempo durante a execução de uma instrução.

As interrupções de hardware são classificadas em dois tipos


  • Interrupções mascaráveis - Os processadores têm que interromper o registro de máscara que permite habilitar e desabilitar interrupções de hardware. Cada sinal tem um bit colocado no registro da máscara. Se este bit for definido, uma interrupção será habilitada e desabilitada quando um bit não for definido, ou vice-versa. Os sinais que interrompem os processadores por meio dessas máscaras são chamados de interrupções mascaradas.
  • Interrupções não mascaráveis ​​(NMI) - Os NMIs são as atividades de prioridade mais alta que precisam ser processadas imediatamente e em qualquer situação, como um sinal de timeout gerado a partir de um cronômetro de watchdog.

Interrupções de software

O próprio processador solicita uma interrupção de software após executar certas instruções ou se determinadas condições forem atendidas. Pode ser uma instrução específica que dispara uma interrupção, como chamadas de sub-rotina, e pode ser disparada inesperadamente por causa de erros de execução do programa, conhecidos como exceções ou traps.

Métodos de acionamento

Geralmente, esses sinais são projetados para disparar usando um nível de sinal lógico ou uma borda de sinal. Esses métodos são de dois tipos.

Interrupção acionada por nível

Nesse tipo, o módulo de entrada invoca uma interrupção se o nível de serviço desta for declarado. Se uma fonte de interrupção continua a ser declarada quando o manipulador de interrupção do firmware a manipula, este módulo regenera e dispara o manipulador para invocar novamente. As entradas disparadas por nível não são boas se permanecerem ativadas por um período mais longo.

Interrupção acionada por borda

Um módulo de entrada de interrupção disparada por borda invoca uma interrupção assim que identifica uma borda de afirmação - uma borda de descida ou de subida. A borda é notada quando o nível da fonte muda. Este tipo de acionamento requer ação imediata, independente da atividade da fonte.

Acionamento por limite de nível

disparo de borda de nível

Implementação de sistema

As interrupções devem ser aplicadas ao hardware como um componente diferente junto com as linhas de controle, ou integrado para dentro memória subsistemas. Quando a implementação é realizada em hardware, é necessário um Controlador de interrupção programável (PCI) para conectar entre o pino de entrada da CPU e o dispositivo de interrupção. O PCI multiplexa várias fontes de interrupção para a linha de CPU simples ou dupla. Quando implementado em relação ao controlador de memória, o slot de endereço de memória do sistema é mapeado diretamente com as interrupções.

Solicitações de interrupção compartilhada (IRQs)

Com interrupção acionada por borda, um pull-up ou pull-down resistor é usado para conduzir a linha de interrupção. Esta linha transmite cada pulso produzido por cada dispositivo. Se os pulsos de interrupção gerados a partir de dispositivos diferentes acontecerem próximos no tempo, a CPU deve invocar uma borda de fuga do pulso para não perder interrupções, após o que a CPU garante a inspeção de todos os dispositivos para solicitações de serviço. As placas-mãe ISA (Industry Standard Architecture) bem comportadas com resistores pull-up e linhas de IRQ compartilhadas devem funcionar bem. No entanto, vários dispositivos compartilhando a linha de IRQ em sistemas mais antigos com interface de programação mal projetada torna difícil processar interrupções. Por outro lado, uma nova arquitetura de sistema, como PCI, ajuda a fornecer um alívio considerável para esse problema.

Híbrido

Um tipo híbrido de implementação de sistema tem uma combinação de sinalização disparada por borda e disparada por nível. O hardware deve procurar uma borda e também verificar se um sinal está ativo por um determinado período. Um tipo híbrido é comumente usado para a entrada de interrupção não mascarável (NMI), o que garante que falsas interrupções não afetem o sistema.

Mensagem - Sinalizado

Uma solicitação de interrupção sinalizada por mensagem para serviço usando sinais de dispositivo, transmitindo uma mensagem por meio de um comunicação canal, como um computador ônibus . Eles não usam uma linha de interrupção física. O PCI Express atua como um barramento serial e é usado exclusivamente como interrupções sinalizadas por mensagem.

Campainha

A interrupção da campainha é comumente usada como um mecanismo por um sistema de software para sinalizar o hardware do computador para concluir o trabalho. Mediante acordo mútuo entre hardware e software, o software coloca os dados no local de memória conhecido e toca a campainha para notificar o hardware de que os dados estão prontos e esperando para serem processados. Agora, o dispositivo de hardware do computador entende que os dados são válidos e os processa de acordo.

IPI multiprocessador

Os sistemas multiprocessadores, uma solicitação de interrupção de um processador é enviada a um processador diferente por meio de interrupções entre processadores (IPI)

Usos / aplicações típicas

Estas são entradas poderosas normalmente usadas para

  • Temporizadores de hardware de serviço, lidar com toques de teclado e ações do mouse
  • Responda rapidamente a eventos urgentes ou em tempo real
  • Transferência de dados de e para dispositivos periféricos
  • Responde a tarefas de alta prioridade, como sinais de desligamento, armadilhas e cronômetros de watchdog
  • Indica eventos anormais de CPU
  • A interrupção do desligamento prevê a perda de energia, permitindo o desligamento ordenado do sistema
  • Interrupções periódicas para controlar o tempo absoluto

FAQs

1). Por que as interrupções são usadas?

Eles são usados ​​para chamar a atenção da CPU para executar serviços solicitados por hardware ou software.

2). O que é NMI?

NMI é uma interrupção não mascarável, que não pode ser ignorada ou desabilitada pelo processador

3). Qual é a função da linha de reconhecimento de interrupção?

O processador envia um sinal aos dispositivos indicando que está pronto para receber interrupções.

4). Descreva a interrupção de hardware. Dar exemplos

É gerado por um dispositivo externo ou hardware, como teclas do teclado ou o movimento do mouse invoca interrupções de hardware

5). Descreva a interrupção do software.

É definido como uma instrução especial que invoca uma interrupção, como chamadas de sub-rotina. As interrupções de software podem ser disparadas inesperadamente devido a erros de execução do programa

6). Qual interrupção tem a prioridade mais alta?

  • Borda não mascarável e nível acionado
  • TRAP tem a prioridade mais alta

7). Dê alguns usos de interrupção

  • Responda rapidamente a eventos urgentes ou em tempo real
  • Transferência de dados de e para dispositivos periféricos
  • Responde a tarefas de alta prioridade, como sinais de desligamento, armadilhas e cronômetros de watchdog
  • Indica eventos anormais de CPU

8). O que é um tipo híbrido de implementação de sistema?

Um tipo híbrido de implementação de sistema tem uma combinação de sinalização disparada por borda e disparada por nível. O hardware deve procurar uma borda e também verificar se um sinal está ativo por um determinado período.

Neste artigo, entendemos a importância de interrupções e como eles são usados ​​para executar os serviços solicitados. Também discutimos quais são os tipos, a implementação do sistema e seus usos.