300 likes | 439 Views
Tratamento de interrupções Aula 12 Prof. Diovani Milhorim. Arquitetura e organização de computadores. Introdução. A arquitetura E/S de um computador constitui sua interface com o mundo exterior Existem 3 técnicas principais de E/S: E/S programada E/S dirigida por interrupção
E N D
Tratamento de interrupções Aula 12 Prof. Diovani Milhorim Arquitetura e organização de computadores
Introdução A arquitetura E/S de um computador constitui sua interface com o mundo exterior Existem 3 técnicas principais de E/S: E/S programada E/S dirigida por interrupção DMA (Acesso Direto à Memória) Formado por módulos E/S
Introdução Por que existem módulos E/S? Grande variedade de periféricos Periféricos tem velocidade baixa Usam formatos de dados e palavras diferentes
Dispositivos Externos Também chamados de periféricos Três tipos: Dispositivos para comunicação com o usuário Dispositivos para comunicação com a máquina Dispositivos para comunicação com dispositivos remotos
Módulos de E/S Funções principais: Controle e temporização Comunicação com o processador Comunicação com dispositivos Área de armazenamento temporário de dados Detecção de erros
E/S Programada Os dados são transferidos entre o processador e o modulo de E/S O processador executa um programa e tem controle direto da operação de E/S O módulo E/S executa a operação e sinaliza o término através de um registrador de estado
Comandos de E/S Controle Ativa um periférico e indica uma ação a ser executada Teste Testa as condições de estado associadas a um módulo de E/S e seus periféricos Leitura Obter um dado do periférico Gravação Faz com que o módulo E/S obtenha um dado do barramento de dados e o transmita para o periférico
Instruções E/S Modos de endereçamento Mapeado na memória Único espaço de endereçamento para posições de memória e dispositivos E/S Endereçamento independente Instruções dependem do modo de endereçamento Vantagem/Desvantagem
E/S Dirigida por Interrupção O problema da E/S programada é que o processador tem que ficar esperando o módulo E/S ficar pronto A solução são as interrupções É mais eficiente pois elimina ciclos de espera desnecessários
Operações de E/S Com Interrupção: processador envia um comando para o módulo de E/S e continua a executar outras instruções. Ele será interrompido pelo módulo de E/S quando este estiver pronto
Como funciona um computador? Início Término Executa a instrução Sim Há interrupção? Não Busca a próxima instrução Salta p/ rotina de interrupção
Processamento de Interrupção Feito em 9 etapas: O dispositivo envia um sinal de interrupção O processador termina a execução da instrução atual O processador testa se existe uma interrupção pendente O processador salva o contexto atual O processador carrega o contador de programa com o endereço da rotina de tratamento da interrupção A rotina de interrupção armazena os registradores na pilha A rotina então é iniciada Os registradores são restaurados O contexto é restaurado
Processo de Interrupção simples Dispositivo Controlador ou outro dispositivo do sistema pede interrupção Processador termina a execução da instrução em andamento Processador sinaliza reconhecimento de interrupção Processador salva PSW e PC na pilha de controle (Push) Processador carrega novo valor do PC baseado na interrupção Salve resto da Informação do estado do processo Processa Interrupção Restaura Informação do estado do processo Restaura PSW e PC do programa pri ncipal ( em execução) antes da interrupção Software Hardware
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Múltiplas linhas de interrupção Identificação por software Daisy chain Arbitração do barramento
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Múltiplas linhas de interrupção Cada dispositivo tem sua identificação (irq) junto ao processador. Problema: número finito de irqs.
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Múltiplas linhas de interrupção Cada dispositivo tem sua prioridade determinada pelo processador.
Aspectos de projeto IRQ 0 - Sinal de clock da placa mãe (fixo)IRQ 1 - Teclado (fixo)IRQ 2 - Cascateador de IRQs (fixo)IRQ 3 - Livre (serial 2 desativada)IRQ 4 - ModemIRQ 5 - LivreIRQ 6 - Drive de disquetesIRQ 7 - Livre (porta paralela desativada)IRQ 8 - Relógio do CMOS (fixo)IRQ 9 - Placa de som, placa de rede (1), placa de rede (2)IRQ 10 - Placa de vídeoIRQ 11 - Controlador USB (Mouse, impressora e scanner)IRQ 12 - Porta PS/2IRQ 13 - Coprocessador aritméticoIRQ 14 - IDE PrimáriaIRQ 15 - Livre (IDE Secundária desativada)
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Daisy chain Processador recebe requisição e varre o barramento a procura de quem emitiu o sinal. O elemento que emitiu o sinal interrompe o barramento de requisição para se identificar.
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Daisy chain Barramento verde: permissão de uso Obs: dispositivo que emitiu a requisição interrompe o barramento.
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Arbitração do barramento O dispositivo observa se o barramento de dados está ocupado. Se o barramento está livre ele emite sua prioridade no barramento de requisição Em seguida ele interrompe o barramento de permissão e utiliza o barramento de dados livre.
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Arbitração do barramento
Aspectos de projeto Técnicas de identificação de qual dos módulos E/S enviou a interrupção: Identificação por software Cada barramento tem um arbitro que decide por prioridade qual dispositivo deve ocupar o barramento. O arbitro utiliza uma única irq para se comunicar com processador. Toda requisição será mascarada como sendo do arbitro (ex. pci, usb)
Acesso Direto à Memória (DMA) Desvantagens da E/S programada e da E/S dirigida por interrupção A taxa de transferência de E/S é limitada pela velocidade com que o processador pode testar e servir um dispositivo O processador se ocupa de gerenciar a transferência de dados de E/S, tendo de executar várias instruções a cada transferência
Acesso Direto à Memória (DMA) DMA – Acesso direto à memória Inclusão de um módulo ou controlador de DMA direto no barramento do sistema Utiliza um barramento quando este não está sendo usado pelo processador ou força o processador a suspender sua operação temporariamente (roubo de ciclo)
Acesso Direto à Memória (DMA) Para ler ou escrever dados, o processador envia as seguintes informações para o controlador DMA: Indicação de operação (leitura ou escrita) Endereço do dispositivo de E/S envolvido Endereço de memória inicial Número de palavras a serem lidas ou escritas O processador fica liberado, e ao término da execução o controlador DMA gera uma interrupção
Evolução da E/S No início CPU controlava diretamente o dispositivo (microprocessor-controlled devices) Módulo de E/S (ou controlador) é adicionado Assim CPU não precisa conhecer detalhes específicos dos dispositivos CPU usa E/S programada sem interrupção
Evolução da E/S Surge então a interrupção CPU trabalha enquanto ocorre E/S O módulo de E/S ganha poder para acessar memória diretamente (DMA) O módulo de E/S torna-se um processador Conjunto próprio de instruções para E/S Módulo de E/S é capaz de executar um programa sem intervenção alguma da CPU Também conhecido por canal de E/S
Evolução da E/S Módulo de E/S ganha uma memória local própria Maior número de dispositivos podem ser controlados Tamanho de buffer maior para troca de dados Também conhecido como processador de E/S Ocasionalmente os termos canais de E/S (I/O Channel) e processador de E/S (I/O Processor) são usados para designar os mesmos módulos de E/S
Canais e Processadores de E/S A evolução da função de E/S A CPU controla diretamente cada dispositivo periférico Um controlador ou módulo de E/S é adicionado. A CPU usa E/S programada sem interrupções E/S com interrupções DMA O módulo de E/S é aprimorado, tornando-se um processador de E/S O módulo de E/S inclui uma memória local própria, tornando-se um computador