Вы находитесь на странице: 1из 37

Entrada/sada

Jefferson Fontinele da Silva


Ci
encia e Tecnologia
Universidade Federal do Maranh
ao - UFMA/Campus Balsas

12 de dezembro de 2015

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

1 / 37

Problemas de entrada/sada

Grande variedade de perifericos:


I
I
I

Entregando diferentes quantidades de dados.


Em velocidades diferentes.
Em formatos diferentes.

Todos mais lentos que CPU e RAM.


Precisa de modulos de E/S.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

2 / 37

Modulo de entrada/sada

Interface com CPU e mem


oria.
Interface com um ou mais perifericos.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

3 / 37

Modelo generico de modulo de E/S

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

4 / 37

Dispositivos externos

Legveis ao ser humano:


I

Monitor, impressora, teclado.

Legveis `a maquina:
I

Monitoracao e controle.

Comunicacao:
I
I

Modem.
Placa de interface de rede (NIC).

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

5 / 37

Diagrama em blocos de um dispositivo externo

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

6 / 37

Funcao do modulo de E/S

Controle e temporizacao.
Comunicacao com CPU.
Comunicacao com dispositivo.
Buffering de dados.
Deteccao de erro.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

7 / 37

Etapas da E/S

CPU verifica estado do dispositivo do m


odulo de E/S.
Modulo de E/S retorna o estado.
Se estiver pronto, CPU solicita transferencia de dados.
Modulo de E/S recebe dados do dispositivo.
Modulo de E/S transfere dados `a CPU.
Variacoes para sada, DMA etc.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

8 / 37

Diagrama do modulo de E/S

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

9 / 37

Decisoes do modulo de E/S

Ocultar ou revelar propriedades do dispositivo `a CPU.


Admitir dispositivo m
ultiplo ou u
nico.
Controlar funcoes do dispositivo ou sair para CPU.
Tambem decisoes do SO.
I

P.e., Unix trata de tudo o que pode como arquivo.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

10 / 37

Tecnicas de E/S

Programada.
Controlada por interface.
Acesso direto `a mem
oria (DMA).

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

11 / 37

E/S programada

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

12 / 37

E/S programada

CPU tem controle direto sobre E/S:


I
I
I

Conhecendo o estado.
Comandos de leitura/escrita.
Transferindo dados.

CPU espera que modulo de E/S termine a operacao.


Desperdica tempo de CPU.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

13 / 37

E/S programada * detalhe

CPU solicita operacao de E/S.


Modulo de E/S realiza operacao.
Modulo de E/S define bits de estado.
CPU verifica bits de estado periodicamente.
Modulo de E/S nao informa `a CPU diretamente.
Modulo de E/S nao interrompe CPU.
CPU pode esperar ou voltar mais tarde.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

14 / 37

Comandos de E/S

CPU emite endereco:


I

Identifica m
odulo (& disp. se >1 por m
odulo).

CPU emite comando:


I

Controle - dizendo ao m
odulo o que fazer.
F

Teste - verifica estado:


F

P.e., girar disco

P.e., alimentado? Erro?

Leitura/escrita:
F

M
odulo transfere dados via buffer de/para dispositivo.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

15 / 37

Enderecando dispositivos de E/S

Sob E/S programada a transferencia de dados e muito semelhante ao


acesso `a memoria (ponto de vista da CPU).
Cada dispositivo recebe identificador exclusivo.
Comandos da CPU contem identificador (endereco).

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

16 / 37

Mapeamento de E/S

E/S mapeada na mem


oria:
I
I
I

Dispositivos e mem
oria compartilham um espaco de enderecos comum.
E/S se parece com leitura/escrita na mem
oria.
Nenhum comando especial para E/S.
F

Grande selec
ao disponvel de comandos de acesso `
a mem
oria.

E/S independente:
I
I
I

Espacos de enderecos separados.


Precisa de linhas de selecao de E/S ou mem
oria.
Comandos especiais para E/S.
F

Conjunto limitado.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

17 / 37

E/S mapeada na memoria e independente

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

18 / 37

E/S controlada por interrupcao

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

19 / 37

E/S controlada por interrupcao

Contorna problema de espera da CPU.


Sem verificacao de dispositivo repetida da CPU.
Modulo de E/S interrompe quando estiver pronto.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

20 / 37

E/S controlada por interrupcao Operacao basica

CPU emite comando de leitura.


Modulo de E/S recebe dados do periferico enquanto CPU faz outro
trabalho.
Modulo de E/S interrompe CPU.
CPU solicita dados.
Modulo de E/S transfere dados.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

21 / 37

Processamento de interrupcao simples

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

22 / 37

Ponto de vista da CPU

Emite comando de leitura.


Realiza outro trabalho.
Verifica interrupcao ao final de cada ciclo de instrucao.
Se interrompida:
I
I

Salva contexto (registradores).


Processa interrupcao.
F

Busca dados & armazena.

Ver notas do sistema operacional.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

23 / 37

Mudancas na memoria e registradores para uma


interrupcao

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

24 / 37

Aspectos de projeto

Como identificar o m
odulo que emite a interrupcao?
Como lidar com interrupc
oes m
ultiplas?
I

Ou seja, um tratador de interrupcao sendo interrompido.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

25 / 37

Identificando modulo que interrompe


Linha diferente para cada m
odulo:
I
I

PC.
Limita n
umero de dispositivos.

Verificacao por software:


I
I

CPU verifica cada m


odulo por vez.
Lento.

Daisy chain ou verificacao por hardware.


I
I
I

Interrupt Acknowledge enviado por uma cadeia.


M
odulo responsavel coloca vetor no barramento.
CPU usa vetor para identificar rotina do tratador.

Arbitracao de barramento:
I

M
odulo deve reivindicar o barramento antes que possa causar uma
interrupcao.
P.e., PCI & SCSI.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

26 / 37

Multiplas interrupcoes

Cada linha de interrupcao tem uma prioridade.


Linhas com prioridade mais alta podem interromper linhas com
prioridade mais baixa.
Com bus mastering, s
o o mestre atual pode interromper.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

27 / 37

Acesso direto `a memoria

E/S controlada por interrupcao e programada exige intervencao ativa


da CPU.
I
I

Taxa de transferencia e limitada.


CPU fica amarrada.

DMA e a resposta.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

28 / 37

Funcao do DMA

Modulo adicional (hardware) no barramento.


Controlador de DMA toma o comando da CPU para E/S.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

29 / 37

Diagrama tpico do modulo de DMA

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

30 / 37

Operacao do DMA

CPU diz ao controlador de DMA:


I
I
I
I

Leitura/escrita.
Endereco do dispositivo.
Endereco inicial do bloco de mem
oria para dados.
Quantidade de dados a serem transferidos.

CPU prossegue com outro trabalho.


Controlador de DMA lida com transferencia.
Controlador de DMA envia interrupcao quando terminar.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

31 / 37

Transferencia de DMA

Roubo de ciclo
Controlador de DMA assume o barramento por um ciclo.
Transferencia de uma palavra de dados.
Nao uma interrupcao.
I

CPU nao troca de contexto.

CPU suspensa logo antes de acessar o barramento.


I

Ou seja, antes de uma busca de operando ou dados ou uma escrita de


dados.

Atrasa a CPU, mas nao tanto quanto a CPU fazendo transferencia.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

32 / 37

DMA e pontos de interrupcao durante um ciclo de


instrucao

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

33 / 37

Configuracoes de DMA

Unico
barramento, controle de DMA separado.
Cada transferencia usa barramento duas vezes.
I

E/S para DMA, depois DMA para mem


oria.

CPU e suspensa duas vezes.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

34 / 37


Unico
barramento, controlador de DMA integrado.

Controlador pode aceitar mais de um dispositivo.


Cada transferencia usa barramento uma vez.
I

DMA para mem


oria.

CPU e suspensa uma vez.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

35 / 37

Barramento de E/S separado.

Barramento aceita todos dispositivos habilitados para DMA.


Cada transferencia usa barramento uma vez.
I

DMA para mem


oria.

CPU e suspensa uma vez.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

36 / 37

Canais de E/S

Dispositivos de E/S se tornam mais sofisticados.


P.e., placas graficas 3D.
CPU instrui controlador de E/S a realizar transferencia.
Controlador de E/S realiza transferencia inteira.
Melhora velocidade.
I
I

Retira carga da CPU.


Processador dedicado e mais rapido.

Jefferson Fontinele (UFMA)

E/S

12 de dezembro de 2015

37 / 37

Вам также может понравиться