arquitetura de computadores - módulos de e/s - por que usar módulos de e/s?...

46
Arquitetura de Computadores - Módulos de E/S por Helcio Wagner da Silva

Upload: lyhanh

Post on 23-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Arquitetura de Computadores- Módulos de E/S

por

Helcio Wagner da Silva

Modelo Geral de um Módulo de E/S

Módulo de E/S

Barramento de Endereço

Barramento de Dados

Barramento de Controle

Conexões com Dispositivosperiféricos 2

Por que usar Módulos de E/S?

• Há uma grande variedade de periféricos, comdiferentes mecanismos de operação– É impraticável incorporar ao µP a lógica necessária

para controlar vários dispositivos diferentes

• A taxa de transferência de dados dos periféricos érelativamente baixa– Não faz sentido usar barramentos de alta velocidade

para comunicação direta com um periférico

• Os periféricos usam freqüentemente formatos dedados e tamanhos de palavras diferentes dosusados internamente à máquina

3

Funções de um Módulo de E/S

• Controle e Temporização

• Comunicação com o µP

• Comunicação com dispositivos

• Área de armazenamento temporário de dados

• Detecção de erros

4

Exemplo da Função Controle e Temporização

1. O µP interroga o módulo de E/S para verificar o estado do dispositivo

2. O módulo retorna o estado do dispositivo3. Se o dispositivo estiver em operação e pronto

para transmitir dados, o µP requisitará atransferência enviando um comando para omódulo de E/S

4. O módulo de E/S obtém uma unidade de dados(p.ex., 8 ou 16 bits) do dispositivo

5. Os dados são transferidos do módulo de E/Spara o µP

5

Tópicos Envolvidos na Função Comunicação com o µP

• Decodificação de comandos– Conversão entre sinais transmitidos através do

barramento de controle e comandos usados pelosdispositivos

• Dados– São transferidos entre o µP e o módulo de E/S através

do barramento de dados

• Informação de estado– Lentidão dos periféricos faz com que seja importante

conhecer o estado do módulo de E/S

• Reconhecimento de endereço– O módulo de E/S deve reconhecer um endereço

distinto para cada periférico controlado6

A Função Comunicação com Dispositivos

7

Área de armazenamento

temporário

Transdutor

LógicaDe

Controle

Sinais de controleDo módulo de E/S(READ/WRITE)

Sinais de estado p/o módulo de E/S (READY/NOT READY)

Sinais de dados (bits) dee para o módulo de E/S

Dados de e para o ambiente

A Função Armazenamento Temporário de Dados

• A transferência de dados da memória principalpara o módulo de E/S é feita rapidamente– Esses dados são temporariamente armazenados no

módulo de E/S e então enviados para o dispositivonuma taxa adequada

• No caminho oposto, os dados são tambémarmazenados temporariamente no módulo deE/S para não reter a memória numa transferênciade dados a baixa velocidade

• O módulo de E/S deve ser capaz de realizaroperações tanto à velocidade da memória quantoà do dispositivo externo

8

A Função Detecção de Erros

• Erros possíveis:

– Mau funcionamento elétrico ou mecânico

• Falha de alimentação de papel

• Trilha de disco defeituosa

• etc

– Alterações no padrão de bits transmitidos por um dispositivo para o módulo de E/S

• Bits de paridade (p.ex., 8º bit em 1 Byte contendo um caractere ASCII)

9

Estrutura Interna de um Módulo de E/S

10

Lógica de interface

com dispositivo

externo

Lógica de interface

com dispositivo

externo

LógicaDeE/S

Registradores de dados

Registradores de estado/controle

Linhasde

dados

Linhasde

endereço

Linhasde

controle

Dados

Estado

Controle

Dados

Estado

Controle

Interface com o barramento do sistema

Interface com Dispositivos externos

Técnicas Usadas para E/S

Sem Interrupções Com Interrupções

Transferência entre memória e E/S por meio do µP

E/S programada E/S dirigida por interrupção

Transferência direta entre memória e E/S

- Acesso Direto à Memória(DMA)

11

E/S Programada

• Em um programa, a execução de uma instruçãorelacionada a E/S faz com que um comando sejaenviado para o módulo de E/S

• O módulo de E/S executa a operação requisitadae sinaliza o seu término carregando um valor noregistrador de estado

• Nenhuma ação é executada pelo módulo paraalertar o µP sobre o término da operação

• É responsabilidade do µP verificarperiodicamente o estado do módulo, para ver sea operação foi completada

12

E/S Programada 13

Envia cmd de leitura para o

módulo de E/S

Lê o estado do módulo de E/S

Lê uma palavra do

módulo de E/S

Escreve uma palavra na memória

Verifica estado

Terminou?

µP → módulo de E/S

módulo de E/S → µP

Condição de erro

módulo de E/S → µP

µP → memória

Pronto

Nãopronto

Não

SimPróxima instrução

Endereçamento de dispositivos de E/S

• E/S mapeada na memória– Há um único espaço de endereçamento para posições

de memória e dispositivos de E/S

– Exemplo:• Endereçamento de Byte

• Endereços de 10 bits → 1024 Bytes– Endereços 0-511: memória principal

– Endereços 512-1023: dispositivos de E/S

• E/S independente– Espaço de endereçamento de E/S é independente do

espaço de endereçamento da memória

14

E/S Mapeada na Memória

ENDEREÇO INSTRUÇÃO OPERANDO COMENTÁRIO

200 Carregar acumulador “1”

201 Armazenar acumulador 517 Iniciar leitura do teclado

202 Carregar acumulador 517 Obter byte de estado

203 Desviar se sinal = 0 202 Repetir até que esteja pronto

204 Carregar o acumulador 516 Carregar byte de dados

15

7 6 5 4 3 2 1 0

Registrador de dados de entrada do teclado

516

7 6 5 4 3 2 1 0

517Registrador de controle e de estadode entrada do teclado

Atribuir “1” para iniciar a leitura1 – pronto0 – ocupado

E/S Independente

ENDEREÇO INSTRUÇÃO OPERANDO COMENTÁRIO

200 Iniciar E/S 5 Iniciar leitura do teclado

201 Testar E/S 5 Testar se a operação foi completada

202 Desviar se não pronto 201 Repetir até que seja completada

203 Leitura 5 Carregar byte de dados

16

• Acesso aos dispositivos de E/S é feito atravésde instruções especiais (comandos)

E/S Dirigida por Interrupção

• μP envia um comando de E/S para o módulo econtinua a executar outras instruções

• O módulo de E/S interrompe o μP quando ele(módulo) estiver pronto para trocar dados

• μP efetua a transferência de dados e depoisretorna ao seu processamento original

• É mais eficiente que a E/S programada, poiselimina ciclos de espera desnecessários

17

18

Envia cmd de leitura para o

módulo de E/S

Lê o estado do módulo de E/S

Lê uma palavra do

módulo de E/S

Escreve uma palavra na memória

Verifica estado

Terminou?

µP → módulo de E/S

módulo de E/S → µP

Condição de erro

módulo de E/S → µP

µP → memória

Pronto

Não

Sim

Executa outrasinstruções

Interrupção

E/S Dirigidapor Interrupção

Próxima instrução

Processamento da Interrupção

19

Módulo de E/S envia uma interrupção

μP termina execução da instrução corrente

μP reconhece a interrupção

μP armazena PSW e PC na pilha de controle

μP carrega novo valor no PC, conforme interrupção

Demais informações de estado são armazenadas

Processamento da interrupção

Informações de estado do processo são restauradas

Antigos valores de PSW e PC são restaurados

Hardware

Software

Início

Processamento da Interrupção

20

Y

NN+1

Retorno

N+1T

Y

Y+L

Programa de usuário

Rotina de tratamento

de interrupção

Pilha de controle

PC

T

RTopo

21

Início

Processamento da Interrupção

21

Y

NN+1

Retorno

N+1

T-M

Y

Y+L

Programa de usuário

Rotina de tratamento

de interrupção

Pilha de controle

PC

T-M

RTopoRegistradores

T...

T-1

2222

Início

Processamento da Interrupção

22

Y+L

NN+1

Retorno

N+1

T-M

Y

Y+L

Programa de usuário

Rotina de tratamento

de interrupção

Pilha de controle

PC

T

RTopoRegistradores

T...

T-1

232323

Início

Processamento da Interrupção

23

N+1

NN+1

Retorno

N+1

Y

Y+L

Programa de usuário

Rotina de tratamento

de interrupção

Pilha de controle

PC

T

Identificação de Dispositivos

• Técnicas utilizadas:– Múltiplas linhas de interrupção

• Na prática, poucas linhas de μP são usadas para solicitação de interrupções

– Identificação por software• Consome muito tempo

– Identificação por hardware (vetorada)• Consome menos tempo que a identificação por SW

– Arbitração do barramento (vetorada)• Consome menos tempo que a identificação por SW

24

Identificação de Dispositivos – múltiplas linhas de interrupção

25

Módulo de E/S

Dispositivo

Módulo de E/S

Dispositivo

Módulo de E/S

Dispositivo

μP ...

...INTR#0

INTR#1

INTR#N

Identificação de Dispositivos – identificação por software

• Quando o μP detecta uma interrupção, ele desviaa execução para uma rotina de tratamento deinterrupções

• Esta rotina interroga cada módulo de E/S, paradeterminar qual deles causou a interrupção– Metodologias de interrogação:

• Linha de teste especial (TEST I/O) + colocação de endereçosdos módulos no barramento de endereços

• Leitura de registradores de estado

• Identificado o módulo, sua rotina de tratamentode interrupção específica é chamada

26

Identificação de Dispositivos – identificação por hardware

• O sinal de reconhecimento de interrupção se propaga pelosmódulos de E/S, até chegar àquele que originou a interrupção

• Esse módulo responde colocando uma palavra de dados, chamadavetor de interrupção, nas linhas de dados

• O vetor de interrupção contém o endereço do módulo de E/S, eserve para que o μP acione a rotina de tratamento de interrupçãoadequada ao dispositivo

27

Módulo de E/S

Módulo de E/S

Módulo de E/S

μPMódulo de E/S

Identificação de Dispositivos- arbitração do barramento

• Para enviar um sinal de interrupção, o módulode E/S precisa inicialmente obter o controledo barramento

• Quando o μP detecta a interrupção, eleresponde por meio da linha dereconhecimento de interrupção

• O módulo de E/S que causou a interrupçãocoloca seu vetor na linha de dados

28

O Controlador Intel 82C59A

• O Intel 80386 possui:– Uma única linha de requisição de interrupção (INTR)

– Uma única linha de reconhecimento de interrupção(INTA)

• Para manipular vários dispositivos e estruturas deprioridade, ele é normalmente configurado comum controlador de interrupções externo, o Intel82C59A

• Os módulos de E/S são conectados ao 82C59A,que por sua vez é conectado ao 80386

29

O Controlador Intel 82C59A

• Caso seja preciso controlar mais de oito módulos,pode ser usado um arranjo em cascata –possibilitando controlar até 64 módulos

30

IR0INTR

Módulo de E/S 00

Módulo de E/S 01IR1

Módulo de E/S 02IR2

Módulo de E/S 07IR7...

...INTR

INTA INTA

O Controlador Intel 82C59A

• O 82C59A é programável

• Modos de programação possíveis:– Totalmente aninhado

• As requisições de interrupção são ordenadas de acordocom as prioridades de 0 (IR0) a 7 (IR7)

– Circular• Num mesmo grupo de dispositivos, aquele que foi mais

recentemente atendido recebe a prioridade mais baixa

– Máscara especial• Possibilita ao μP inibir interrupções de determinados

dispositivos

31

O Módulo de E/S Intel 82C55A

• Pode ser programado para E/S programada ouE/S dirigida por interrupção

• Como interface externa para dispositivos,possui 3 grupos de linhas de 8 bits (A, B e C)

– Em um modo de operação específico, os 3 gruposfuncionam como 3 portas de E/S

– Nos demais modos, as linhas dos grupos A e Bfuncionam como portas de E/S e as do grupo Ccomo linhas de controle para os grupos A e B

32

O Módulo de E/S Intel 82C55A

33

LógicaDe

Controle

Registradorde Dados

Registradorde Controle

ReadWriteReset

CS

A0A1

Linhas deendereço

Barramento de 8 bits

buffers

8

8

8

4

4

8

8

Alimentação+5VTerra

Barramento de dados do 80386

A

B

CA

CB

34

R0R1R2R3R4R5ShiftControlData ReadyAcknowledge

Teclado

S0S1S2S3S4S5BackspaceClearData ReadyAcknowledgeBlankingClear Line

Monitorde Vídeo

82C55A

A0A1A2A3A4A5A6A7C4C5

B0B1B2B3B4B5B6B7C1C2C6C7

Porta deentrada

Porta desaída

Requisiçãode

interrupção

C3

Requisiçãode

interrupção

C0

Acesso Direto à Memória (DMA)

• Envolve um módulo adicional no barramento dosistema

• Esse módulo, denominado controlador de DMA,imita o μP nas funções de E/S de dados

• O controlador de DMA pode operar das seguintesmaneiras:– Usando o barramento apenas quando o μP não o

utiliza

– Forçando o μP a suspender temporariamente suaoperação – técnica conhecida como roubo de ciclo

35

Roubo de Ciclo

36

Busca de instrução

Decod.de instrução

Busca deoperando

Execução deinstrução

Armazenam.de resultado

Proc. deinterrupção

Ciclo do μP Ciclo do μP Ciclo do μP Ciclo do μP Ciclo do μP Ciclo do μP

Ciclo de instrução

Tempo

Pontos de suspensãode DMA

Pontos de suspensãode interrupção

Acesso Direto à Memória (DMA)

37

Envia cmd de leitura para o

módulo de E/S

Lê o estado do controlador DMA

µP → controlador DMA

Controlador DMA → µP

Próxima instrução

Executa outrasinstruções

Interrupção

Estrutura Interna de Um Módulo DMA

38

Contador de dados

Registrador de dados

Registrador de endereços

Lógica de

Controle

DMA Request

DMA Acknowledgement

Interrupt

Read

Write

Linhas de endereço

Linhas de dados

Configurações de DMA

• Algumas possibilidades:

– Barramento único, DMA separado

– Barramento único, DMA-E/S integrados

– Barramento específico de E/S

39

Configurações de DMA – Barramento Único, DMA separado

• Barata

• Ineficiente – a transferência de cada palavraconsome vários ciclos de barramento

40

μP DMA E/S E/S Memória...

Configurações de DMA - Barramento Único, DMA-E/S Integrados

• Custosa

• Eficiente

41

μP DMA

E/S E/S

Memória

E/S

DMA

Configurações de DMA- Barramento Específico de E/S

42

μP

E/S E/S

Memória

E/S

DMA

• Custosa

• Eficiente

Barramento do sistema

Barramento de E/S

Evolução: canais e processadores de E/S

1. μP controla diretamente dispositivos

2. Módulos de E/S são adicionados

3. Interrupções são utilizadas

4. É introduzido o módulo de DMA

5. O módulo de E/S evolui para um canal, eexecuta programas de E/S carregados damemória principal

6. O canal evolui para um processador, possuindosua própria memória local

43

Tipos de Canais

• Seletores

– Dedicam-se à transferência de dados apenas com um único dispositivo por vez

• Multiplexadores

– Transferem dados de/para vários dispositivos simultaneamente

44

Canal Seletor

45

CanalSeletor

Módulo de E/S

Módulo de E/S

dispositivo dispositivo dispositivo

Memóriaprincipal

μP

Canal Multiplexador

46

CanalMultiplexador

Módulo de E/S

Módulo de E/S

dispositivo

dispositivo

dispositivo

Memóriaprincipal

μP

Módulo de E/S

dispositivo