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.