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

Post on 11-Nov-2018

223 views 0 download

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

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: daves.martins@ifsudestemg.edu.br

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

© 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

© 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.

© 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.

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

Modelo genérico de

módulo de E/S

© 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).

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

Diagrama em blocos de

um dispositivo externo

© 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.

© 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.

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

Diagrama do módulo de E/S

© 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.

© 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).

E/S Programada

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

Três técnicas para

entrada de um bloco de

dados

© 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

© 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

© 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

© 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)

© 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

E/S Dirigida por Interrupção

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

Três técnicas para

entrada de um bloco de

dados

© 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

© 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

© 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

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

Processamento de

interrupção simples

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

Mudanças na memória e

registradores para uma

interrupção

© 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?

© 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

© 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

© 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

Acesso Direto à Memória

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

Três técnicas para

entrada de um bloco de

dados

© 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.

© 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.

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

Diagrama típico do

módulo de DMA

© 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.

© 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.

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

DMA e pontos de interrupção durante um ciclo

de instrução

© 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?

© 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.

© 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.

© 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.

© 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)

© 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.

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

Acesso Direto à Memória (DMA)

Operação de uma transferência com DMA

© 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