Arquitetura e organizao de computadores Tratamento de interrupes

  • Slides: 30
Download presentation
Arquitetura e organização de computadores Tratamento de interrupções Aula 12 Prof. Diovani Milhorim

Arquitetura e organização de computadores Tratamento de interrupções Aula 12 Prof. Diovani Milhorim

Introdução l. A arquitetura E/S de um computador constitui sua interface com o mundo

Introdução l. A arquitetura E/S de um computador constitui sua interface com o mundo exterior l Existem 3 técnicas principais de E/S: ¡ E/S programada ¡ E/S dirigida por interrupção ¡ DMA (Acesso Direto à Memória) l Formado por módulos E/S

Introdução l Por que existem módulos E/S? ¡ Grande variedade de periféricos ¡ Periféricos

Introdução l 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 l Também chamados de periféricos l Três tipos: ¡ Dispositivos para comunicação

Dispositivos Externos l Também chamados de periféricos l 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 l Funções principais: ¡ Controle e temporização ¡ Comunicação com o

Módulos de E/S l 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 l Os dados são transferidos entre o processador e o modulo de

E/S Programada l Os dados são transferidos entre o processador e o modulo de E/S l O processador executa um programa e tem controle direto da operação de E/S l 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 l Controle ¡ l Testa as condições de estado associadas a

Comandos de E/S l Controle ¡ l Testa as condições de estado associadas a um módulo de E/S e seus periféricos Leitura ¡ l Ativa um periférico e indica uma ação a ser executada 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 l Modos de endereçamento ¡ Mapeado na memória l Único espaço de

Instruções E/S l Modos de endereçamento ¡ Mapeado na memória l Único espaço de endereçamento para posições de memória e dispositivos E/S ¡ Endereçamento l Instruções independente dependem do modo de endereçamento l Vantagem/Desvantagem

E/S Dirigida por Interrupção l. O problema da E/S programada é que o processador

E/S Dirigida por Interrupção l. O problema da E/S programada é que o processador tem que ficar esperando o módulo E/S ficar pronto l A solução são as interrupções l É mais eficiente pois elimina ciclos de espera desnecessários

Operações de E/S l Com Interrupção: processador envia um comando para o módulo de

Operações de E/S l 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 10

Como funciona um computador? Início Executa a instrução Há interrupção? Sim Não Busca a

Como funciona um computador? Início Executa a instrução Há interrupção? Sim Não Busca a próxima instrução Término Salta p/ rotina de interrupção

Processamento de Interrupção l Feito em 9 etapas: 1. 2. 3. 4. 5. 6.

Processamento de Interrupção l Feito em 9 etapas: 1. 2. 3. 4. 5. 6. 7. 8. 9. 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

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 Salve resto da Informação do estado do processo Processa Interrupção Software Hardware Processador sinaliza reconhecimento de interrupção Restaura Informação do estado do processo Processador salva PSW e PC na pilha de controle (Push) Restaura PSW e PC do programa pri ncipal ( em execução) antes da interrupção Processador carrega novo valor do PC baseado na interrupção

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l 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 l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l 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. l Problema: número finito de irqs. l

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a interrupção: l 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

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 - Modem IRQ 5 - Livre IRQ 6 - Drive de disquetes IRQ 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ídeo IRQ 11 - Controlador USB (Mouse, impressora e scanner) IRQ 12 - Porta PS/2 IRQ 13 - Coprocessador aritmético IRQ 14 - IDE Primária IRQ 15 - Livre (IDE Secundária desativada)

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l 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. l O elemento que emitiu o sinal interrompe o barramento de requisição para se identificar. l

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l 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 l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l 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. l Se o barramento está livre ele emite sua prioridade no barramento de requisição l Em seguida ele interrompe o barramento de permissão e utiliza o barramento de dados livre. l

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a interrupção: ¡ Arbitração do barramento

Aspectos de projeto l Técnicas de identificação de qual dos módulos E/S enviou a

Aspectos de projeto l 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. l O arbitro utiliza uma única irq para se comunicar com processador. l Toda requisição será mascarada como sendo do arbitro (ex. pci, usb) l

Acesso Direto à Memória (DMA) l Desvantagens da E/S programada e da E/S dirigida

Acesso Direto à Memória (DMA) l Desvantagens da E/S programada e da E/S dirigida por interrupção 1. 2. 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) l DMA – Acesso direto à memória l Inclusão

Acesso Direto à Memória (DMA) l DMA – Acesso direto à memória l Inclusão de um módulo ou controlador de DMA direto no barramento do sistema l 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) l Para ler ou escrever dados, o processador envia

Acesso Direto à Memória (DMA) l Para ler ou escrever dados, o processador envia as seguintes informações para o controlador DMA: ¡ ¡ l 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

Pontos de suspensão de DMA 26

Pontos de suspensão de DMA 26

Evolução da E/S l No início CPU controlava diretamente o dispositivo (microprocessor-controlled devices) l

Evolução da E/S l No início CPU controlava diretamente o dispositivo (microprocessor-controlled devices) l Módulo de E/S (ou controlador) é adicionado ¡ ¡ 27 Assim CPU não precisa conhecer detalhes específicos dispositivos CPU usa E/S programada sem interrupção

Evolução da E/S l Surge então a interrupção ¡ CPU trabalha enquanto ocorre E/S

Evolução da E/S l 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) l O módulo de E/S torna-se um processador l ¡ ¡ ¡ 28 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 l Módulo de E/S ganha uma memória local própria ¡ ¡

Evolução da E/S l Módulo de E/S ganha uma memória local própria ¡ ¡ ¡ l 29 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 l A evolução da função de E/S 1. 2.

Canais e Processadores de E/S l A evolução da função de E/S 1. 2. 3. 4. 5. 6. 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