aula 25: e/s: controladoras, mapeamentos e técnicasdiego/disciplinas/2015_1/fac/... · 2015. 6....

37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aula 25: E/S: Controladoras, Mapeamentos e Técnicas Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 1 / 37

Upload: others

Post on 04-Dec-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Aula 25: E/S: Controladoras, Mapeamentos e Técnicas

Diego Passos

Universidade Federal Fluminense

Fundamentos de Arquiteturas de Computadores

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 1 / 37

Page 2: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Revisão

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 2 / 37

Page 3: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Na Aula Anterior. . .

Começamos a discutir o sistema de E/S.▶ O que é.▶ Exemplos de dispositivos.▶ Barramentos.

Também vimos um dispositivo de E/S em particular.▶ Estudo de caso.▶ O disco rígido.▶ Como funciona.▶ Como é organizado.▶ Tempo de acesso.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 3 / 37

Page 4: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Na Aula de Hoje. . .

Continuaremos falando sobre E/S.Mas de forma mais genérica.

▶ Ao invés de focar em um dispositivo específico.Falaremos sobre:

▶ O papel dos controladores de E/S.▶ Tipos de mapeamento de endereços dos dispositivos de E/S.▶ Técnicas de acesso dos dispositivos de E/S.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 4 / 37

Page 5: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Controladores

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 5 / 37

Page 6: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Controladores: Introdução

Em geral, dispositivos de E/S não estão diretamente ligados a um barramento.Ao contrário, há um dispositivo intermediário realizando esta conexão.

▶ Chamado de Controlador de E/S.▶ Algumas vezes, também chamado de Módulo de E/S.

O controlador se conecta tanto ao barramento de E/S, quanto ao dispositivo.▶ Recebe comandos e envia dados para a CPU.▶ Repassa estes comandos e interage com o dispositivo de E/S em si.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 6 / 37

Page 7: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Controladores: Possível Arquitetura

CPU Memória

Controlador

de

Disco

Controlador

de

Vídeo

Barramento

Disco

RígidoMonitor

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 7 / 37

Page 8: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Controladores: Por Quê?

Por que não conectar os dispositivos de E/S diretamente aos barramentos?Vários motivos:

▶ Dispositivos de E/S diferentes possuem características diferentes.⋆ Tempos de acesso.⋆ Comandos.⋆ Formato dos dados.⋆ . . .

▶ Controladores abstraem as diferenças e tornam o acesso aos dados homogêneo.▶ Controladores podem controlar múltiplas instâncias de um dado dispositivo de forma

transparente.⋆ e.g., controladora de HD com múltiplos HDs conectados.

▶ Controladores podem implementar funcionalidades extras.⋆ Que teriam que ser realizadas pela CPU, caso contrário.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 8 / 37

Page 9: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Controladores: Funcionalidades

Duas funcionalidades óbvias de um controlador de E/S são:▶ Comunicação com a CPU.▶ Comunicação com o dispositivo de E/S.

Além disso, são funcionalidades comuns:▶ Controle e temporização.▶ Bufferização dos dados.▶ Detecção de erros.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 9 / 37

Page 10: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Controladores: Exemplo de Interação entre CPU e Controlador

CPU solicita estado do dispositivo ao controlador.Controlador verifica o estado do dispositivo e responde à CPU.Se o dispositivo está pronto:

▶ CPU solicita leitura de dados.▶ Controlador recebe solicitação e a traduz para comandos do dispositivo.▶ Dispositivo executa requisição e repassa dados para o controlador.▶ Controlador traduz dados para formato adequado para comunicação com o processador.▶ Controlador envia dados para o processador.▶ Processador armazenada dados em memória.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 10 / 37

Page 11: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Mapeamentos de Dispositivos de E/S

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 11 / 37

Page 12: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Mapeamentos: Motivação

Do ponto de vista do programador, como acessar um dispositivo de E/S?Em outras palavras, como dizer ao processador que queremos realizar uma operação deE/S?Considere o seguinte exemplo:

▶ Queremos alterar a cor de um determinado pixel exibido no monitor.▶ Como pedimos ao processador para que isso seja feito?

Neste exemplo, temos uma operação de saída de dados.▶ Queremos “escrever” a cor de um pixel.▶ i.e., sabemos o que queremos escrever.

Mas qual é o endereço?

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 12 / 37

Page 13: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Mapeamentos: Tipos

Há duas formas diferentes de lidar com este endereçamento de dispositivos de E/S:▶ E/S mapeado em memória.▶ E/S mapeado por porta.

É comum que arquiteturas suportem ambas as formas.▶ Embora dispositivos de E/S complexos tendem a usar E/S mapeado por porta.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 13 / 37

Page 14: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Mapeamentos: Mapeamento em Memória

No mapeamento em memória, dispositivos de E/S são associados a um ou mais endereçosde memória.Parte do espaço de endereçamento da MP é reservado para dispositivos de E/S.

▶ Endereços não são acessíveis na MP.Leituras ou escritas nestes endereços são capturadas pelos dispositivos de E/S.

▶ Traduzidas em requisições de entrada ou saída de dados.Instruções de leitura/escrita de memória são usadas para E/S.

▶ e.g., load word, store word.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 14 / 37

Page 15: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Mapeamentos: Mapeamento em Memória (Exemplo)

typescreentype = array[1..4000] of byte;

varscreen: screentype absolute $B800:0;

begin

screen[241]:= 70;screen[242]:= 76;screen[243]:= 65;screen[244]:= 76;screen[245]:= 67;screen[246]:= 76;

end.

DOS: mapeamento da memória devídeo em modo texto para uma faixade endereços de memória.Programas podiam tratar a memóriade vídeo como um vetor ou matriz.

▶ Normalmente com 4000 bytes.Cada caractere correspondia a doisbytes:

▶ ASCII do caractere a ser exibido.▶ Informação de cor (fundo e fonte).

Permitia funcionalidades como“salvar” e “restaurar” a tela.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 15 / 37

Page 16: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Mapeamentos: Mapeamento por Porta

Também chamado de E/S isolado.No mapeamento por porta, dispositivos são associados a outro tipo de endereço.

▶ Um número de porta.▶ Há instruções especiais para ler/escrever em uma porta.

Exemplo (C, Linux):

while(1) {

data = inb(port);if (data != old_data)

printf("%02x\n", data);old_data = data;sleep(1);

}

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 16 / 37

Page 17: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Mapeamentos: Comparação

Para que o mapeamento em memória funcione, dispositivos de E/S precisam estarconectados (de alguma forma) ao mesmo barramento da MP.

▶ No mapeamento por porta, pode-se usar um barramento isolado.▶ Dedicado para I/O.▶ Pode afetar o desempenho.

Por outro lado, mapeamento em memória simplifica lógica do processador.▶ Acesso à MP e a dispositivos de E/S é padronizado.▶ Não são necessárias instruções especializadas.

Arquiteturas como a x86 suportam ambos os métodos.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 17 / 37

Page 18: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 18 / 37

Page 19: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: Motivação

E/S é bem mais lenta que processamento.▶ E que acessos à MP.

Uma vez que uma operação de E/S é requisitada, ela tipicamente demora vários ciclos declock.Perguntas:

▶ O que o processador faz neste período?▶ Como ele sabe que a operação foi concluída?

Resposta: depende da técnica de acesso utilizada.▶ E/S programada.▶ E/S por interrupção.▶ E/S por DMA.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 19 / 37

Page 20: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S Programada

Processo de transferência de dados é completamente controlado pela CPU.▶ Verifica estado do dispositivo.▶ Envia pedido.▶ Aguarda finalização.▶ Recebe os dados.

Durante a operação, CPU fica “presa”.▶ Ou ao menos gasta tempo para periodicamente verificar se a operação está pronta.▶ Também gasta tempo interagindo com o dispositivo/controlador.

Método ineficiente.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 20 / 37

Page 21: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S Programada (Exemplo de Interação)

CPU solicita operação ao dispositivo/controlador.▶ Parâmetros enviados pelo barramento.

Dispositivo realiza operação.Enquanto isso, CPU periodicamente verifica se a operação terminou.

▶ Chamado de polling ou interrogação.Eventualmente, operação termina e controlador/dispositivo armazena esta informação.

▶ Um registrador interno ou um bit de controle.

Em dado momento, CPU volta a verificar e identifica que a operação está pronta.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 21 / 37

Page 22: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S Programada (Mais Formalmente)

Envia

Comando

Interroga

Estado

Pronto?

Ler

Dado

Terminou?

Continue

Não

Não

Sim

Sim

Enquanto requisição não termina, processador pode:▶ Fazer algo útil e, de tempos em tempos, verificar o status.▶ Ou simplesmente verificar constantemente o status.

O segundo caso é conhecido como espera ocupada.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 22 / 37

Page 23: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção

E/S programada é muito ineficiente.▶ São gastos ciclos do processador, esperando pelo fim da operação.▶ Mesmo quando ações úteis são intercaladas.

⋆ i.e., quando não utilizamos espera ocupada.

Ineficiência causada pela espera.▶ Não sabemos quanto tempo a operação demora.▶ Precisamos vericar de tempos em tempos.

O ideal seria que o dispositivo/controlador pudesse avisar quando a operação fosseconcluída.

▶ Processador ficaria completamente livre para realizar outras tarefas.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 23 / 37

Page 24: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção (II)

Esta é exatamente a estratégia usada na E/S por interrupção.▶ Processador requisita determinada operação a um dispositivo/controlador.▶ Enquanto a operação é realizada, CPU realiza outras tarefas.

⋆ e.g., executa outras instruções do programa.▶ Quando a operação é concluída, dispositivo/controlador gera uma interrupção.

Uma interrupção é apenas um sinal elétrico de aviso ao processador.Uma vez recebido, processador para o que está fazendo e aciona um tratador deinterrupções

▶ Trecho de código que lida com o evento.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 24 / 37

Page 25: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção (Exemplo de Interação)

CPU solicita operação ao dispositivo/controlador.▶ Parâmetros enviados pelo barramento.

Dispositivo realiza operação.Enquanto isso, CPU fica livre para fazer outras atividades.Eventualmente, operação termina e controlador/dispositivo gera o sinal de interrupção.CPU recebe o sinal, dispara o tratador de interrupção que lê o dado do buffer dodispositivo/controlador.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 25 / 37

Page 26: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção (Fluxo de Execução)

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 26 / 37

Page 27: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção (Tratamento da Interrupção)

As informações salvas antes do tratamento da interrupção são chamadas de contexto.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 27 / 37

Page 28: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção (Múltiplas Interrupções)

Note que múltiplas operações de E/S podem ser executadas simultaneamente. Exemplo:▶ CPU requisita leitura do HD.▶ Enquanto a leitura é feita, CPU requisita amostra do microfone.

Neste caso, ao receber uma interrupção, como a CPU sabe quem a gerou?▶ No exemplo, a controladora de disco ou a placa de som?

Várias soluções:▶ Uma linha de interrupção para cada controlador/dispositivo.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 28 / 37

Page 29: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção (Múltiplas Interrupções II)

Várias soluções:▶ Uma linha de interrupção para cada controlador/dispositivo.

⋆ Limita número de dispositivos.⋆ Projeto mais caro e complexo.

▶ Detecção por software.⋆ Tratador de interrupções interroga cada dispositivo/controlador.⋆ Ineficiente.

▶ Arbitração de barramento.⋆ Dispositivo/controlador precisa obter o controle do barramento.⋆ Acessos simultâneos são resolvidos pelo próprio barramento.⋆ Dispositivo transmite identificação da interrupção pelo barramento.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 29 / 37

Page 30: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: E/S por Interrupção (Múltiplas Interrupções III)

Note que interrupções podem ter prioridades diferentes.▶ Mensagem recebida na placa de rede pode ser mais importante que pequeno movimento do

mouse.Interrupções simultâneas de prioridades diferentes:

▶ Interrupção de prioridade mais alta é tratada primeiro.

Mesmo o tratamento de uma interrupção de baixa prioridade pode ser interrompido porinterrupção de prioridade mais alta.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 30 / 37

Page 31: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: Interrupções (Mais Detalhes)

Finalmente, note que interrupções não são usadas apenas para E/S.Conceito importante nos computadores modernos.Também são usadas para:

▶ Indicar condições de erro na execução de um programa.⋆ e.g., overflow, divisão por zero.

▶ Auxiliar no gerenciamento dos recursos do computador pelo Sistema Operacional.▶ Implementar temporizadores.▶ . . .

Mais detalhes sobre interrupções e seus usos na disciplina de SO.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 31 / 37

Page 32: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: DMA

O uso de interrupções é bem mais eficiente que a E/S programada.▶ Processador não precisa ficar verificando se a operação terminou.

Mas note que o processador ainda controla a execução da operação.Considere, por exemplo, a tarefa de ler uma grande quantidade de dados do HD para aMP.

▶ Processador requisita leitura do primeiro setor.▶ Processador fica livre para outras tarefas.▶ Quando há uma interrupção, processador lê dado do barramento e transfere para a MP.▶ Processador requisita leitura do próximo setor.▶ . . .

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 32 / 37

Page 33: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: DMA (II)

A cada interrupção, processador para o que está fazendo para dar sequência à operação.Os ciclos usados para isso poderiam ser mais bem empregados executando instruçõesúteis ao programa.Solução:

▶ Usar um dispositivo auxiliar, chamado de controlador de DMA.▶ CPU informa os parâmetros da E/S no início.▶ Controlador de DMA interage com o controlador/dispositivo de E/S.▶ Apenas quando a transferência estiver completamente concluída, controlador de DMA

gera uma interrupção para a CPU.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 33 / 37

Page 34: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: DMA e Barramentos

Controlador de DMA transfere dados de E/S diretamente para a MP.Para isso, controlador precisa estar conectado ao barramento da MP.

▶ Direta ou indiretamente.

Isso pode significar um prejuízo nos acessos da CPU à MP.Mas, em geral, o desempenho com DMA é bastante superior em grandes transferênciasde dados.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 34 / 37

Page 35: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: DMA e Cache

Suponha que processador requisita leitura de HD ao controlador de DMA.Dados lidos devem ser escritos na MP a partir da posição X.Mas a palavra endereçada por X na MP encontra-se atualmente em cache.Logo após o controlador de DMA escrever na MP o novo valor desta palavra, CPUrequisita leitura da posição X.O que acontece?

▶ Valor encontra-se em cache.▶ Cache responde com o valor desatualizado.▶ Obtemos uma inconsistência na informação da cache.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 35 / 37

Page 36: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: DMA e Cache (II)

De alguma forma, a consistência da cache precisa ser mantida.Informação desatualizada precisa ser invalidade.Duas soluções típicas:

▶ Por hardware: controlador de DMA avisa à cache sobre leituras/escritas na MP.▶ Por software: linhas da cache são invalidadas antes de uma requisição ao controlador de

DMA.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 36 / 37

Page 37: Aula 25: E/S: Controladoras, Mapeamentos e Técnicasdiego/disciplinas/2015_1/FAC/... · 2015. 6. 16. · Na Aula de Hoje... Continuaremos falando sobre E/S. Mas de forma mais genérica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Técnicas de Acesso: Último Detalhe

Note que a técnica de acesso é ortogonal ao método de mapeamento de E/S.Isto é, podemos usar DMA, interrupções, E/S programada tanto para mapeamento emmemória, quanto para mapeamento por porta.

Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas FAC 37 / 37