Buscar

Aula_009 - Entrada e saída (E_S).pdf

Prévia do material em texto

1
Aula 9
Professores:
Lúcia M. A. Drummond
Simone de Lima Martins
Conteúdo:
Entrada e Saída (E/S)
 - Dispositivos externos
 - Interface de E/S
 - Operações de E/S
2
Dispositivos externos
• Dispositivos externos são denominados dispositivos periféricos 
 ou periféricos e permitem a comunicação da máquina com o 
 ambiente externo
− Dispositivos voltados para a comunicação com o usuário
− Dispositivos voltados para a comunicação com a máquina
− Dispositivos voltados para a comunicação com dispositivos 
 remotos
• Discos magnéticos e sensores
• Modem e interface de rede
(Fig. 10.2 do livro texto) 
Entrada Saída
Monitor de vídeo
UCP
MP
3
Dispositivos externos
• Existe uma grande variedade de periféricos com diferentes formas 
 de funcionamento
(Fig. 10.6 do livro texto) 
Disco rígido
UCP
MP
Impressora
Vídeo
Teclado
Mouse
Disquete
4
Dispositivos externos
• Dispositivos de E/S são conectados a módulos de E/S que se 
 comunicam com os outros componentes da máquina através 
 do barramento
(Fig. 10.4 do livro texto) 
UCP MP E/S E/S E/S
Endereços
Controle
Dados
UCP MPMP E/S E/S E/S
Dados - Endereços - Controle
. . . . . . . .
5
Dispositivos externos
• Monitor de vídeo em modalidade gráfica
(Fig. 10.24 do livro texto) 
. . . . . . 
. 
.
.
.
.
.
. . . .
. .
 .
.
.
.
.
. . . .
Pixel 321
Pixel 1
Pixel 320
Pixel 640
Pixel 64000
6
Dispositivos externos
• Teclado
(Fig. 10.43 do livro texto) 
+5 V
d0
d1
d2
d3
d4
d5
d6
d7
Po
rta
 d
e 
sa
íd
a
d0d1d2d3d4d5d6d7
Porta de entrada
Resistores de 
terminação
64 chaves tipo
tecla
7
Dispositivos externos
• Disco magnético
Rotação
Setor Eixo
Braço que se move
de fora para dentro
Direção do
movimento do braço
Cabeça de
leitura/escrita
(Fig. 10.32 do livro texto) 
8
Dispositivos externos
• Disco magnético
0
1
2
3
4
5
6
7
8
9
Cilindro do disco
Trilha
Mecanismo de
leitura/escrita
Prato do disco
Mecanismo de
leitura/escrita
Trilha
(Fig. 10.34 do livro texto) 
9
Interface de E/S
• Existe uma grande variedade de periféricos
− Entregam e recebem quantidades diferentes de dados
− Trabalham em velocidades diferentes
− Utilizam diferentes formatos
• Todos são mais lentos que a UCP e memória principal
• Necessita-se de módulos, controladores ou interfaces de E/S
10
Interface de E/S
• Modelo geral de um dispositivo externo
(Fig. 6.2 do livro de Arquitetura e Organização de Computadores" , William Stallings)
Dados (específicos ao
dispositivo) de e para
o ambiente
Sinais de dados (bits)
de e para o
módulo de E/S
Sinais de estado
para o módulo 
de E/S
Área de
armazenamento temporário
Transdutor
Sinais de 
controle do
módulo de E/S
Lógica de
controle
11
Interface de E/S
• Diagrama de blocos
(Fig. 6.4 do livro de Arquitetura e Organização de Computadores" , William Stallings)
Interface com
dispositivos externos
Linhas de
controle
Linhas de
endereço
Linhas de
dados
Interface com o 
barramento do sistema
Lógica 
de E/S
Registradores de dados Lógica deinterface
com
dispositivo
externo
Lógica de
interface
com
dispositivo
externo
•
•
•
Registradores de estado/controle
Dados
Estado
Controle
Dados
Estado
Controle
12
Interface de E/S
• Conexão UCP/MP a controladores de E/S
(Fig. 10.8 do livro texto) 
UCP
MP
CONTROLADOR
DE E/S - 1
CONTROLADOR
DE E/S - 2
CONTROLADOR
DE E/S - N
.....
P1 P2 P4P3 P5
UCP
MP
CONTROLADOR DE E/S
P2 P3P1
Controle DadosEndereço
13
Interface de E/S
• Controle e sincronismo do fluxo de dados entre a UCP/MP e periférico
− Exemplo:
1. UCP interroga interface de E/S para verificar estado do dispositivo 
 a ela conectado
− Interações entre UCP e interface de E/S são realizadas através 
 de compartilhamento de barramentos
2. A interface de E/S retorna o estado do dispositivo
3. Se o dispositivo estiver pronto para operar, a UCP requisita a 
 transferência de dados, enviando um comando para a interface de E/S
4. A interface de E/S recebe ou transmite uma unidade de dados de/para 
 o dispositivo externo
5. Os dados são transferidos de/para a interface de E/S para/de a UCP
14
Interface de E/S
• Comunicação com a UCP
− Decodificação de comando
− Os dados são transmitidos através do barramento de dados
− Informação de estado
− Reconhecimento de endereço
• Comunicação com os dispositivos
• Comandos, informação de estado e dados
15
Interface de E/S
• Armazenamento temporário de dados
− As taxas de transferência de dados dos dispositivos periféricos 
 apresentam ordens de grandeza menores que as taxas de 
 transferência entre memória principal e UCP 
• Detecção de erros
− Compreendem uma ampla faixa de valores
16
Interface de E/S
• Transmissão de dados entre periférico e interface de E/S
− Serial
− Paralela
• Bit a bit
• Grupos de bits de cada vez
17
Interface de E/S
• Transmissão serial 
(Fig. 10.9 do livro texto) 
(Fig. 10.10 do livro texto) 
UCP/MP
Interface
Buffer Periférico
10110001
Serial
Barramento do sistema
T R
10101100
1 0 1 0 1 1 0 0
1 ms 1 ms 1 ms 1 ms 1 ms 1 ms 1 ms 1 ms
Linha de transmissão
Transmissor
1000 bps
Receptor
1000 bps
1 ms 1 ms
Transmissor: 1 bit = 1/1000 s = 1 ms
18
Interface de E/S
• Transmissão serial assíncrona
(Fig. 10.11 do livro texto) 
(Fig. 10.12 do livro texto) 
T R
Linha de transmissão
01010010
Caractere ASCII "R"
STOP START0 1 0 1 0 0 1 0
Queda de tensão
Nível alto ( bit 1) Nível alto ( bit 1)
Caractere
chega em
paralelo
Transmissor
0
1
0
0
1
0
1
0
UART
Receptor
UART
bit a bit
01001010
Transmissão serial
19
Interface de E/S
• Transmissão serial síncrona
(Fig. 10.14 do livro texto) 
T R
Transmissor ReceptorTransmissão
CC CN C2 C1 CC CC CC..........................................CC
Bloco de transmissão
caracteres de dadosC1, C2, C3 ...
caracteres especiais de controleCC
20
Interface de E/S
• Transmissão paralela
(Fig. 10.15 do livro texto) 
T R
Transmissor Receptor
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
Transmissão
Caractere 2 Caractere 1
21
Operações de E/S
• Endereçamento de dispositivos
− E/S mapeada na memória
• Existe um único espaço de endereçamento para posições de 
 memória e dispositivos de E/S
• Registradores de dados e de estado das interfaces de E/S são 
 vistos pela UCP como endereços de memória
• São utilizadas as mesmas instruções para acessar memória e dispositivos
− E/S independente
• Espaços de endereçamento diferentes para posições de memória 
 e dispositivos de E/S
• Necessita linhas diferentes para indicar acesso à memória ou dispositivos
• Comandos especiais de E/S
22
Operações de E/S
• Técnicas de realização das operações de Entrada e Saída
− Por programa
− Interrupção
− Acesso direto à memória
23
Operações de E/S
• Entrada e Saída por programa
− UCP tem controle direto da operação de E/S
− UCP tem que monitorar toda a realização da operação
− Desperdício de tempo da UCP
• Detecção do estado do dispositivo
• Envio de comandos de leitura ou escrita
• Transferência de dados
24
Operações de E/S
• Entrada e Saída por programa
(Fig. 6.5(a) do livro de Arquitetura e Organização de Computadores", William Stallings)
Terminou?
Verifica o 
estado
Próxima instrução
Sim
Não
Não
pronto
Pronto
CPU → E/S
E/S → CPU
Condição
de erro
E/S → CPU
CPU → Memória
Envia comando 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
25
Operações de E/S
• Entrada e Saída por programa
− E/S mapeada na memória
− E/S independente
ENDEREÇO INSTRUÇÃO COMENTÁRIO
200
202
Carregar acumulador
Armazenar acumulador
Carregar acumulador
Desviar se sinal = 0
Carregar acumulador
Iniciar leitura do teclado
Obter byte de estado
Repetir até que esteja pronto
Carregar byte de dados
OPERANDO
" 1"
517
517
202
516
ENDEREÇO INSTRUÇÃO COMENTÁRIO
200
201
Iniciar E/S
Testar E/S
Desviar se não pronto
Leitura
Iniciar leitura do teclado
Testar se a operação foi completada
Repetir até que seja completada
Carregar byte de dados
OPERANDO
5
5
201
4
7 6 5 4 3 2 1 0
516 Registrador de dados de entrada do teclado
7 6 5 4 3 2 1 0
517
Registrador de controle e de estado
de entrada do teclado
1 - pronto
0 - ocupado
Atribuir 1 para
iniciar a leitura
(Fig. 6.6(a) do livro de Arquitetura e Organização de Computadores" , William Stallings)
(Fig. 6.6(b) do livro de Arquitetura e Organização de Computadores" , William Stallings)
26
Operações de E/S
• Interrupção
− UCP não precisa monitorar dispositivo
− A interface de E/S interrompe a UCP quando o dispositivo 
 está pronto para realizar a transferência de dados com a UCP
27
Operações de E/S
• Interrupção
(Fig. 6.5(b) do livro de Arquitetura e Organização de Computadores" , William Stallings)
Terminou?
Verifica o 
estado
Próxima instrução
Sim
Não
Pronto
CPU → E/S
E/S → CPU
Condição
de erro
E/S → CPU
CPU → Memória
Executa 
outras instruções
Interrupção
Envia comando 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
28
Operações de E/S
• E/S por programa e Interrupção
(Fig. 6.5(a) e (b) do livro de Arquitetura e Organização de Computadores" , William Stallings)
Terminou?
Escreve uma palavra 
na memória
Lê uma palavra
do módulo de E/S
Lê o estado do
módulo de E/S
Verifica o 
estado
Envia comando de leitura
para o módulo de E/S
Próxima instrução
Sim
Não
Não
pronto
Pronto
CPU → E/S
E/S → CPU
Condição
de erro
E/S → CPU
CPU → Memória
Terminou?
Escreve uma palavra 
na memória
Lê uma palavra
do módulo de E/S
Lê o estado do
módulo de E/S
Verifica o 
estado
Envia comando de leitura
para o módulo de E/S
Próxima instrução
Sim
Não
Pronto
CPU → E/S
E/S → CPU
Condição
de erro
E/S → CPU
CPU → Memória
Executa 
outras instruções
Interrupção
29
Operações de E/S
• Interrupção
Software
(Fig. 6.7 do livro de Arquitetura e Organização de Computadores" , William Stallings)
Um controlador de dispositivo
ou outro hardware do sistema
envia uma interrupção
O processador termina
a execução da instrução
corrente
O processador envia o
reconhecimento da
interrupção
O processador armazena o
conteúdo dos registradores
PSW e PC na pilha de controle
O processador carrega um
novo valor no registrador PC,
conforme a interrupção
As demais informações
de estado do processo
são armazenadas
Processamento da interrupção
A informação de estado do
processo é restaurada
Os antigos valores dos 
registradores PSW e PC
são restaurados
Hardware
30
Operações de E/S
• Interrupção
− UCP envia um comando de leitura
− Executa outro procedimento
− Verifica se existe uma interrupção ao final de cada ciclo 
 de instrução
− Se existe algum pedido de interrupção:
• Salva contexto
• Processa atendimento à interrupção
− Obtém e armazena dados
31
Operações de E/S
• Interrupção
(Fig. 6.8(a) do livro de Arquitetura e Organização de Computadores" , William Stallings)
T + M
T
N + 1
N
Y + L
Y
Retorno
Início
Registradores
•
•
Apontador de
topo da pilha
N + 1
Contador de
programa
Programa
de usuário
Rotina de tratamento
de interrupção
Pilha de controle
T
32
Operações de E/S
• Desvantagens de E/S por programa e por interrupção
− A taxa de transferência de E/S é limitada pela velocidade 
 com que a UCP pode testar e servir um dispositivo
− A UCP se ocupa de gerenciar a transferência de dados de E/S, 
 tendo de executar várias instruções a cada transferência
• Técnica de acesso direto à memória mais eficiente 
− DMA (Direct Memory Access)
33
Operações de E/S
• Acesso direto à memória
(Fig. 6.5(c) do livro de Arquitetura e Organização de Computadores" , William Stallings)
Envia comando
de leitura de
bloco para o
módulo E/S
CPU → DMA
Executa 
outras instruções
Interrupção
Lê o estado do
módulo DMA DMA → CPU
Próxima instrução
34
Operações de E/S
• E/S por programa, Interrupção e Acesso direto à memória
(Fig. 6.5 do livro de Arquitetura e Organização de Computadores" , William Stallings)
Terminou?
Escreve uma palavra 
na memória
Lê uma palavra
do módulo de E/S
Lê o estado do
módulo de E/S
Verifica o 
estado
Envia comando de leitura
para o módulo de E/S
Próxima instrução
Sim
Não
Pronto
CPU → E/S
E/S → CPU
Condição
de erro
E/S → CPU
CPU → Memória
Executa 
outras 
instruções
Interrupção
Terminou?
Escreve uma palavra 
na memória
Lê uma palavra
do módulo de E/S
Lê o estado do
módulo de E/S
Verifica o 
estado
Envia comando de leitura
para o módulo de E/S
Próxima instrução
Sim
Não
Não
pronto
Pronto
CPU → E/S
E/S → CPU
Condição
de erro
E/S → CPU
CPU → Memória
Envia comando
de leitura de
bloco para o
módulo E/S
CPU → DMA
Executa 
outras 
instruções
Interrupção
Lê o estado do
módulo DMA DMA → CPU
Próxima instrução
35
Operações de E/S
• Diagrama de blocos de um controlador de DMA
Contador
de dados
Registrador
de dados
Registrador
de endereços
Lógica de
controle
Linhas de dados
Linhas de endereço
DMA Request
DMA Acknowledge
Interrupt
Read
Write
(Fig. 6.12 do livro de Arquitetura e Organização de Computadores" , William Stallings)
36
Operações de E/S
• Informação enviada pela UCP para o controlador de DMA
(Fig. 6.12 do livro de Arquitetura e Organização de Computadores" , William Stallings)
− Indicação de operação de leitura ou escrita
Contador
de dados
Registrador
de dados
Registrador
de endereços
Lógica de
controle
Linhas de dados
Linhas de endereço
DMA Request
DMA Acknowledge
Interrupt
Read
Write
37
Operações de E/S
• Informação enviada pela UCP para o controlador de DMA
− Endereço do dispositivo de E/S enviado pelas linhas de dados
(Fig. 6.12 do livro de Arquitetura e Organização de Computadores" , William Stallings)
Contador
de dados
Registrador
de dados
Registrador
de endereços
Lógica de
controle
Linhas de dados
Linhas de endereço
DMA Request
DMA Acknowledge
Interrupt
Read
Write
38
Operações de E/S
• Informação enviada pela UCP para o controlador de DMA
− Endereço de memória para início de leitura ou escrita de dados 
 enviado pelas linhas de dados 
(Fig. 6.12 do livro de Arquitetura e Organização de Computadores" , William Stallings)
Contador
de dados
Registrador
de dados
Registrador
de endereços
Lógica de
controle
Linhas de dados
Linhas de endereço
DMA Request
DMA Acknowledge
Interrupt
Read
Write
39Operações de E/S
• Informação enviada pela UCP para o controlador de DMA
− Número de palavras a serem lidas ou escritas enviado pelas 
 linhas de dados
(Fig. 6.12 do livro de Arquitetura e Organização de Computadores" , William Stallings)
Contador
de dados
Registrador
de dados
Registrador
de endereços
Lógica de
controle
Linhas de dados
Linhas de endereço
DMA Request
DMA Acknowledge
Interrupt
Read
Write
40
Operações de E/S
• Operação do controlador de DMA
− UCP executa outras instruções
− O controlador de DMA transfere diretamente todo o bloco
 de dados de ou para a memória
− O controlador de DMA envia um sinal de interrupção quando 
 a transferência é concluída
41
Operações de E/S
• O controlador de DMA tem que acessar o barramento
• O controlador de DMA efetua a transferência de uma palavra 
 por acesso ao barramento
• A UCP não pode acessar o barramento mas não necessita 
 executar instruções relacionadas à transferência
− Não realiza troca de contexto
• A UCP é suspensa antes que precise acessar o barramento
− Antes de ler ou escrever da/na memória
• Torna a execução das instruções um pouco mais lenta mas não 
 tanto quanto nos casos em que a UCP realiza a transferência
42
Operações de E/S
• Pontos de suspensão de DMA e de interrupção
Ciclo do
processador
Ciclo do
processador
Ciclo do
processador
Ciclo do
processador
Ciclo do
processador
Ciclo do
processador
Busca de
instrução
Decodificação
de instrução
Busca de
operando
Execução de
instrução
Armazenamento
de resultado
Processamento
de interrupção
Ciclo de instrução
Tempo
Pontos de suspensão
de DMA
Ponto de suspensão
de interrupção
(Fig. 6.13 do livro de Arquitetura e Organização de Computadores" , William Stallings)
43
Operações de E/S
• Configuração de DMA (1)
(Fig. 6.14(a) do livro de Arquitetura e Organização de Computadores" , William Stallings)
− Cada transferência utiliza duas vezes o barramento
− A UCP é suspensa duas vezes
• • • 
Processador DMA E/S E/S Memória
44
Operações de E/S
• Configuração de DMA (2)
(Fig. 6.14(b) do livro de Arquitetura e Organização de Computadores" , William Stallings)
− Um controlador pode atender mais de um dispositivo
− Cada transferência utiliza uma vez o barramento
− A UCP é suspensa uma vez
Processador DMA MemóriaDMA
E/S
E/S E/S
45
Operações de E/S
• Configuração de DMA (3)
(Fig. 6.14(c) do livro de Arquitetura e Organização de Computadores" , William Stallings)
− Todos os dispositivos são conectados ao controlador através 
 de um único barramento
− Cada transferência utiliza uma vez o barramento
− A UCP é suspensa uma vez
Processador Memória
Barramento do sistema
Barramento de E/S
DMA
E/S E/S E/S
46
Exercícios
• Capítulo 10 do livro texto
 − 14, 15, 21, 22, 25, 26, 30, 31 ,32

Continue navegando