Вы находитесь на странице: 1из 46

Organizao e Arquitetura de Computadores

Entrada e Sada (E/S)


Givanaldo Rocha de Souza
http://docente.ifrn.edu.br/givanaldorocha
givanaldo.rocha@ifrn.edu.br
Baseado no material do prof. Slvio Fernandes - UFERSA

Introduo

Alm do processador e da memria, o sistema de computao ainda


possui os mdulos de entrada e sada (E/S).

A arquitetura de E/S do sistema de computao a sua interface com


o mundo exterior.

Oferece um meio sistemtico de controlar a interao com o


mundo exterior.

Fornece ao sistema operacional as informaes de que precisa


para gerenciar a atividade de E/S de modo eficaz.

Introduo

Cada mdulo de E/S se conecta ao barramento ou comutador central e


controla um ou mais perifricos.

Um mdulo de E/S contm uma lgica para realizar uma funo de


comunicao entre o perifrico e o barramento.

Placa PCI USB 2.0

Introduo

Dvida: por que os perifricos no so conectados diretamente no


barramento do sistema?
Existe uma grande variedade de perifricos, com diversos mtodos de
operao, inviabilizando o controle pelo processador.

A taxa de transferncia de dados dos perifricos normalmente diferente


(mais lenta ou mais rpida) do que a da memria ou do processador.
Os perifricos normalmente utilizam formatos de dados e tamanhos de
palavras diferentes do que usado pelo computador ao qual esto
conectados.

Assim, um mdulo de E/S necessrio!!!

Funes Principais do Mdulo de E/S

Interface com o processador e a memria por meio do barramento do sistema


ou comutador central.
Interface com um ou mais dispositivos perifricos por conexes de dados
adequadas.

Barramento
do sistema

Mdulo genrico de um dispositivo de E/S

Dispositivos Externos

Legveis ao ser humano: adequados para a comunicao com usurios

Monitor, impressora, teclado

Legveis mquina: adequados para a comunicao com equipamentos

Disco magntico e fita

Sensores e atuadores

Comunicao: adequados para a comunicao com dispositivos remotos

Modem

Placa de interface de rede

Dispositivos Externos

Diagrama em blocos de um dispositivo externo


Sinais de controle
do mdulo de E/S
(READ / WRITE)

Sinais de estado do
mdulo de E/S
(READY / BUSY)

Lgica de
Controle

Bits de dados de e
para o mdulo de E/S

Buffer

Transdutor

Dados de e para
o ambiente

Funes de um Mdulo de E/S

Controle e Temporizao

Coordenar o fluxo de trfego entre os recursos internos e os dispositivos externos.

Comunicao com o processador

Comunicao entre o processador e o dispositivo externo.

Comunicao com dispositivos

Comunicao envolve comandos, informao de estado e dados (figura do slide anterior).

rea de armazenamento temporrio de dados (buffering)


Necessria devido diferena de taxas de transferncia j comentadas.

Deteco de erros

Relatar erros ao processador: defeitos mecnicos e eltricos, erros na transferncia de bits etc.

Controle e Temporizao - Exemplo


1.

O processador interroga o mdulo de E/S para verificar o estado do


dispositivo.

2.

O mdulo retorna o estado do dispositivo.

3.

Se o dispositivo estiver em operao e pronto para transmitir dados, o


processador requisitar a transferncia enviando um comando para o
mdulo de E/S.

4.

O mdulo de E/S obtm uma unidade de dados (p.ex., 8 ou 16 bits) do


dispositivo.

5.

Os dados so transferidos do mdulo de E/S para o processador .

Comunicao com o processador

Decodificao de comandos
Converso entre sinais transmitidos atravs do barramento de
controle e comandos usados pelos dispositivos.

Dados
So transferidos entre o processador e o mdulo de E/S atravs do
barramento de dados.

Informao de estado
Lentido dos perifricos faz com que seja importante conhecer o
estado do mdulo de E/S.

Reconhecimento de endereo
O mdulo de E/S deve reconhecer um endereo distinto para cada
perifrico controlado.

Buffering de dados

A transferncia de dados da memria principal para o mdulo de E/S


feita rapidamente.
Esses dados so temporariamente armazenados no mdulo de E/S e
ento enviados para o dispositivo numa taxa adequada.

No caminho oposto, os dados so armazenados temporariamente no


mdulo de E/S para no reter a memria numa transferncia de dados
com baixa velocidade.

O mdulo de E/S deve ser capaz de realizar operaes tanto


velocidade da memria quanto do dispositivo externo.

Deteco de erros

Relatar erros ao processador:

Mau funcionamento eltrico ou mecnico.


o Falha de alimentao de papel
o Papel emperrado
o Trilha de disco defeituosa
o etc.
Alteraes no padro de bits transmitidos por um dispositivo para o
mdulo de E/S.
o Bit de paridade

Mdulo de E/S : estrutura interna

Tcnicas usadas para E/S

Transferncia entre
memria e E/S por meio
do processador

Transferncia direta
entre memria e E/S

Sem interrupes

Com interrupes

E/S programada

E/S controlada por interrupo

---

Acesso direto memria


(DMA)

E/S programada

Em um programa, a execuo de uma instruo relacionada a E/S faz


com que um comando seja enviado para o mdulo de E/S.

O mdulo de E/S executa a operao requisitada e sinaliza o seu


trmino carregando um valor no registrador de estado.

Nenhuma ao executada pelo mdulo para alertar o processador


sobre o trmino da operao.

responsabilidade do processador verificar periodicamente o estado


do mdulo, para ver se a operao foi completada.

E/S programada
Leitura de um bloco de dados

Endereamento de dispositivos de E/S

E/S mapeada na memria

H um nico espao de endereamento para posies de memria


e dispositivos de E/S.

Exemplo:

Endereamento de Byte

Endereos de 10 bits 1024 Bytes


Endereos 0-511: memria principal
Endereos 512-1023: dispositivos de E/S
E/S independente

Espao de endereamento de E/S independente do espao de


endereamento da memria.

E/S mapeada na memria

E/S independente

Acesso aos dispositivos de E/S feito atravs de instrues especiais


(comandos).

E/S controlada por interrupo

Processador envia um comando de E/S para o mdulo e continua a


executar outras instrues.

O mdulo de E/S interrompe o processador quando o mesmo estiver


pronto para trocar dados.

Processador efetua a transferncia de dados e depois retorna ao seu


processamento original.

mais eficiente que a E/S programada, pois elimina ciclos de espera


desnecessrios.

E/S controlada por interrupo


Leitura de um bloco de dados

No h espera
pelo dispositivo

Processamento da interrupo

Processamento da interrupo

Registrador PSW Program Status Word

Mdulo de E/S Intel 82C55A

Mdulo de E/S de uso geral em um nico chip, projetado para uso com
o processador Intel 80386.

Pode ser programado para E/S programada ou E/S controlada por


interrupo.

Como interface externa para dispositivos, possui 3 grupos de linhas de


8 bits (A, B e C).

Em um modo de operao especfico, os 3 grupos funcionam como


3 portas de E/S.

Nos demais modos, as linhas dos grupos A e B funcionam como


portas de E/S e as do grupo C como linhas de controle para os
grupos A e B.

Mdulo de E/S Intel 82C55A

Mdulo de E/S Intel 82C55A

Acesso Direto Memria (DMA)

Envolve um mdulo adicional no barramento do sistema.

Esse mdulo, denominado controlador de DMA, imita o processador


nas funes de E/S de dados.

O controlador de DMA pode operar das seguintes maneiras:

Usando o barramento apenas quando o processador no o utiliza.

Forando o processador a suspender temporariamente sua


operao tcnica conhecida como roubo de ciclo.

Tcnica de roubo de ciclo

Estrutura interna de um mdulo DMA

Configuraes de DMA

Algumas possibilidades:

Barramento nico, DMA separado

Barramento nico, DMA-E/S integrados

Barramento especfico de E/S

Configuraes de DMA
Barramento nico, DMA separado

Barata

Ineficiente a transferncia de cada palavra consome vrios ciclos de


barramento

Configuraes de DMA
Barramento nico, DMA-E/S Integrados

Custosa

Eficiente

Configuraes de DMA
Barramento Especfico de E/S

Custosa

Eficiente

Controlador DMA Intel 8237A

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.

Controlador DMA Intel 8237A

Controlador DMA Intel 8237A


Exemplo: transferir dados da memria para o disco.

1. Dispositivo requisita servio de DMA levantando DREQ (requisio de


DMA).
2. DMA levanta sua linha HRQ (hold request)
3. CPU termina ciclo de barramento presente (no necessariamente
instruo presente) e levanta linha HDLA HDLA (hold acknowledge).
HOLD permanece ativo pela durao do DMA.

Controlador DMA Intel 8237A


Exemplo: transferir dados da memria para o disco.

4. DMA ativa DACK (DMA acknowledge), dizendo ao dispositivo para iniciar


a transferncia.
5. 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.
6. DMA desativa HRQ, retornando o controle do barramento de volta
CPU.

Canais de E/S

Dispositivos de E/S se tornam mais sofisticados.

Por exemplo, placas grficas 3D.

CPU instrui controlador de E/S a realizar transferncia.

Controlador de E/S realiza transferncia inteira.

Melhora velocidade.

Retira carga da CPU.

Processador dedicado mais rpido.

Evoluo
1.
2.
3.
4.
5.
6.

Processador controla diretamente dispositivos.


Mdulos de E/S so adicionados.
Interrupes so utilizadas.
introduzido o mdulo de DMA
O mdulo de E/S evolui para um canal, e executa programas de
E/S carregados da memria principal.
O canal evolui para um processador, possuindo sua prpria
memria local.

Enquanto se prossegue nesse caminho de evoluo, cada vez mais a


funo de E/S realizada sem envolvimento da CPU, melhorando o
desempenho da mesma.

Tipos de Canais de E/S

Seletores

Dedicam-se transferncia de dados apenas com um nico


dispositivo por vez

Multiplexadores

Transferem dados de/para vrios dispositivos simultaneamente

Canal Seletor

Canal Multiplexador

Estudo de Caso: USB

Universal Serial Bus: interface para transmisso de dados e


distribuio de energia que foi introduzido para melhorar as interfaces
serial (RS-232) e em paralelo.
Capaz de conectar at 127 dispositivos de E/S: mouse, teclado,
impressora, scanner, joystick, disco externo, DVD player, mquina
digital , VoIP-phone etc.

Estudo de Caso: Firewire (IEEE 1394)

Similar ao USB, contudo o desempenho do Firewire superior, sendo


cerca de 30 vezes mais rpido.
Capaz de conectar at 63 dispositivos de E/S: discos externos, cmeras
digitais, televiso digital etc.

Estudo de Caso: HDMI

High-Definition Multimidia Interface: sistema digital de conexo capaz


de transmitir udio e vdeo atravs de um nico cabo.
Os resultados sero belssimas imagens de alta qualidade e definio,
em um padro superior com relao ao sistema analgico de conexo.

Perguntas?