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

Tratamento de interrupções Aula 12 Prof. Diovani Milhorim

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Tratamento de interrupções

Aula 12Prof. 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éricosTrê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 independenteInstruções dependem do modo de

endereçamentoVantagem/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

10

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?

Busca a próximainstrução

Busca a próximainstrução

Executa a instruçãoExecuta a instrução

Início

Término

Há interrupção?Há interrupção?

Salta p/ rotinade interrupção

Salta p/ rotinade interrupção

SimSim

NãoNão

Processamento de Interrupção

Feito em 9 etapas:1. O dispositivo envia um sinal de interrupção2. O processador termina a execução da instrução atual3. O processador testa se existe uma interrupção pendente4. O processador salva o contexto atual5. O processador carrega o contador de programa com o

endereço da rotina de tratamento da interrupção6. A rotina de interrupção armazena os registradores na pilha7. A rotina então é iniciada8. Os registradores são restaurados9. O contexto é restaurado

Processo de Interrupção simples

Dispositivo Controladorou outro dispositivo do sistema pede interrupção

Processador termina aexecução da instruçãoem andamento

Processador sinalizareconhecimento de interrupção

Processador salva PSWe PC na pilha de controle (Push)

Processador carrega novo valor do PC baseado na interrupção

Salve resto da Informaçãodo estado do processo

Processa Interrupção

Restaura Informação doestado do processo

Restaura PSW e PC do programa pri ncipal ( em execução) antes dainterrupção

Hardware

Software

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 usoObs: 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

1. A taxa de transferência de E/S é limitada pela velocidade com que o processador pode testar e servir um dispositivo

2. 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óriaInclusão de um módulo ou controlador de

DMA direto no barramento do sistemaUtiliza 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

26

Pontos de suspensão de DMA

27

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

28

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

29

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/S1. A CPU controla diretamente cada dispositivo

periférico2. Um controlador ou módulo de E/S é adicionado. A

CPU usa E/S programada sem interrupções3. E/S com interrupções4. DMA5. O módulo de E/S é aprimorado, tornando-se um

processador de E/S6. O módulo de E/S inclui uma memória local própria,

tornando-se um computador