I/O
Transferências de dados
1
Introdução

Um importante aspecto na arquitectura de computador é
o modo como são efectuadas as operações de I/O

Envio de comandos


Resposta a pedidos dos periféricos


CPU  periféricos
CPU  periféricos
Trocas de dados

CPU  periféricos

memória  periféricos

periféricos  periféricos
2
Introdução

O sistema tem que dar uma boa resposta a uma grande variedade
de periféricos, que funcionam a “velocidades” diferentes
Dispositivo
Ritmo das transferências (máximo)
Teclado
10 B/s
Rato
100 B/s
Scanner
400 KB/s
Impressora laser
400 KB/s
Placa de som
1 MB/s
Monitor
100 MB/s a 1 GB/s (depende da resolução)
Disco (magnético)
30 a 320 MB/s (depende do disco)
CD-R (52x)
8 MB/s
DVD-R (16x)
21.6 MB/s
Blu-ray (6x)
27 MB/s
3
Introdução

Ao mesmo tempo...

Não é conveniente o CPU estar à espera de respostas de
periféricos


Se isso acontece, desperdiça-se tempo de processamento...
Não é conveniente o CPU ter um papel activo quando as
transferências de dados são entre dispositivos externos

Memória  disco

Disco  memória

Memória  placa gráfica

etc.
4
Acesso aos dispositivos

Controladores de dispositivo (adapters)

Interface que cada dispositivo apresenta ao resto do
sistema

Um controlador é geralmente constituído por:

Conjunto de registos programáveis

Conjunto de registos para escrita e leitura de dados

Lógica de controlo

Mais ou menos complexa, consoante o dispositivo
5
Acesso aos dispositivos

I/O dedicada

A cada registo dos diversos controladores é atribuído um número
designado por porto (I/O Port)

O acesso é feito utilizando instruções do tipo in e out (assembly)


in registo, port
copia o conteúdo do registo do controlador de periférico para um
registo da CPU

out port, registo
copia o conteúdo de um registo da CPU para um registo do
controlador
Requer linhas de controlo dedicadas para cada dispositivo
6
Acesso aos dispositivos

Memory-mapped I/O

Deste modo o acesso aos dispositivos é feito como se tratasse
de um acesso à memória

Cada registo do controlador encontra-se mapeado para uma
posição de memória

Uma escrita ou leitura nessa posição de memória corresponde
na realidade a uma escrita / leitura no registo do controlador

Os dispositivos, CPU e memória podem partilhar os mesmos
barramentos
7
Acesso aos dispositivos

I/O dedicada vs. Memory-mapped I/O
Espaço de
endereçamento
Espaço dos
periféricos
Espaço de
endereçamento
Ports I/O
I/O dedicada
Memory-mapped I/O
8
Operações de I/O

Existem basicamente três formas diferentes de
efectuar operações de I/O

I/O programada

I/O por interrupções

I/O por DMA
9
I/O Programada (Polling)

O CPU efectua todo o trabalho de I/O enviando e recebendo os
dados dos dispositivos

Após despachar um conjunto de dados (normalmente organizados
por blocos), verifica se o periférico está pronto para continuar

Problema:

O processador desperdiça muito tempo de processamento à espera de
poder continuar, pois de um modo geral os periféricos são muito lentos
face à sua velocidade
10
I/O por Interrupções

Uma maneira mais eficiente deixar o CPU a correr normalmente os
programas, interrompendo apenas quando é necessário

Exemplo: para se servir um pedido de um periférico que não pode
esperar

Diz-se que ocorre uma interrupção

O programa que foi interrompido poderá mais tarde ser retomado a
partir do ponto em que se encontrava na altura da interrupção

Vantagem:


Com este modelo, o processador envia / recebe dados do periférico,
mas depois pode dedicar-se a outra tarefa – não fica em espera
Eventual problema:

As interrupções podem ocorrer com demasiada frequência (se existirem
muitos dados envolvidos na transferência)
11
I/O por Interrupções

Interrupções de hardware (vectorizadas)
2. Controlador activa
linha de interrupções
11 12 1
2
10
9
3
8
4
7 6 5
CPU
Controlador
de
Interrupções
Relógio
Teclado
Disco
Impressora
3. CPU envia Acknowledge
1. Dispositivo termina I/O
4. Controlador coloca interrupt vector no BUS
IRQ é activada
12
I/O por Interrupções

Quando ocorre uma interrupção, o CPU:

Salvaguarda numa pilha todos os seus registos


Desactiva temporariamente as interrupções


PUSH dos registos e do estado da unidade funcional (flags)
Para não ser “interrompido” enquanto trata de uma interrupção

Lê o interrupt vector obtendo o endereço de início da rotina de serviço à
interrupção

Salta para esse endereço e executa essa rotina
Terminado o serviço à interrupção:

Restauram-se os valores dos registos e do estado

Activam-se as interrupções

Salta-se para o valor restaurado de PC

Continua a partir do ponto onde estava quando foi interrompido
13
I/O por DMA

DMA (Direct Memory Access)

Liberta o processador em transferências de dados
que envolvem a memória e periféricos
BUS
4. Transferência de dados
1. CPU programa o
controlador DMA
2. DMA REQ
Endereço
Contador
Controlo
CPU
5. Interrupção
Controlador
de DMA
buffer
3. DMA ACK
Controlador
de Disco
Memória RAM
14
I/O por DMA

Semelhante a I/O programada, mas o controlador DMA substitui o
processador

O processador limita-se a dar as instruções necessárias ao
controlador de DMA para iniciar a transferência de dados

Quando o controlador DMA terminar a transferência de dados,
notifica o processador através de uma interrupção

Vantagem


Uma só interrupção após toda a operação de I/O terminar
Desvantagem (só em alguns casos):

Este esquema pode não funcionar se o periférico for demasiado rápido
em relação ao controlador de DMA

Nesse caso pode-se usar I/O por interrupções
15
I/O
Periféricos
16
Discos

Geometria de um disco rígido
Cabeças magnéticas
Superfície 0
Superfície 1
Superfície 2
Superfície 3
Superfície 4
Superfície 5
17
Discos
Sectores
Cabeça
Pistas
18
Discos


Geometria de um disco

Cada arco circular completo designa-se pista

O conjunto de pistas na mesma posição radial (nas várias superfícies)
designa-se cilindro

As pistas estão divididas em arcos de comprimento angular fixo
designados sectores
Estrutura de um sector
o
bul
m
â
Pre
Dados
EC
C

Preâmbulo – sequência de bits para sincronização

Dados – parte onde é armazenada a informação útil (512 Bytes)

ECC – código de correcção de erros
19
Discos

Temporizações típicas

Velocidade de rotação



Tempo de pesquisa (Seek)


Tempo que o braço demora a posicionar a cabeça sobre a pista a
ler/escrever
Tempo de acesso


Velocidade a que o disco roda
Valor típico: 7200 rpm (rotações por minuto)
Tempo que a cabeça demora a posicionar-se sobre o sector a aceder (tempo
de pesquisa + tempo de rotação)
Ritmo de transferência


Ritmo a que é lida/escrita informação do/no disco
(depende do tempo de acesso, da dimensão dos sectores e da interface do
disco com o resto do sistema)
Valor médio típico nos dias correntes: 70 MByte/s
20
Discos Ópticos

CD-ROMs (Compact-Disk Read Only Memory)
Dados organizados segundo uma espiral
Blocos de dados com 2 KB de informação útil
Pit
Land
21
Discos Ópticos

CD-ROMs
Sinal lido
Sensor
Espelho móvel
Feixe reflectido
Feixe emitido
Diodo Laser
Prisma
Leitura da informação:
‘1’ Transição Pit-Land ou Land-Pit
‘0’ Sem transição
Superfície do disco
22
Discos Ópticos

Dificuldade física em repetir ‘1’s

É utilizada codificação EFM (Eight to Fourteen Modulation)

Por cada 8 bits, são na realidade escritos 14 bits no CD

O objectivo deste código é garantir que os ‘1’s ficam salteados
Código EFM
(só as primeiras 8 palavras)
Código Natural
Código EFM
0000 0000
01 0010 0010 0000
0000 0001
10 0001 0000 0000
0000 0010
10 0100 0010 0000
0000 0011
10 0010 0010 0000
0000 0100
01 0001 0000 0000
0000 0101
00 0001 0001 0000
0000 0110
00 0100 0010 0000
0000 0111
00 1001 0000 0000
...
...
23
Discos Ópticos

Estrutura de um bloco
16 bytes
2048 bytes
288 bytes
Dados
ECC
Preâmbulo – sequência de sincronização + identificação do bloco
Nota: no caso de ser um CD áudio, todo o bloco é utilizado para dados
24
Discos Ópticos

CD-Rs (CD-Recordable)

Um CD-R é um CD em que os dados, uma vez gravados, não podem
regravados

Os dados são gravados ofuscando uma superfície transparente através
de uma queimadura provocada pelo laser (deste modo simula-se um Pit)
Áreas queimadas
Laser
Substrato (policarbonato)
1,2 mm
Camada transparente
Camada reflectora
Camada protectora
25
Discos Ópticos

CD-RWs (CD-Rewritable)

Ao contrário dos CD-Rs, um CD-RW pode ser regravado múltiplas vezes

Utiliza numa das camadas um material com dois estados:


Cristalino (mais reflectivo)

Amorfo (menos reflectivo)
O laser do gravador opera a 3 níveis de potência:

Alta – Converte áreas cristalinas em amorfas (Pit)

Média – Converte as áreas amorfas em cristalinas (Land)

Baixa – Não efectua mudanças ao estado do material. É utilizada para leitura
26
Discos Ópticos

Comparação entre discos ópticos
CD
DVD
Blu-ray
Dimensão mínima das pits
0.8 m
0.4 m
0.15 m
Distância entre arcos da espiral
1.5 m
0.74 m
0.32 m
Comprimento de onda do laser
780 nm
(vermelho)
650 nm
(vermelho)
405nm
(azul-violeta)
700 MB
4.7 GB
25 GB
Capacidade (single layer)
27
Teclado
Estrutura genérica
4
S
Multiplexer 16-1
3
Descodificador 3/8
Micro-controlador

Um cruzamento por tecla
28
Teclado

Estrutura genérica
Mux
Tecla premida:
contacto no cruzamento
Dec
29
Teclado

Funcionamento:

O micro-controlador produz todas as combinações binárias de 7 bits
(com base num contador)

Estes bits são apresentados às entradas do descodificador e às linhas
de selecção do multiplexer

A frequência de funcionamento do contador é elevada, varrendo toda a
matriz de cruzamentos centenas de vezes por segundo.

Tanto o carregar como o largar de uma tecla (ou combinação de teclas)
são detectados por inspecção da linha de saída do multiplexer

O código da tecla (ou teclas) pressionada – K-scan code – é obtido a
partir das saídas do contador
30
Teclado
Comunicação
Controlador de teclado
RD/WR
Endereços
Registos
Input
Dados
Micro-controlador
Output
Controlo
IRQ
Gnd
Relógio
Dados (série)
Estado
Vcc
Sistema

Teclado
Micro-controlador
31
Teclado

Comunicação

O controlador de teclado tem a função de efectuar a interface
com o resto do sistema


Depois de pressionada uma tecla, é colocado no registo de input um
código normalizado da tecla e enviado um sinal de interrupção
O tratamento da interrupção “obriga” o CPU a ler o registo de input,
copiando o código de tecla para a memória

O controlador comunica com o teclado através de uma linha de
dados série sincronizada com um sinal de relógio

Para além disso, fornece a alimentação ao teclado
32
Monitor e placa gráfica

Esquema genérico
(CRT – Cathod Ray Tube)
Canhões de electrões
Pixel
Linhas de
varrimento
33
Monitor e placa gráfica

Funcionamento (CRT)

Cada ponto no écran designa-se pixel

Por cada ponto existem três tubos de raios catódicos, que são
“bombardeados” por electrões

Cada tubo -> uma componente de cor (R, G, B)

Obtém-se cores regulando a intensidade do “bombardeamento”
em cada uma das componentes

Os canhões de electrões varrem todo o écran a uma frequência
superior à que um humano consegue ver

Tipicamente superior a 60 Hz (60 varrimentos por segundo)
34
Monitor e placa gráfica

Memória ocupada por uma imagem

Tipicamente cada amostra de componente de cor requer 8 bits
(variando portanto entre 0 e 255)



Como em cada ponto se tem 3 componentes, cada ponto no
écran requer 24 bits (3 bytes)
Se a resolução do écran for Nh x Nv, a memória necessária para
cada imagem será de


suficiente para o sistema visual humano
Nv x Nh x 3 bytes
Exemplo:


Resolução: 1024 x 768
Quantidade de informação por imagem = 1024 x 768 x 3 = 2.4
MBytes
35
Monitor e placa gráfica

Ritmo de transmissão dos dados

O sistema terá que ser capaz de debitar dados a um ritmo compatível
com o sistema visual humano

Exemplo

Com as resoluções indicadas atrás, para enviar para o écran 60 imagens por
segundo, seria necessário um ritmo binário superior a:
1024 x 768 x 3 x 60 = 14 MBytes/s

Para libertar o processador de grande parte do processamento gráfico,
existem as placas gráficas
36
Monitor e placa gráfica

Placa gráfica

Inicialmente serviam apenas para efectuar a interface entre o
processador e o écran

Hoje em dia têm muitas outras funcionalidades:

Efectuam diversos cálculos gráficos, poupando trabalho ao CPU

Desenho de objectos geométricos planos (linhas, polígonos)

Computação 3D (profundidade, modelos de iluminação)

Melhoria da qualidade de imagem (anti-aliasing, filtragem, correcção do factor
gamma)

Possuem memórias adaptadas para processamento de vídeo
(VRAMs)

Permitem ligação de/a dispositivos externos (e.g., câmaras de vídeo)

Etc.
37
Monitor e placa gráfica

Placa gráfica
(estrutura básica)
Placa gráfica
Conversor
Digital-Analógico
CPU
Ponte
AGP
(ou PCI)
Monitor
Processador
gráfico
VRAM
AGP – Accelerated Graphics Port – dedicado para o processamento gráfico
38
Modem

Modem – Modulator-Demodulator

Dispositivo para comunicação entre computadores
ligados a uma rede telefónica / cabo

O sinal binário a transmitir é modulado:

Em vez de ser transmitido um sinal entre 0 e 5 Volt, é utilizado
um sinal sinusoidal (a portadora)
39
Modem

Modulação
1
0
0
1
1
0
1
0
0
Sinal original
Modulação em amplitude
(AM ou ASK)
Modulação em frequência
(FM ou FSK)
Modulação de fase
(PM ou PSK)
40
Download

ppt