Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e...

47
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100 01101111 01110010 01100101 01110011 ARQUITETURA DE COMPUTADORES Entrada e Saída Prof Daves Martins Msc Computação de Alto Desempenho Email: [email protected]

Transcript of Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e...

Page 1: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100 01101111 01110010 01100101 01110011

ARQUITETURA DE

COMPUTADORES

Entrada e Saída

Prof Daves MartinsMsc Computação de Alto Desempenho

Email: [email protected]

Page 2: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

Capítulo 7

Entrada/saída

William Stallings Arquitetura e Organização

de Computadores

8a Edição

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 2

Page 3: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 3

Lembrando....

Quem coordena, em termos de software, o funcionamento dos dispositivos de E/S é o

Sistema Operacional

Page 4: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 4

Problemas de entrada/saída

• Grande variedade de periféricos:—Entregando diferentes quantidades de dados.—Em velocidades diferentes.—Em formatos diferentes.

• Todos mais lentos que CPU e RAM.• Precisa de módulos de E/S.

Page 5: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 5

Módulo de entrada/saída

• Interface com CPU e memória.• Interface com um ou mais periféricos.

Page 6: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 6

Modelo genérico de

módulo de E/S

Page 7: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 7

Dispositivos externos

• Legíveis ao ser humano:—Monitor, impressora, teclado.

• Legíveis à máquina:—Monitoração e controle.

• Comunicação:—Modem.—Placa de interface de rede (NIC).

Page 8: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 8

Diagrama em blocos de

um dispositivo externo

Page 9: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 9

Função do módulo de E/S

• Controle e temporização.• Comunicação com CPU.• Comunicação com dispositivo.• Buffering de dados.• Detecção de erro.

Page 10: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 10

Etapas da E/S

• CPU verifica estado do dispositivo do módulo de E/S.• Módulo de E/S retorna o estado.• Se estiver pronto, CPU solicita transferência de

dados.• Módulo de E/S recebe dados do dispositivo.• Módulo de E/S transfere dados à CPU.• Variações para saída, DMA etc.

Page 11: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 11

Diagrama do módulo de E/S

Page 12: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 12

Decisões do módulo de E/S

• Ocultar ou revelar propriedades do dispositivo à CPU.• Admitir dispositivo múltiplo ou único.• Controlar funções do dispositivo ou sair para CPU.• Também decisões do SO.

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

Page 13: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 13

Técnicas de E/S

• Programada.• Controlada por interrupção.• Acesso direto à memória (DMA).

Page 14: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

E/S Programada

Page 15: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 15

Três técnicas para

entrada de um bloco de

dados

Page 16: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 16

E/S Programada

• Os dados são transferidos entre o processador (CPU) e o módulo de E/S

• CPU tem controle direto sobre E/S—Detecção do estado do dispositivo—Envio de comandos de Leitura/Escrita—Transferência de dados

• CPU espera o módulo de E/S completar operação

• Desperdiço de tempo da CPU

Page 17: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 17

E/S Programada -

Detalhes

1. CPU requisita uma operação de E/S2. Módulo de E/S executa a operação3. Módulo de E/S ajusta os bits de estado4. CPU interroga os bits de estado

periodicamente5. Módulo de E/S não informa a CPU

diretamente6. Módulo de E/S não interrompe a CPU7. CPU pode esperar ou começar depois

Page 18: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 18

Comandos de E/S

• CPU envia um endereço—Identifica módulo e um externo

• CPU envia um comando—Controle – diz ao módulo o que fazer

– Por exemplo. Girar o disco

—Teste - checa o estado– Por exemplo. Pode? Erro? Ligado?

—Leitura/Escrita– Módulo transfere dados via buffer do/para o

dispositivo

Page 19: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 19

Endereçamento de

Dispositivos

de E/S

• Na E/S programada a transferência de dado é similar ao acesso à memória (ponto de vista da CPU)

• Cada dispositivo tem um identificador único

• Comandos da CPU contêm identificador (endereço)

Page 20: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 20

Mapeamento de E/S

• Endereçamento Mapeado na Memória—Dispositivos e memória dividem um único espaço

de endereço—E/S simplesmente se parece com leitura/escrita

da memória—Não há comandos especiais para E/S

– São utilizados os mesmos para se fazer acesso à memória

• Endereçamento Independente—Espaços de endereço separados—Precisa linhas selecionadas para memória ou E/S—Comandos especiais de E/S

– Conjunto limitado de comandos

Page 21: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

E/S Dirigida por Interrupção

Page 22: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 22

Três técnicas para

entrada de um bloco de

dados

Page 23: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 23

E/S Dirigida por

Interrupção

• Supera a espera da CPU (E/S Programada)• Nenhuma repetição de checagem de

dispositivos pela CPU• Módulo de E/S interrompe quando estiver

pronto

Page 24: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 24

E/S Dirigida por

Interrupção

Operação Básica

• CPU envia um comando de leitura• Módulo de E/S recebe os dados do periférico

enquanto a CPU realiza outras instruções• Módulo de E/S interrompe a CPU• CPU requisita os dados• Módulo de E/S transfere dados

Page 25: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 25

Do Ponto de Vista

da CPU

• Emite um comando de leitura• Prossegue com a realização de outras

instruções• Verifica se há interrupção no fim de cada

ciclo de instrução• Se interrupção:-

—Salva contexto (registros)—Processa a Interrompição

– Busca os dados e armazena

• Verifica as notas do SO

Page 26: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 26

Processamento de

interrupção simples

Page 27: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 27

Mudanças na memória e

registradores para uma

interrupção

Page 28: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 28

Aspectos de Projeto

• Como é identificado o módulo que emitiu a interrupção?

• Como lidar com múltiplas interrupções?—Isto é, o tratador de uma interrupção foi

interrompido?

Page 29: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 29

Identificando Módulo

que Enviou a

Interrupção (1)

• Linhas diferentes para cada módulo—Processador com número limite de pinos—Limita o número de dispositivos

• Identificação por Software—CPU pergunta a cada módulo, um por vez—Técnica lenta

Page 30: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 30

Identificando

Módulo que Enviou

a Interrupção (2)

• Daisy Chain ou Identificação por Hardware—O processador recebe uma interrupção—É enviado um reconhecimento que se propaga por

uma série de módulos de E/S até checar àquele que causou a interrupção

—Módulo responsável coloca vetor de interrupção (palavra especial) no barramento de dados

—CPU usa vetor de interrupção para identificar rotina do tratador de interrupção

• Arbitração do Barramento—Módulo deve reinvidicar o barramento antes de

enviar interrupção—Por exemplo: PCI & SCSI

Page 31: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 31

Interrupções

Múltiplas

• Quanto diversas linhas são utilizadas, cada linha de interrupção tem uma prioridade—Linhas com prioridade alta pode interromper

linhas com prioridade baixa• Identificação por software: ordem em que

os módulos são interrogados determina prioridades

• Daisy chain: ordem dos módulos na conexão em cadeia circular determina a prioridade

• Arbitração do barramento: somente o mestre atual pode interromper

Page 32: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

Acesso Direto à Memória

Page 33: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 33

Três técnicas para

entrada de um bloco de

dados

Page 34: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 34

Acesso direto à memória

• E/S controlada por interrupção e programada exige intervenção ativa da CPU.—Taxa de transferência é limitada.—CPU fica amarrada.

• DMA é a resposta.

Page 35: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 35

Função do DMA

• Módulo adicional (hardware) no barramento.• Controlador de DMA toma o comando da CPU para

E/S.

Page 36: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 36

Diagrama típico do

módulo de DMA

Page 37: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 37

Operação do DMA

• CPU diz ao controlador de DMA:—Leitura/escrita.—Endereço do dispositivo.—Endereço inicial do bloco de memória para dados.—Quantidade de dados a serem transferidos.

• CPU prossegue com outro trabalho.• Controlador de DMA lida com transferência.• Controlador de DMA envia interrupção quando

terminar.

Page 38: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 38

Transferência de DMA – Roubo de ciclo

• Controlador de DMA assume o barramento por um ciclo.• Transferência de uma palavra de dados.• Não uma interrupção.

—CPU não troca de contexto.• CPU suspensa logo antes de acessar o barramento.

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

• Atrasa a CPU, mas não tanto quanto a CPU fazendo transferência.

Page 39: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 39

DMA e pontos de interrupção durante um ciclo

de instrução

Page 40: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 40

Aparte

• Que efeito tem a memória caching sobre o DMA?

• E a cache da placa?• Dica: o quanto os barramentos do sistema

estão disponíveis?

Page 41: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 41

Configurações de DMA

• Único barramento, controle de DMA separado.• Cada transferência usa barramento duas vezes.

—E/S para DMA, depois DMA para memória.• CPU é suspensa duas vezes.

Page 42: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 42

• Único barramento, controlador de DMA integrado.• Controlador pode aceitar mais de um dispositivo.• Cada transferência usa barramento uma vez.

—DMA para memória.• CPU é suspensa uma vez.

Page 43: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 43

• Barramento de E/S separado.• Barramento aceita todos dispositivos habilitados para DMA.• Cada transferência usa barramento uma vez.

—DMA para memória.• CPU é suspensa uma vez.

Page 44: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 44 4

Comunicação S.O.(CPU) – ControladorE/S mapeada na memória

(a) Arquitetura com barramento único(b) Arquitetura com barramento duplo (dual)

Page 45: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 45

Secretária, por favor escreva o contratoagora para que eu possa assiná-lo; estou esperando.

Pois não Sr., um momento

Contrato pronto, estou enviando Ok, Obrigado

Programa sem interrupção

Secretária, por favor escreva o contratoagora, quando estiver pronto me avise.Pois não Sr.

Contrato pronto, posso enviá-lo?Um momento, estou terminado de escrever um ofício. ... agora pode enviar o contrato, obrigado. (Após receber o contrato, o chefe continua fazendo as outras atividades.....)

Programa com interrupção

Preciso enviar os contratos que estáo sobre a mesa do chefe para o correio

Boy, por favor apanhe os contratos que estão na pasta sobre a mesa do chefe para mim. Por favor não incomode o chefe.

Obrigada

Correio

Acesso Direto à Memória CPU

E/S Barramento

Chefe, enviei os contratos que estavam sobre sua mesa. (Ao fim da transferência, a CPU é interrompida e informada da transação)

Ok, obrigado.

Page 46: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 46 4

Acesso Direto à Memória (DMA)

Operação de uma transferência com DMA

Page 47: Aula 08 - Daves - Entrada e Saída · Capítulo 7 Entrada/saída William Stallings Arquitetura e Organização de Computadores 8a Edição slide 2 © 2010 Pearson Prentice Hall. Todos

© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 47 4

Como ocorre uma interrupção: conexões entre dispositivos e controlador de interrupção usam linhas de interrupção no barramento em vez de fios dedicados