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

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

Dec 30, 2015

Download

Documents

Brian McCormick

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tratamento de interrupções Aula 12 Prof. Diovani Milhorim

Tratamento de interrupções

Aula 12Prof. Diovani Milhorim

Arquitetura e organização de computadores

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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)

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

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.

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

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.

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

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.

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

Aspectos de projeto

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

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

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)

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

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

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

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)

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

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

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

26

Pontos de suspensão de DMA

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

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

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

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

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

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

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

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