Componentes da CPU e Gerenciamento de Interrupções

Classificado em Computação

Escrito em em português com um tamanho de 5,05 KB.

Contador de Programa (PC)

O Contador de Programa (PC) contém o endereço da próxima instrução a ser lida.

Registrador de Instrução (IR)

O Registrador de Instrução (IR) contém a última instrução lida.

Interrupção

Interrompe a execução normal do processador. Aparecem principalmente como uma forma de melhorar a eficiência de processamento. Podem ser de software, relógio, E/S ou por falha de hardware.

Interrupções Desabilitadas

Quando as interrupções estão desabilitadas, o processador ignora o sinal de interrupção. Durante esse tempo, as interrupções geralmente ficam pendentes e devem ser verificadas pelo processador depois de habilitar as interrupções.

Ação do Processador

Quando o processador interpreta a instrução e executa a ação, a ação pode ser classificada em quatro categorias:

  • Processador-Memória: os dados são transferidos do processador para a memória ou vice-versa.
  • Processador-E/S: transferência de dados para ou de um dispositivo periférico, realizando a transferência entre o processador e os módulos de E/S.
  • Processamento de Dados: o processador executa alguma operação aritmética ou lógica sobre os dados.
  • Controle: a instrução apela para alterar a sequência de execução.

Tratamento de Rotina de Interrupções

Quando um dispositivo de E/S está disponível, ou seja, quando está pronto para aceitar mais dados do processador, o módulo de E/S do dispositivo envia um pedido de interrupção para o processador. O processador suspende a operação do programa atual e salta para um programa que serve o dispositivo de E/S, conhecido como rotina de tratamento de interrupção, e retorna para a execução original depois de atender ao dispositivo.

Multiprogramação

Mesmo com o uso de interrupções, um processador pode não estar sendo aproveitado de maneira muito eficiente. Por exemplo, se o tempo necessário para concluir uma operação de E/S é muito maior do que o código do usuário entre as chamadas de E/S, o processador ficará inativo durante muito tempo. Uma solução para esse problema é permitir que programas de vários usuários estejam ativos ao mesmo tempo.

E/S Programada

O processador envia uma instrução para o módulo de E/S apropriado. O processador tem um papel ativo, dando simultaneamente resposta à instrução de E/S e verificando periodicamente o estado de implementação do módulo de E/S até que ele verifique que concluiu a operação.

  • Problema: O processador gasta muito tempo de espera para a conclusão do módulo de E/S e o sistema fica seriamente degradado.
  • Solução: Enquanto aguarda o módulo de E/S, o processador pode continuar com um trabalho útil.

E/S Gerenciada por Interrupções

Um evento que interrompe o fluxo normal de execução causado por um elemento externo ao processador. É um evento assíncrono.

  • Problema: Grandes transferências de memória do dispositivo ou vice-versa, levam a uma utilização excessiva do processador.
  • Solução: Acesso Direto à Memória.

Acesso Direto à Memória (DMA)

Em um único comando, gera tudo que for necessário para a transferência de informações da memória do dispositivo ou vice-versa. Interpretado por um módulo separado conectado ao barramento do sistema ou incluído em um módulo de E/S. Útil quando o processador deseja ler ou escrever um bloco de dados.

Exceção

Evento inesperado gerado por uma condição que ocorre durante a execução de uma instrução (por exemplo, overflow, endereço inválido, instrução privilegiada, etc.). É um evento síncrono.

Modo Dual de Operação

O que acontece quando um programa acessa a memória de host onde os vetores de interrupção estão? O que acontece se você modificar? Solução: O processador tem diferentes modos de execução das instruções:

  • Instruções Privilegiadas (modo supervisor/kernel): Aquelas cuja execução pode interferir com a execução de qualquer programa ou programa do sistema operacional (por exemplo, escrever na porta de um dispositivo).
  • Instruções Não Privilegiadas (modo usuário): Aquelas cujo desempenho não apresenta um problema de segurança para outros programas (por exemplo, incrementar um contador).

Pilha

Usada para controlar as chamadas de procedimento e retornos. O topo é o ponto em que pode ser acessado na pilha.

Chamadas e Retornos de Procedimento

Uma técnica comum para lidar com as chamadas de procedimento e retornos se baseia na utilização de uma pilha. Quando o processador executa uma chamada, ele coloca o endereço de retorno na pilha. Quando executa um retorno, usa o endereço no topo da pilha.

Entradas relacionadas: