Vous êtes sur la page 1sur 83

Parte 7

1
2
Grande variedade de perifricos:
Entregando diferentes quantidades de dados.
Em velocidades diferentes.
Em formatos diferentes.
Todos mais lentos que CPU e RAM.
Precisa de mdulos de E/S.
Interface com CPU e memria atravs do
barramento ou comutador (switch) central.
Interface com um ou mais perifricos atravs
de enlaces de dados pr-definidos.
6
As operaes de E/S so executadas por uma
grande variedade de dispositivos externos os
quais possibilitam a troca de dados entre o
ambiente externo e o computador.
Um dispositivo externo conecta-se ao
computador atravs de um mdulo de E/S
Mundo
externo
Dispositivo
externo
Computador
Mdulo de
E/S
Legveis ao ser humano: adequados para a
comunicao com usurio de computador.
Monitor, impressora, teclado.
Legveis mquina: adequados para a
comunicao com equipamentos
Monitorao e controle.
Comunicao: adequados para a
comunicao com dispositivos remotos.
Modem.
Placa de interface de rede (NIC).
No diagrama mostrado ao
lado, para que servem os
seguintes elementos do
dispositivo externo?
Sinais de controle
Dados
Sinais de estado
Lgica de controle
Transdutor
Buffer.
Sinais de controle: determinam
a funo que o dispositivos
realizar como enviar dados ao
mdulo de E/S (INPUT ou
READ), aceitar dados do
mdulo de E/S (OUTPUT ou
WRITE), informar o estado ou
realizar alguma funo de
controle particular do
dispositivos.
Dados: conjuntos de bits a
serem enviados/recebidos do
dispositivo externo.
Sinais de estado: indicam o
estado do dispositivo.
Lgica de controle: controla a
operao do dispositivo em
resposta direo do mdulo
de E/S.
Transdutor: converte dados de
eltrico para outras formas de
energia durante a sada e de
outras formas de energia para
eltrico durante a entrada.
Buffer: associado ao transdutor
para manter temporariamente
os dados sendo transferidos
entre o mdulo de E/S e o
ambiente externo.
Em termos gerais, como funciona um teclado?
15
Dentre as funes do mdulo de E/S
podemos citar:
Controle e temporizao
Comunicao com CPU.
Comunicao com dispositivo.
Buffering de dados.
Deteco de erro.
Controle e temporizao: coordena o fluxo de
trfego entre os recursos internos e dispositivos
externos. Por exemplo, o controle da
transferncia de dados de um dispositivo externo
ao processador poderia envolver a seguinte
sequencia:
1) CPU verifica estado do dispositivo do mdulo de E/S.
2) Mdulo de E/S retorna o estado.
3) Se estiver pronto, CPU solicita transferncia de dados.
4) Mdulo de E/S recebe dados do dispositivo.
5) Mdulo de E/S transfere dados CPU.
6) Variaes para sada, DMA etc.
Comunicao com o processador: envolve:
Decodificao de comando: o mdulo de E/S aceita
comandos do processador, normalmente enviados
como sinais no barramento de controle. Exemplos:
READ SECTOR, WRITE SECTOR, SEEK. Cada comando
inclui parmetros que so enviados pelo
barramento de dados.
Dados: os dados so trocados entre o processador
e o mdulo de E/S pelo barramento de dados.
Comunicao com o processador: envolve:
Informao de estado: como os perifricos so,
normalmente, muito mais lentos que o processdor,
o mdulo de E/S deve poder informar seu estado.
Exemplo: BUSY/READY.
Reconhecimento de endereo: assim como cada
palavra de memria tem um endereo, cada
dispositivo de E/S tambm tem. Desse modo, um
mdulo de E/S precisa reconhecer um endereo
exclusivo para cada perifrico que controla.
Comunicao com o dispositivo: envolve
comandos, informao de estado e dados:
Dispositivo externo
Mdulo de E/S
Buffering de dados: enquanto a
taxa de transferncia para
entrada ou sada na memria
principal ou para o processador
muito alta, as taxas da
maioria dos dispositivos
perifricos compreendem uma
grande faixa. Desta forma, o
buffering de dados
compatibiliza taxas de
transferncias distintas.
Deteco de Erros: e,
subsequentemente, o relato do
erro ao processador. Os erros
podem ser causados por mal
funcionamento do dispositivo
externo. Exemplo: cdigo
International Reference
Alphabet (IRA) usado em
teclados: so 7 bits de dados e
1bit de paridade.
Ocultar ou revelar propriedades do
dispositivo CPU.
Admitir dispositivo mltiplo ou nico.
Controlar funes do dispositivo ou sair para
CPU.
Tambm decises do SO.
P.e., Unix trata de tudo o que pode como arquivo.
Um mdulo de E/S, que assume a maior parte do
processamento, apresentando uma interface de
alto nvel ao processador, normalmente
conhecida como canal de E/S ou processador de
E/S.
Um mdulo de E/S que muito primitivo e
requer controle normalmente conhecido como
controlador de E/S ou controlador de dispositivo.
Os controladores de E/S so vistos nos
microcontroladores, enquanto os canais de E/S
so usados nos mainframes.
26
So trs as tcnicas de
operao de E/S:
E/S programada
E/S controlada por interrupo.
Acesso direto memria (DMA).
E/S programada:
os dados so trocados entre o processador e o
mdulo de E/S.
O processador executa um programa que lhe
oferece controle direto da operao de E/S,
incluindo percepo do estado de dispositivo, envio
de um comando de leitura/escrita e transferncia
dos dados.
Quando o processador emite um comando ao
mdulo de E/S, ele precisa esperar at que a
operao de E/S termine.
Se o processador for mais rpido que o mdulo de
E/S, isso desperdia o tempo do processador.
E/S controlada por interrupo:
O processador emite um comando de E/S, continua
a executar outras instrues e interrompido pelo
mdulo de E/S quando o ltimo tiver completado
seu trabalho.
Acesso direto memria (DMA):
O mdulo de E/S e a memria principal trocam
dados diretamente, sem envolvimento do processo.
Transferncia de E/S para a
memria via processador
Transferncia direta de E/S
para a memria
Sem interrupes Com interrupes
E/S programada
E/S controlada
por interrupo
Acesso direto
memria (DMA)
33
CPU tem controle direto sobre E/S:
Conhecendo o estado do controlador de E/S.
Comandos de leitura/escrita.
Transferindo dados.
CPU espera que mdulo de E/S termine a
operao.
Desperdia tempo de CPU.
CPU solicita operao de E/S.
Mdulo de E/S realiza operao.
Mdulo de E/S define bits de estado.
CPU verifica bits de estado periodicamente.
Mdulo de E/S no informa CPU
diretamente.
Mdulo de E/S no interrompe CPU.
CPU pode esperar ou voltar mais tarde.
CPU emite endereo:
Identifica mdulo (& disp. se >1 por mdulo).
CPU emite comando:
Controle dizendo ao mdulo o que fazer.
P.e., girar disco
Teste verifica estado:
P.e., alimentado? Erro?
Leitura/escrita:
Mdulo transfere dados via buffer de/para dispositivo.
Sob E/S programa, transferncia de dados
muito semelhante ao acesso memria (CPU
ponto de vista da CPU).
Cada dispositivo recebe identificador
exclusivo.
Comandos da CPU contm identificador
(endereo).
E/S mapeada na memria:
Dispositivos e memria compartilham um espao
de endereos comum.
E/S se parece com leitura/escrita na memria.
Nenhum comando especial para E/S.
Grande seleo disponvel de comandos de acesso
memria.
E/S independente:
Espaos de endereos separados.
Precisa de linhas de seleo de E/S ou memria.
Comandos especiais para E/S.
Conjunto limitado.
Observe que no caso de E/S isolada h
comandos especficos para E/S
(Carrega e Testa)
40
Contorna problema de espera da CPU: evita o
desperdcio de tempo da CPU na gesto do
processo de E/S.
A CPU no fica verificando se o processo de
E/S terminou: a interrupo avisa a CPU do
ocorrido.
Mdulo de E/S interrompe quando estiver
pronto.
CPU emite comando de leitura.
Mdulo de E/S recebe dados do perifrico
enquanto CPU faz outro trabalho.
Mdulo de E/S interrompe CPU.
CPU solicita dados.
Mdulo de E/S transfere dados.
PWS: Program Status Word que armazena o estado do processador.
PC: Program Counter
Emite comando de leitura.
Realiza outro trabalho.
Verifica interrupo ao final de cada ciclo de
instruo.
Se interrompida:
Salva contexto (registradores).
Processa interrupo.
Busca dados & armazena.
Ver notas do sistema operacional.
Como identificar o mdulo que emite a
interrupo?
Como lidar com interrupes mltiplas?
Ou seja, um tratador de interrupo sendo
interrompido.
Linha diferente para cada mdulo:
H diversas linhas de interrupo entre o
processador e o mdulo de E/S.
PC.
Limita nmero de dispositivos, pois somente alguns
pinos do processador podem ser utilizados.
Verificao por software:
Quando a CPU detecta uma interrupo ela desvia
para uma rotina de tratamento que verifica cada
mdulo por vez.
Lento.
Daisy chain ou verificao por hardware.
Interrupt Acknowledge enviado por uma cadeia.
Mdulo responsvel coloca vetor no barramento.
CPU usa vetor para identificar rotina do tratador.
Exemplo: Barramento (obsoleto) Multibus I
Daisy chain ou verificao por hardware.
Exemplo: Barramento (obsoleto) Multibus I: os agentes so encadeados fisicamente em
forma de margarida em ordem de prioridade. O agente mais a esquerda no diagrama recebe
um sinal bus priority in (BPRN) indicando que nenhum agente com prioridade mais alta
deseja o barramento. Se o agente no requisitar o barramento, ele ativa sua linha bus
priority out (BRPO). No incio de um ciclo de clock, qualquer agente pode requisitar o
controle do barramento reduzindo sua linha BRPO. Isso abaixa a linha BPRN do prximo
agente na cadeia, quer por sua vez, precisa abaixar sua linha BPRO. Assim, o sinal propaga
a extenso da cadeia. Ao final dessa reao em cadeia, dever haver apenas uma gente cujo
BRPN est ativado e cujo BPRO no est. Esse agente tem prioridade. Se, no inicio de um
ciclo de barramento, o barramento no estiver ocupado (BUSY inativo), o agente que tem
prioridade pode apanhar o controle do barramento ativando a linha BUSY. preciso um
certo tempo para que o sinal BPR se propague do agente de prioridade mais alta para o de
prioridade mais baixa.
Arbitrao de barramento:
Mdulo deve reivindicar o barramento antes que
possa causar uma interrupo.
Quando o processador detecta a interrupo, ele
responde na linha de reconhecimento de
interrupo. O mdulo requisitante, ento, coloca
seu vetor nas linha de dados.
P.e., PCI & SCSI.
Como lidar com interrupes mltiplas?
Cada linha de interrupo tem uma prioridade.
Linhas com prioridade mais alta podem interromper
linhas com prioridade mais baixa.
Com o polling de software, a ordem em que os
mdulos so verificados determina suas
prioridades.
Com o Daisy chain determina suas prioridades.
Com arbitrao de barramento pode empregar um
esquema de prioridade.
80x86 tem uma nica linha de interrupo.
Sistemas baseados no 8086 usam um
controlador de interrupo 8259A.
8259A tem 8 linhas de interrupo.
O 8259
8259A aceita interrupes.
8259A determina prioridade.
8259A signals 8086 (levanta linha INTR).
CPU confirma.
8259A coloca vetor correto no barramento de
dados.
CPU processa interrupo.
Barramento ISA encadeia dois 8259As.
Ligao via interrupo 2.
Gera 15 linhas:
16 linhas menos uma para ligao.
IRQ 9 usada para redirecionar qualquer
coisa tentando usar IRQ 2.
Compatibilidade.
Incorporado no chip set.
O 82C55A um mdulo de E/S de uso geral
em um nico chip, projetado para uso com o
processador Intel 80386.
http://youtu.be/URuhAoihnmQ - explicao
do 82C55A
57
59
E/S controlada por interrupo e programada
exige interveno ativa da CPU.
Taxa de transferncia limitada pela velocidade
com a qual o processador pode testar e atender a
um dispositivo.
CPU fica amarrada no gerenciamento de uma
transferncia de E/S. Diversas instrues precisam
ser executadas para cada transferncia de E/S..
DMA a resposta.
Mdulo adicional (hardware) no barramento.
Controlador de DMA toma o comando da CPU
para E/S.
CPU diz ao controlador de DMA:
Leitura/escrita atravs da lina de controle e escrita
entre o processador e o mdulo DMA.
Endereo do dispositivo E/S envolvido, comunicado
na linha de dados.
Endereo inicial do bloco de memria para dados.
Quantidade de dados a serem transferidos.
CPU prossegue com outro trabalho.
Controlador de DMA lida com transferncia.
Controlador de DMA envia interrupo
quando terminar.
Controlador de DMA assume o barramento por
um ciclo (roubo de ciclo cycle stealing).
Transferncia de uma palavra de dados.
No uma interrupo.
CPU no troca de contexto (melhora a eficincia).
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 no tanto quanto a CPU
fazendo transferncia.
http://youtu.be/gT4O79UAS1w - O desafio
entnder o ingls do locutor!
nico barramento,
controle de DMA
separado.
Cada transferncia
usa barramento
duas vezes.
E/S para DMA, depois
DMA para memria.
CPU suspensa
duas vezes.
nico barramento,
controlador de DMA
integrado.
Controlador pode
aceitar mais de um
dispositivo.
Cada transferncia
usa barramento uma
vez.
DMA para memria.
CPU suspensa uma
vez.
Barramento de E/S
separado.
Barramento aceita
todos dispositivos
habilitados para
DMA.
Cada transferncia
usa barramento uma
vez.
DMA para memria.
CPU suspensa uma
vez.
Interfaces com famlia 80x86 e DRAM.
Quando o mdulo de DMA precisa de barramentos, ele envia
sinal HOLD ao processador.
CPU responde HLDA (hold acknowledge) .
Mdulo de DMA pode usar barramentos.
P.e., transferir dados da memria para o disco.
Dispositivo requisita servio de DMA levantando DREQ (requisio de
DMA).
DMA levanta sua linha HRQ (hold request).
CPU termina ciclo de barramento presente (no necessariamente instruo
presente) e levanta linha HDLA HDLA (hold acknowledge). HOLD
permanece ativo pela durao do DMA.
DMA ativa DACK (DMA acknowledge), dizendo ao dispositivo para iniciar a
transferncia.
DMA inicia transferncia colocando endereo do primeiro byte no
barramento de endereo e ativando MEMR; depois, ativa IOW para escrever
no perifrico. DMA decrementa contador e incrementa ponteiro de
endereo. Repete at contagem chegar a zero.
DMA desativa HRQ, retornando o controle do barramento de volta CPU.
Enquanto DMA usa barramentos, processador
fica ocioso.
Processador usando barramento, DMA ocioso:
Conhecido como controlador de DMA flutuante.
Dados no passam e so armazenados no chip
de DMA.
DMA apenas entre porta de E/S e memria.
No entre duas portas de E/S ou dois locais de memria.
Pode transferir de memria para memria via
registrador.
8237 contm quatro canais de DMA.
Programado independentemente.
Qualquer um ativo.
Canais numerados com 0, 1, 2 e 3.
72
Dispositivos de E/S se tornam mais
sofisticados.
P.e., placas grficas 3D.
CPU instrui processador de E/S a realizar
transferncia.
Processador de E/S realiza transferncia
inteira.
Melhora velocidade.
Retira carga da CPU.
Processador dedicado mais rpido.
75
Conexo de dispositivos.
Em relao a transferncia a interface pode
ser:
Interface paralela: existem mltiplas linhas
conectando o mdulo de E/S e o perifrico, e
diversos bits so transferidos simultaneamente.
Interface serial: h apenas uma linha para transferir
os dados e os bits so transmitidos um por vez.
A interface pode ser:
Ponto a ponto
Multiponto.
Barramento serial de alto desempenho.
Rpido.
Baixo custo.
Fcil de implementar.
Tambm sendo usado em cmeras digitais,
VCRs e TV.
Daisy chain.
At 63 dispositivos em nica porta.
Na realidade, 64, dos quais um a prpria
interface.
At 1022 barramentos podem ser conectados
com pontes.
Configurao automtica.
Sem terminaes de barramento.
Pode ser estruturada em forma de rvore.
Fsica:
Meio de transmisso, caractersticas eltricas e de
sinalizao.
Enlace:
Transmisso de dados em pacotes.
Transao:
Protocolo requisio-resposta.
Acesse:
http://www.eeherald.com/section/design-
guide/esmod14.html e responda (Lista .
Quais as verses de USB?
Qual a topologia de um sistema USB?
Qual a funo do hub USB?
Quantos fios possui uma interface USB e quais as
suas funes?
Como se d a comunicao no USB?
O que USB OTG?
Quais os tipos de quadros USB?
82
Bibliografia Bsica
STALLINGS, W. Arquitetura e Organizao de Computadores. 5. ed. So Paulo:
Prentice-Hall, 2002. 786p.
TANENBAUM, A. S; MARQUES, A. S.; ZUCCHI, W. Organizao estruturada de
computadores. 5 ed. So Paulo: Pearson Prentice Hall, 2007. 450P.
ZUFFO, J. A. Fundamentos da arquitetura e organizao dos microprocessadores.
2. ed. So Paulo: Edgard Blcher, 1981. 419p.

Bibliografia Complementar
LANGDON, G. F. Projeto de computadores digitais. 2. ed. So Paulo: Edgard
Blcher, 1987. 357p.
MONTEIRO, A. M. Introduo organizao de computadores. 4. ed. Rio de
Janeiro: LTC, 2002. 498p.
PATTERSON, D. A.; HENNESSY, J. L. Computer organization and design: the
hardware/software interface. 2. ed. San Francisco: Morgan Kaufmann, 1994. 759p.
WEBER, R. F. Fundamentos de arquitetura de computadores. 3. ed. Porto Alegre:
Bookman, 2008. 306p.
WEBER, R. F. Arquitetura de computadores pessoais. 2. ed. Porto Alegre: Bookman,
2008. 271p.
91

Vous aimerez peut-être aussi