Buscar

Interrupções

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Interrupções
IMC INSTALAÇÃO E MANUTENÇÃO DE COMPUTADORES
	
 Uma Interrupção se dá quando um agente externo interrompe a execução do programa para solicitar um sinal, o que causa um desvio para um determinado bloco. O processador para de fazer o que está fazendo para atender o dispositivo que solicitou atenção.
			
Karyne Oliveira Andrade
Isabella Ferreira de Oliveira dos Santos
Desenvolvimento
Em prol do monitoramento de entradas e saídas que chegam na máquina, não é recomendável que a CPU tenha que permanecer monitorando continuamente os status de dispositivos como discos ou teclados. Com o intuito de facilitar tal controle usamos o mecanismo denominado de Interrupção, o qual permite que o hardware mande um sinal para a CPU quando algo precisar ser feito, instantaneamente. 
A Interrupção nada mais é que um processo que tem o objetivo de parar o Ciclo de Instrução para atender a um evento externo. Ela é um sinal que resulta em uma troca de contextos, desviando a execução de um programa para outro, e assim sucessivamente de acordo com a solicitação de “atenção” recebida. 
As Interrupções que são recebidas são automaticamente guardadas internamente por um dispositivo denominado Gerenciador de Interrupções, o qual pode ser semelhante a uma CPU, porém é um chip bem mais simplificado. Eles vêm na maior parte dos computadores dentro da Placa-Mãe, mas podem também vir soldados dentro do chip da CPU. 
Toda e qualquer Interrupção possui um determinado código para ser identificada, quando ela chega ao Gerenciador ele armazena esse código em sua memória e manda um sinal para a CPU, por meio do Barramento de Controle. No decorrer do seu Ciclo de Instrução, sempre que uma interrupção é executada, antes mesmo de retroceder para o Ciclo de Busca, a CPU confere se alguma interrupção chegou do Gerenciador de Interrupção. 
Qualquer tipo de Interrupção, deve ser tratada de maneira diferente e específica. Como por exemplo, o teclado, ele sempre irá conferir a tecla que foi pressionada, processo no qual é feito por meio de uma leitura à memória do teclado. Assim como o teclado, todos os dispositivos possuem uma pequena memória para a checagem de tudo que está sedo feito. De acordo com a tecla, uma operação diferente será executada. O determinado programa que ler a informação, deverá tomar sua própria decisão com o que deve ser feito, sendo ele um programa ativo no momento da interrupção. 
Interrupções também podem ocorrer se o próprio programa ativo executar uma operação ilegal. Esse processo é feito para evitar que a CPU entre em erro. 
Ao chegar ao término do tratamento de Interrupção, o controle retorna ao programa interrompido exatamente no estado que estava quando ocorreu a interrupção. Isso só é possível pois, antes mesmo de passar a execução para o processo de Interrupção, a CPU salva todos os conteúdos e registradores, voltando ao ponto que parou.
A interrupção tem a função de alertar o processador quando um evento ocorre, tornando possível uma acomodação eficiente para dispositivos mais lentos. Além disso, a interrupção pode permitir queprocessadores modernos possam responder a eventos gerados por dispositivos, enquanto outro trabalho está sendo realizado.
Curso de Processamento de uma Interrupção
Interrupções Simultâneas
Existem alguns sistemas que possuem mais de uma instrução, nos quais há a probabilidade de ocorrer interrupções simultâneas, sendo que deve existir algum critério para o processador saber qual deve ser atendida primeiro. Esse critério pode ser implementado de duas maneiras:
Daisy Chain
Nesse tipo de sistema, os dispositivos que solicitam a interrupção estão interligados por meio de sinais de controle, em uma cadeia chamada de “Daisy Chairl”, o qual é o primeiro elemento que está ligado ao microprocessador. Ao ser solicitado o pedido de interrupção, o microprocessador envia um sinal para o primeiro elemento, caso seja ele quem pediu ainterrupção deve-se responder com o endereço da subrotina de tratamento, caso contrário ele deve repassar a outro dispositivo, para que o processo seja repetido novamente. Com isso, o primeiro elemento deve corresponder ao dispositivo de maior prioridade, e assim por diante. 
Circuitos de Prioridade
Nesse tipo de sistema, é utilizado um codificador que fornece em sua saída o código da interrupção solicitada, a de maior prioridade presente na entrada. O código fornecido pode ser examinado pelo microprocessador com o objetivo de descobrir qual interrupção deve atender. 
A maior parte dos processadores apresentam uma de suas interrupções como sendo não-mascarável, de maneira que sempre que ela ocorrer deverá ser atendida pelo microprocessador. A interrupção deve ser tratada com muito zelo, devendo ser alocada a eventos que são importantes, como um sinal de emergência, uma queda da alimentação, um alarme e entre outros.
Interrupções Assíncronas
São denominadas de interrupções de hardware ou interrupções assíncronas aquelas que são geradas por algum dispositivo externo à CPU, como por exemplo o controlador de disco ou até mesmo o teclado. Esse tipo de interrupção ocorre independentemente das instruções que estão sendo executadas pela CPU, elas não possuem qualquer dependência do relógio do controlador, além de permitirem a detecção de mudanças mais velozes no sinal externo. Nessa interrupção não existe a troca de parâmetros ou retorno com o programa interrompido. 
Interrupções Síncronas
São denominadas de interrupções Síncronas ou também conhecida como “traps”aquelas que ocorrem em conseqüência da instrução que está sendo executada. Algumas dessas interrupções são geradas pelo hardware, com o intuito de indicar por exemplo overflow em operações aritméticas ou ao acesso a regiões da memória não permitidas. Em uma situação como essa, o programa não teria como prosseguir. Com isso, há uma sinalização do hardware, a qual deve passar para o controle para uma parte do sistema operacional, o qual termina de executar o programa. As “traps” costumam a ocorrer em função da instrução que está sendo executada, sendo elas uma interrupção de software. 
Categorias
As interrupções podem ser caracterizadas em 5 formas:
· MaskableInterrupt (IRQ) – traduzidapara o português se dá como Interrupção mascarável, a qual é do tipo que pode ser ignorada por configurar um bit em um registro de máscara de interrupção, conhecido pela sigla de IMR ( bit-mask ).
· Non-MaskableInterrupt (NMI) - traduzidapara o português se dá como Interrupção não-mascarável, a qual é do tipo que requere um bit-mask associado, com isso nunca podendo ser ignorada, ao contrário da mascarável. As NMIs são geralmente utilizadas por timers, mais especificamente por watchdogtimers (temporizadores de vigilância). 
· Inter-processorInterrupt (IPI) - traduzidapara o português se dá como Interrupção do Interprocessador, a qual é de um tipo especial que é gerado por um processador com o objetivo de interromper outro processador em um sistema de multiprocessadores. 
· Software Interrupt - traduzidapara o português se dá como Interrupção do Software, a qual é do tipo que é gerada dentro de um processador pela execução de uma instrução qualquer. Elas são normalmente utilizadas para a implementação de chamadas de sistemas, pois elas implementam uma chamada de subrotina com a mudança de nível da CPU.
· SpuriousInterrupt - traduzidapara o português se dá como Interrupção Espúria, ou seja, uma interrupção falsa, a qual é indesejável. Essa interrupção é especificamente gerada por condições do sistema, como por exemplo uma interferência elétrica em uma linha de interrupção, ou por meio de um hardware projetado da maneira errada.
Concluindo...
Por fim, a Interrupção é um conjunto de séries que desenvolvem projetos nos quais podem suspender o papel funcional da CPU, desviando a execução principal para outro evento, que quando acaba faz a CPU retroceder para o ponto de onde parou.
Interrupções são classificadas em internas e externas,sendo as interrupções internas as famosas “traps” e “exceptions”, as quais chegam de alguma atividade gerada pelo programa, como por exemplo, uma operação de divisão por zero ou um overflow. As interrupções externas chegam de uma atividade externa da CPU, como por exemplo, quando pressionamos uma tecla do teclado.
Com isso, é dever da CPU seguir esse procedimento:
1. Identificação da Interrupção.
2. Identificação do dispositivo que solicitou a Interrupção.
3. Reação.
4. Tomar a decisão de atender imediatamente, esperar ou ignorar.
5. Se perguntar o que deve fazer com o programa interrompido, e quando irá retroceder.
Para o atendimento de todas essas especificações há um programa específico que age com facilidade, o qual tem o objetivo de tratar cada Interrupção, o denominado Interruption Handler, que também tem a função de salvar todos os dados usados no programa em execução, e ao retorno, voltar para onde parou sem perder absolutamente nada. 
Referências
Conteúdo
· http://www4.inf.puc-rio.br
· https://pt.wikipedia.org
· www.pcs.usp.br
· http://producao.virtual.ufpb.br
· http://home.roboticlab.eu
· Introdução à Organização dos Computadores – Prof. Reinaldo A. Ventura
Imagens
· http://maistempo.com.br
· http://slideplayer.com.br
· https://inf.ufes.br
· http://lpprodutividade.com.br
· http://www.taraspan.com
1
9

Continue navegando