SEL/EESC-USP Grupo de Sistemas Digitais
SEL-0415
Introdução à Organização de
Computadores
Dispositivos de Entrada e Saída
Aula 9
Prof. Dr. Marcelo Andrade da Costa Vieira
ENTRADA e SAÍDA (E/S)
SEL/EESC-USP Grupo de Sistemas Digitais
(I/O - Input/Output)
n  Inserção dos dados (programa)
n  Apresentação dos resultados
n  Comunicação Homem/Máquina
ENTRADA e SAÍDA (E/S)
SEL/EESC-USP Grupo de Sistemas Digitais
(I/O - Input/Output)
ENTRADA e SAÍDA (E/S)
SEL/EESC-USP Grupo de Sistemas Digitais
(I/O - Input/Output)
n Entrada Æ Dispositivos (geralmente baseados
em chaves) por onde informações entram na
memória
n  Ex.:
Teclados, Portas
n Saída Æ Dispositivos que mostram o resultado
da operação executada
n 
Ex:
Ø  Monitores
Ø  Impressoras
Ø  Armazenamento
secundário…
Dispositivos de Entrada
SEL/EESC-USP Grupo de Sistemas Digitais
Periféricos
n 
Existem alguns que são especializados apenas em
ENTRADA:
Ø Teclado Æ Lê os caracteres digitados pelo usuário
Ø MOUSE Æ Lê os movimentos e toque de botões
Ø Drive de CD-ROM Æ Lê dados de discos CD-ROM
Ø Microfone Æ Transmite sons para o computador
Ø SCANNER Æ Usado para “digitalizar" figuras ou fotos
Dispositivos de Saída
SEL/EESC-USP Grupo de Sistemas Digitais
Periféricos
n 
Outros especializados apenas em SAÍDA:
Ø Vídeo Æ Mostra ao usuário, na tela caracteres e gráficos
Ø Impressora Æ Imprime caracteres e gráficos
Ø Alto-falante Æ Realiza comunicação com o usuário através
de som
Dispositivos de Entrada e Saída
SEL/EESC-USP Grupo de Sistemas Digitais
Periféricos
n Outros em ENTRADA E SAÍDA
Ø Disco rígido - Grava e lê dados
Ø Drive de disquete - Grava e lê dados em disquetes
Ø Unidade de fita magnética - Grava e lê dados em fitas
magnéticas
Ø  MODEM - Transmite e recebe dados pela linha telefônica
Dispositivos de Entrada e Saída
para Controle de Processos
SEL/EESC-USP Grupo de Sistemas Digitais
Periféricos
n Menos Tradicionais (microcontroladores)
Ø Sensores
Ø Motores de Passo
Ø Fotocélulas
Ø Termostatos
SEL/EESC-USP Grupo de Sistemas Digitais
Dispositivos de Entrada e Saída
Interfaces de Entrada e Saída
SEL/EESC-USP Grupo de Sistemas Digitais
Interfaces de (I/O)
n 
Geralmente a CPU não pode comunicar-se diretamente
com os periféricos [ a comunicação é feita com a
ajuda de circuitos chamados de Interfaces ou
Módulos de I/O
n 
Funções:
n 
n 
n 
n 
Presentes entre o barramento e o periférico
Compatibilidade entre os dispositivos e o µP
Controle da comunicação
Ex.: controlador de vídeo, controlador de disco, etc...
SEL/EESC-USP Grupo de Sistemas Digitais
Interfaces de Entrada e Saída
SEL/EESC-USP Grupo de Sistemas Digitais
Interface de Entrada e Saída
Buffers
Interface
SEL/EESC-USP Grupo de Sistemas Digitais
Operações de E/S
Operações de I/O
SEL/EESC-USP Grupo de Sistemas Digitais
Métodos para realização de operações de I/O
u  Três tipos principais:
u 
Programada (Pooling)
u 
Interrupção
u 
Acesso Direto à Memória (DMA)
SEL/EESC-USP Grupo de Sistemas Digitais
EXEMPLO FIGURATIVO
A EMPREGADA ESTÁ
LIMPANDO A CASA E TEM
COMO FUNÇÃO RECEBER O
RECADO DE QUEM LIGAR.
SEL/EESC-USP Grupo de Sistemas Digitais
EXEMPLO FIGURATIVO
PROGRAMADA (telefone SEM
campainha): a empregada de tempos
em tempos verifica se há alguém
querendo lhe falar ao telefone
INTERRUPÇÃO (telefone COM
campainha): a empregada pára de
fazer o serviço quando o telefone
toca, pois há alguém querendo lhe
falar ao telefone
DMA - ACESSO DIRETO À MEMÓRIA
(telefone COM campainha e COM
secretária eletrônica): o telefone toca, a
secretária eletrônica armazena o recado
e a empregada pára de fazer o serviço
quando lhe convier para ouvir o recado.
Varredura
SEL/EESC-USP Grupo de Sistemas Digitais
I/O por Programa (Varredura)
u  A
CPU controla diretamente todas as etapas da
comunicação
u  O programa deve verificar os dispositivos de
entrada e saída e parar o processamento durante a
transmissão
u  Subrotina de verificação dos dispositivos de
entrada e saída
u  Tempo de transmissão dos dispositivos de I/O são
muito altos comparados ao µP
u  Processo muito pouco eficiente
Interrupção
SEL/EESC-USP Grupo de Sistemas Digitais
I/O por Interrupção
u  A
CPU aguarda a interface de I/O requisitar uma
transmissão
u  Enquanto isso o µP pode realizar outras tarefas
u  Quando a interface está pronta para a transmissão
ela avisa o µP
u  O µP interrompe a atividade corrente e inicia a
comunicação com o dispositivo de I/O
u  Processo mais eficiente do que a operação por
varredura, mas ainda sobrecarrega o µP durante a
comunicação com o periférico
SEL/EESC-USP Grupo de Sistemas Digitais
INTERRUPÇÃO
1.  Atende à acontecimentos assíncronos (imprevisível);
2.  Não precisa esperar para que ele ocorra – o
microprocessador não deixa de ser utilizado para outras
funções;
3.  Pode ser interna ou externa
4.  Interna: divisão por zero, overflow, etc.
5.  Externa: Interface de I/O
SEL/EESC-USP Grupo de Sistemas Digitais
INTERRUPÇÃO
6. 
O evento envia um sinal de pedido de interrupção (INTERRUPT
REQUEST – IRQ) ao µP por meio de uma linha de controle do
barramento externo do sistema
7. 
O µP pode aceitar ou rejeitar o pedido, gerando um sinal de
reconhecimento de interrupção (INTERRUPT ACKNOWLEDGE –
IACK) numa linha de controle do barramento externo do sistema
8. 
O µP pára a execução do programa (via hardware), grava o
endereço de retorno (PC+1) na pilha e atende à rotina de
interrupção
9. 
Após a execução da rotina de interrupção, a microprocessador
volta ao ponto onde parou no programa principal
10.  Nem sempre é possível prever o local exato de retorno da
interrupção
11.  Uma subrotina é um evento síncrono (previsível) – varredura, a
interrupção não é.
SEL/EESC-USP Grupo de Sistemas Digitais
INTERRUPÇÃO
Grupo de Sistemas Digitais
Pilha (Stack)
§ 
Memória Sequencial do tipo LIFO (Last in First Out)
§ 
Acessada sequencialmente pela CPU
§ 
Reservada geralmente para armazenamento de
endereços de retorno de sub-rotina ou interrupção
Pilha (Stack)
ü uso mais importante Æ chamada de sub-rotina:
ü  CALL Æ instrução que diz à CPU para ir ao
endereço de início de uma sub-rotina e executála
Grupo de Sistemas Digitais
ü  RETURN Æ última instrução
Guarda automaticamente o endereço de retorno
na pilha (PC+1) antes de ir para a sub-rotina
Resgata da pilha o endereço de retorno e salva
no registrador PC (program counter)
Pilha (Stack)
§ 
Pode também ser usada para armazenar/ler dados
temporários sequenciais se necessário (instruções Push e
Pop)
Grupo de Sistemas Digitais
§  Cada posição da pilha possui m bits [ tamanho necessário
para armazenar cada endereço de retorno (do registrador
Program Counter – PC).
§ 
No microcontrolador PIC 16F877, por exemplo, a pilha é
uma memória de 8 posições separada da RAM interna.
§ 
No microcontrolador 8051, por exemplo, usa uma área da
RAM que deve ser reservada para a pilha, que é indicada
por um ponteiro (Stack Pointer - SP)
Ponteiro de Pilha
Registrador Stack Pointer
• 
SP Æ Ponteiro de Pilha (Stack Pointer)
•  Indica o último endereço da pilha (topo da pilha) e é
incrementado cada vez que é usado
Grupo de Sistemas Digitais
•  O SP tem largura de n bits [ o qual define o
tamanho máximo da pilha (número de endereços)
•  cada posição da pilha possui m bits [ tamanho
suficiente para armazenar cada endereço de retorno
(do registrador Program Counter – PC).
Ponteiro de Pilha
Registrador Stack Pointer
•  SP é incrementado antes dos dados serem
armazenados como resultado de uma instrução PUSH
ou CALL ou de um atendimento à interrupção
Grupo de Sistemas Digitais
•  SP é decrementado após os dados serem lidos como
resultado de uma instrução POP ou RETURN
•  A pilha pode ficar em qualquer posição na RAM
interna, carregando-se o endereço adequado no SP
DMA
SEL/EESC-USP Grupo de Sistemas Digitais
I/0 por DMA (Direct Memory Access)
u  Permite
a movimentação de dados entre os
dispositivos de I/O e a memória do
microcomputador sem envolver o processador
nesta transferência
u  Processo
mais eficiente do que todos os outros,
pois não utiliza o µP e não sobrecarrega o
barramento.
DMA - ACESSO DIRETO À MEMÓRIA
SEL/EESC-USP Grupo de Sistemas Digitais
u 
u 
u 
Dispositivo de hardware dedicado à operação de
transferência de dados entre um dispositivo de I/O e a
memória;
Coloca a saída do microprocessador em estado de
alta impedância (desligado) para permitir a um
dispositivo externo o Acesso Direto à Memória – Bus
Request
Acesso direto à memória (DMA) permite uma forma
mais rápida de mover dados entre as portas de I/O e a
memória.
SEL/EESC-USP Grupo de Sistemas Digitais
DMA - ACESSO DIRETO À MEMÓRIA
SEL/EESC-USP Grupo de Sistemas Digitais
FIM
Download

Aula 9 - Dispositivos de Entrada e Saida