Diferença entre sondagem e interrupção

Em certos momentos, o processador principal para de funcionar e verifica se algum controlador possui uma mensagem para ela, se houver, processa a mensagem e retoma a operação. Isso é chamado de polling. Além disso, é claro que o processador principal faz seu trabalho e os dispositivos estão fazendo seu trabalho. Se o dispositivo terminar seu trabalho ou ocorrer um erro, o dispositivo informará o processador principal com uma solicitação de interrupção.

O que é Polling?

Nos sistemas em que mais circuitos lógicos externos se comunicam por meio de várias interconexões U / I com um único microprocessador, a pesquisa U / I é usada. O microcomputador chama periodicamente cada circuito lógico externo e examina se solicitou serviço. Se o circuito lógico externo não precisar de manutenção, o microcomputador examinará o próximo circuito lógico externo, etc. Se um deles precisar de manutenção, o microcomputador passará para o programa de serviço do respectivo circuito lógico externo. A função de transferência U / I está incluída no programa. Em outras palavras, a pesquisa é um processo de chamada do cliente (computadores ou terminais) que pode enviar dados após serem chamados (se houver algum). Se o cliente tiver dados, ele os enviará após a pesquisa e, se não houver dados, o cliente responderá negativamente e o servidor chamará o próximo cliente. Alguns dispositivos podem precisar de manutenção do controlador (por exemplo, quando algum dispositivo termina a medição ou quando ocorre um erro). A solicitação é enviada ao controlador configurando a linha SRQ como baixa. Depois que o controlador recebe uma solicitação de serviço, ele chama todos os dispositivos no barramento para encontrar o dispositivo que enviou essa solicitação.

O que é interrupção?

Durante a execução de um programa, o microprocessador pode receber um sinal de interrupção através das linhas IRQ especiais. A interrupção é geralmente executada chamando a sub-rotina do sistema apropriada para o processamento de interrupções - essas são chamadas de processamento de rotina de interrupção do BIOS ou do DOS. Após o processamento da interrupção, o processador continua a executar o programa interrompido. Além disso, o próprio programa aplicativo pode conter uma instrução que solicita a execução de uma rotina de interrupção do BIOS ou DOS. As operações de entrada e saída são geralmente realizadas dessa maneira. Por exemplo, se um programa quiser imprimir um sinal na tela, poderá fazê-lo chamando a rotina de interrupção apropriada. O BIOS contém um conjunto de rotinas elementares de entrada e saída que são executadas relativamente rapidamente, e as rotinas correspondentes do DOS são mais lentas, mas seus recursos são maiores (a possibilidade de substituir os canais de entrada e saída, a possibilidade de controlar erros e outros). Portanto, interrupção de hardware é o sinal recebido pelo processador de outro dispositivo no computador e interrupção de software é o processo de execução de uma rotina do BIOS ou DOS (sub-rotina) que é automaticamente chamada para processar o sinal de interrupção recebida ou é solicitada para executar as instruções correspondentes.

Diferença entre sondagem e interrupção

Antecedentes da votação e interrupção

No primeiro caso, o processador verifica em intervalos regulares se um dispositivo precisa de uma ação. Em caso de interrupção, existe um mecanismo pelo qual o processador permite que o dispositivo externo (por exemplo, teclado, placa de som etc.) atraia a atenção do processador.

Mecanismo de votação e interrupção

As interrupções são mecanismos especialmente organizados para a comunicação de dispositivos periféricos. Os dispositivos notificam a CPU se uma ação é necessária. A pesquisa é um protocolo - a CPU pergunta regularmente aos dispositivos se uma ação é necessária.

Manutenção de Polling e Interrupção

Ao pesquisar o microcontrolador, o dispositivo precisa de atenção e depois passa para o próximo dispositivo para monitoramento. Em caso de interrupção, quando um sinal de interrupção é recebido, a CPU pára com a atividade atual e atende o dispositivo. Os serviços ou a interrupção processada são denominados rotina de serviço de interrupção (ISR) ou manipulador de interrupções.

CPU

No processo de pesquisa, a CPU está em espera e verifica se algum dispositivo precisa de um serviço. Isso desperdiça desnecessariamente tempo. Em caso de processo de interrupção, por outro lado, a CPU é perturbada apenas se necessário.

Aparência de votação e interrupção

Os dispositivos podem ser pesquisados ​​apenas em intervalos regulares quando são verificados. A interrupção pode ocorrer a qualquer momento.

Vantagens da pesquisa e interrupção

Algumas das vantagens da pesquisa são o programa relativamente simples, a confiabilidade da transmissão que ocorre na velocidade máxima, ou seja, assim que o dispositivo de E / S estiver pronto e a necessidade de chips de acesso adicionais. A interrupção é benéfica porque pode atender a vários dispositivos, é mais flexível e eficiente.

Desvantagens da pesquisa e interrupção

As desvantagens da pesquisa são o tempo de espera de alguns dispositivos que é menor que o tempo de resposta e, em seguida, outro método de transmissão deve ser aplicado, além de que a CPU consome tempo desnecessário para verificar os dispositivos que não pesquisaram a transferência de dados. As desvantagens das interrupções são a exigência de hardware / software mais complexo e a perda de tempo até que a CPU estabeleça quais unidades solicitam interrupção.

Pesquisa versus interrupção: gráfico de comparação

Resumo das Votações Vs. Interromper

  • No caso de polling, é feita uma leitura cíclica dos dispositivos conectados a uma CPU. Se o circuito lógico externo não precisar de manutenção, o microcomputador examinará o próximo circuito lógico externo. Se um deles precisar de manutenção, o microcomputador passa a executar um programa para atender ao respectivo circuito lógico externo.
  • Quando interrompido, a pedido da lógica externa, o microcomputador interrompe a execução do seu programa atual e passa para a execução do programa de interrupção. A estrutura interrompida permite que o microprocessador responda aos eventos assíncronos, ou seja, solicitações da lógica externa, para não esperar no loop para examinar o estado do circuito lógico externo.