Você está na página 1de 51

Arquitetura de Computadores

Interface entre
Processadores e Periféricos

Prof. Msc. Eduardo Luzeiro Feitosa


efeitosa@dcc.ufam.edu.br
1
Conteúdo
■ Introdução
 Tipos de dispositivos
■ Discos magnéticos
■ Interfaces de Barramento
■ Interfaces do Processador

2
Cenário
interrupts
Processor

Cache

Memory - I/O Bus

Main I/O I/O I/O


Memory Controller Controller Controller

Disk Disk Graphics Network

3
Introdução
■ Porque estudar I/O?
 O desempenho de CPUs aumenta de 50% a
100% por ano;
 O desempenho Supercomputadores com
multiprocessadores aumenta 150% por ano
 Já o desempenho de subsistemas de I/O é
limitado por atrasos mecânicos
➔ Em média o crescimento é de 5% por ano (I/O por
seg ou MB por seg)
 Lei de Amdahl: Speedup limitado por parte
mais lenta
 Na prática, o gargalo é I/O:
➔ CPU estão ficando mais rápidas
➔ Velocidade de CPUs está fazendo menos diferença

4
Introdução
■ Porque estudar I/O?
 Avalanche constante de avanços tecnológicos;
 Capacidade dos Discos dobra a cada 3 anos;
 Hoje:
➔ O poder de processamento dobra a cada 18 meses
➔ Tamanho de memória dobra a cada 18 meses (?)

➔ Capacidade de disco dobra a cada 18 meses

➔ Velocidade de posicionamento dos discos (Seek +

Rotate) dobra a cada 10 anos!

5
Introdução
■ Tipos de dispositivos
 Entrada: teclado, mouse, caneta ótica, scanner,
microfone, joystick, sensores, etc.
 Saída: vídeo, impressora, plotter, auto-falante,
etc.
 Armazenamento: discos, fitas, etc.
 Comunicação: modem, placa de rede, etc.
■ O problema é como conectá-los a CPU de
forma eficiente.
■ Porque isso não ocorre:
 Diferentes características físicas (conexão,
pinagem, entre outros)
 Diferentes sentidos de comunicação (só vai, só
vem ou ambos)
6
Introdução
 Diferentes protocolos (linguagem, formato dos
dados)
 Diferentes velocidades (regulares, tempo de
reposta variável)
 Diferentes freqüências
 Diferentes fabricantes (interoperabilidade)
■ Exemplos
 Mouse: sentido único (leitura dos botões e das
coordenadas), freqüênte, tempo de resposta
constante.
 Disco rígido: dois sentidos, não tem freqüência,
tempo de resposta variável.

7
Introdução

Dispositivo Comportamento Parceiro Velocidade (KB/segundo)

Teclado Entrada Gente 0.01


Mouse Entrada Gente 0.02
Entrada de voz Entrada Gente 0.02
Scanner Entrada Gente 400.00
Saída de voz Saída Gente 0.60
Impressora matricial Saída Gente 1.00
Impressora a laser Saída Gente 200.00
Vídeo gráfico Saída Gente 60.000.00
Modem Entrada ou saída Máquina 2.00 a 8.00
Rede/LAN Entrada ou saída Máquina 500.00 a 6.000.00
Disco flexível armazenamento Máquina 100.00
Disco rígido armazenamento Máquina 1.000.00
Fita magnética armazenamento Máquina 2.000.00
Disco magnético armazenamento Máquina 2.000.00 a 10.000.00

8
Introdução
■ Então como solucionar esse problema?
■ Uso de controladora (interface de controle)
■ Funções
 Conexão física
 Conversão de protocolos
 Conversão de tipos de dados
 Armazenamento temporário (controle de fluxo)
 Abstração do hardware

■ Trabalho
 Pesquisar alguns tipos (três pelo menos) de
controladoras
 Informar algumas de suas características
9
Discos de Armazenamento
■ Histórico (como surgiu)
 Década de 50: migração de processamento em
batch para on-line
■ Para onde caminha
 Década de 90: migração para dispositivos
únicos
➔ computadores em telefones, livros eletrônicos,
carros, cameras de vídeo, …
➔ redes de alta velocidade

■ Tendência (efeitos na indústria)


 Armazenamento embutido
➔ menor, mais barato, mais confiável, baixa potência

10
Discos de Armazenamento
■ Evolução (1)
 1956 IBM Ramac — predecessor do Winchester
➔ desenvolvido para mainframes com interfaces
proprietárias
 1970
➔ floppy de 5.25
➔ memória semicondutora e microprocessadores

➔ primeiras interfaces de disco (T506, SASI, SMD,


ESDI)
 Década de 80
➔ PCs e workstations
➔ Cliente/servidor

➔ Disco para as massas

- padrões da indústria: SCSI, IPI, IDE


- discos de 5.25’’ para PCs
➔ fim das interfaces proprietárias
11
Discos de Armazenamento
■ Evolução (2)
 Fim dos anos 80 e início dos anos 90:
➔ Laptops, notebooks, palmtops
➔ discos de 3.5’’, 2.5’’, 1.8’’, 1.3’’

➔ Tamanho e capacidade dita mercado de discos

➔ RAM e flash RAM em PCMCIA

➔ Performance de discos óticos é baixa como


dispositivo secundário (CD ROM)

12
Discos de Armazenamento
■ Objetivos
 Armazenamento não-volátil por tempo longo
 Alta capacidade
■ Características
 Tempo de acesso alto
➔ Seek time, rotational delay
➔ Transfer rate (1 setor/ms)

■ Capacidade
 Gigabytes, Terabytes

13
Discos de Armazenamento
A superfície é local para armazenamento das
informações.
Pode-se armazenar de ambos os lados. As velocidades
variam de 3600 e 7200 RPM.

Trilha

Setor

Cilindro

Superfície (disco)
Cabeça

14
Discos de Armazenamento
■ Cada lado de uma determinada superfície do
disco é dividida em círculos concêntricos
chamados de trilhas.
■ Existem de 1000 a 5000 trilhas de cada lado de
uma superfície.
Trilha

Setor

Cilindro

Superfície (disco)
Cabeça

15
Discos de Armazenamento
■ Cada trilha é dividida em setores, onde a
informação é armazenada
■ Cada trilha tem 64 a 200 setores, sendo o setor a
menor unidade de informação que pode ser lida
ou escrita.
Trilha

Setor

Cilindro

Superfície (disco)
Cabeça

16
Discos de Armazenamento
■ As cabeças do disco para cada lado da superfície
estão ligadas juntas, e se movem de maneira
solidária, de modo que todas as cabeças estão
sempre sobre a mesma trilha da cada lado da
superfície.
Trilha

Setor

Cilindro

Superfície (disco)
Cabeça

17
Discos de Armazenamento
■ O termo cilindro é usado para identificar todas as
trilhas situadas sob as cabeças de leitura/escrita
em determinado instante.

Trilha

Setor

Cilindro

Superfície (disco)
Cabeça

18
Discos de Armazenamento
■ Acesso aos dados
 O SO precisa dirigir o disco atráves de um
procedimento de três estágios.
➔ O primeiro passo é posicionar as cabeças sobre a
trilha que contém a informação desejada. Esta
operação é chamada de busca (seek), e o tempo
necessário para sua realização é chamado de tempo
de busca.
➔ Os fabricantes de discos informam os tempos de
busca máximo, mínimo e médio de seus produtos.
➔ Por ser alta complexidade, o tempo médio é
calculado (normartizado) como a soma todos tempos
de todas as possíveis buscas, didivida pelo número
de possíveis buscas.

19
Discos de Armazenamento
 Uma vez localizada a trilha correta, é preciso esperar
que o setor procurado esteja sobre a cabeça.
 O tempo para isso ocorrer é chamado de latência
rotacional ou retardo rotacional
 A latência média corresponde a meio disco e
considerando que os disco rodam a 3600 e 7200 RPM,
a latência rotacional média está entre

Latência rotacional média=0,5/3600 RPM * (60 seg ou min)


Latência rotacional média=0,0083 = 8,3 ms

Latência rotacional média= 0,5 / 7400 RPM * (60 seg ou min)


Latência rotacional média= 0,0042 = 4,2 ms

20
Discos de Armazenamento
 O último componente do acesso a um disco é o tempo
de transferência, mais especificamente o tempo
necessário para se transferir um bloco de bits
armazenado em um setor.
 O tempo de transferência é função do tamanho do setor
e da velocidade de rotação.
 O controle do disco e da transferência da informação
dele para a memória é feito por uma unidade conhecida
como controladora de disco.
 A controladora de disco adiciona o componente final ao
tempo de acesso a um disco, o tempo de controladora,
que é o overhead imposto para realiação de um acesso
ao disco.

21
Discos de Armazenamento
■ Qual o tempo médio para ler ou escrever
em um disco com setores de 512 bytes,
rodando a 5400 RPM? O tempo médio de
busca (seek) do fabricante é de 12 ms, a
velocidade de transferência é de 5 MB/seg,
e o overhead da controladora é de 2 ms.
Suponha que não há ninguem usando o
disco, portanto tempo de espera é nulo.

22
Discos de Armazenamento
■ Solução
 O tempo médio de acesso a um disco é igual ao
tempo médio de busca mais a latência
rotacional média mais o tempo de tranferência
mais o overhead da controladora
 12 ms + 5,6 ms + (0,5 Kb / 5 MB/seg) + 2 ms
 12 + 5,6 + 0,1 + 2
 19,7 ms

23
Barramento
■ Canal de comunicação compartilhado
composto por um conjunto de “fios” para a
conexão entre subsistemas
■ Utilizado para controlar CPU, memória e
periféricos
■ Possibilita a expansão do computador de
forma organizada
■ Vantagens
 Versatilidade: ao se definir um sistema único
para conexão (padrão), novos dispositivos
podem ser adicionados/movidos entre sistemas
computacionais que utilizam o mesmo
barramento
 Baixo custo: conjunto de fios compartilhados 24
Barramento
■ Desvantagem
 O barramento é o gargalo do sistema, uma vez
que não pode ser utilizado para realizar mais
de uma transferência de forma simultânea
■ Operações realizadas no barramento
 Entrada ou saída
➔ (1) envio do endereço;
➔ (2) envio ou recepção do dado (ou controle)

■ Restrições físicas: número de linhas e


tamanho
 Barramento multiplexado: mesmos fios para
dados e endereços
 Não multiplexado: separa linhas e endereços
 Largura do barramento: desejável que seja
igual ao tamanho da palavra 25
Barramento
■ Padrões
 Simplificam a indústria, pois o fabricante
produz um periférico para uma determinada
norma e não para o equipamento
 Exemplos: NuBus, Sbus, SCSI, EISA, VESA,
PCI, PCMCIA, ...
 O tipo de barramento depende muitas vezes da
aplicação: multimídia, vídeo, notebook,
memória.
■ Tipos de barramento
 Processador-memória
 Entrada/saída
 Back-plane (“pano de fundo”)
 Back-side cache
26
Barramento
■ Processador-memória
 Barramentos curtos e de alta velocidade
 Projetados de acordo com o sistema de
memória da placa
 Proprietários dos fabricantes
■ Entrada/saída
 Padrão seguido por diversos fabricantes
 Diversos dispositivos de I/O conectados
 Normalmente não conectam diretamente
periféricos ao sistema de memória
 Taxas de transmissão variadas, mas geralmente
longas

27
Barramento
■ Back-plane
 Pano de fundo para a ligação de outros
barramentos
 Projetados para possibilitar a ligação de vários
grupos de dispositivos de I/O atráves de um
único adaptador ao barramento P/M
■ Back-side cache
 Utilizado para conectar a cache diretamente ao
processador
 Funciona muitas vezes na mesma frequência do
processador
 Porque chamar de barramento, se na prática é
uma porta?

28
Arquiteturas de barramento
■ Os dispositivos de I/O de um sistema
podem estar ligados ao processador de três
formas:
 Arquitetura de barramento único
 Arquitetura de barramento em dois níveis
 Arquitetura de barramento hierarquica

29
Arquiteturas de barramento
■ Barramento único
 Memória e dispositivos de I/O estão ligados a
CPU atráves de um único barramento
 Forma mais simples de interconexão
 Barramento tem que acomodar dispositivos
com características e velocidades bem
diferentes e o desempenho da comunicação cai

CPU Memória

P1 P2 P3

30
Arquiteturas de barramento
■ Barramento de dois níveis
 O processador e a memória podem se
comunicar atravé de um barramento principal
 Outros barramentos de I/O estão ligados ao
barramento principal através de adaptadores,
compondo um segundo nível na arquitetura de
barramentos
 Dessa forma, o barramento principal pode
funcionar a uma velocidade maior já que os
adaptadores se encarregam da comunicação
com os barramentos de I/O mais lentos

31
Arquiteturas de barramento
■ Barramento de dois níveis

cache
cache

CPU Memória
I/O

I/O
Adaptador Adaptador
A P1 A P1
Barramento de

Barramento de
A P2 A P2

A P3 A P3

32
Arquiteturas de barramento
■ Barramento hierárquico
 O processador e a memória se comunicam
atravé de um barramento principal
 Um barramento backplane concentra toda I/O
do sistema e é ligado ao barramento principal
(só um adaptador é ligado ao barramento
principal)
 Ao barramento backplane estão ligados
diferentes barramentos de I/O através de
adaptadores

33
Arquiteturas de barramento
Barramento
■ cache hierárquico
cache

CPU Memória
Adaptador
Barramento de I/O
Adaptador

A A A

P1 P2 P3

Barramento de I/O
Adaptador

A A A

P1 P2 P3 34
Acesso ao barramento
■ O problema em questão, agora, é como
acessar o barramento, isto é, como um
dispositivo ganha o acesso ao barramento?
■ Se isso for fácil de responder, então como
evitar que todos os dispositivos façam isso
ao memos tempo (caos total)?

35
Acesso ao barramento
■ A solução a primeira pergunta é a adoção
de um ou mais “bus master” - mestre de
barramento
■ Controlam o acesso ao barramento
 Iniciar e monitorar todas as requisições feitas
ao barramento
 Exemplos mais simples é o processador
 O problema com esse método é que exige-se
muito tempo da CPU para esse controle
■ Será que existe uma alternativa?
 Adoção de diferentes mestres de barramento,
onde cada um pode iniciar uma transação
diferente
 Qual problema isso gera?
36
Acesso ao barramento
■ Já a solução a segunda pergunta, que
complementa a pergunta anterior, é o uso
de arbitragem do barramento (decisão
sobre qual dispositivo vai obter o controle
do barramento)
■ Funcionamento
 Um dispositivo que quer o controle do
barramento envia um pedido de acesso
(request)
 O controle só lhe será dado quando receber um
sinal de garantia (grant) do barramento
 Enquanto não recebe o grant, fica esperando
 Ao finalizar o uso, sinaliza ao barramento.
37
Acesso ao barramento
■ A idéia da arbitragem é tentar balancear a
garantia de acesso a todos os dispositivos
■ Para isso, esses dois critérios devem ser
atendidos:
 Dispositivos com maior prioridade tem acesso
primeiro
 Não abandonar dispositivos de baixa prioridade

38
Acesso ao barramento
■ Como nada é perfeito, existem algumas
soluções (esquemas) para arbitragem de
barramento
 Daisy Chain
 Centralizada com requisição em paralelo
 Distribuída
 Distribuída com detecção de colisão

39
Acesso ao barramento
■ Esquema de arbitragem Daisy chain
 Existe uma linha com a informação da garantia
de uso (grant) do barramento que está ligada a
todos os dispositivos conectados ao
barramento, a partir do dispositivo de maior
prioridade até o de menor
 A prioridade é estabelecida pela posição do
dispositivo no barramento
 Assim, um dispositivo de alta prioridade
simplesmente intercepta o sinal, não
permitindo que os outros enxergem o sinal.
 Tem a vantagem de ser simples e a desvatagem
de não garantir acesso a todos os dispositivos
de forma igualitária
40
Acesso ao barramento
■ Esquema de arbitragem centralizada com
requisição em paralelo
 Usa diversas linhas para requisição de acesso,
sendo permitido que os dispositivos requisitem
o uso do barramento independentemente dos
outros
 Um árbitro central escolhe qual dos
dispositivos ganhou o acesso e informa que ele
agora é o mestre do barramento
 A desvatagem é a necessidade de um árbitro
central, que pode a vir a ser um gárgalo
 Exemplo: barramento PCI.

41
Acesso ao barramento
■ Esquema de arbitragem distribuído com
acesso por auto-seleção
 Também usa diversas linhas para requisição de
acesso
 Cada dispositivo que desejar acessar o
barramento coloca no barramento um código
que o identifica.
 A partir do exame constante do barramento, os
próprios dispositivos podem detectar quem está
requisitando o barramento e tem maior
prioridade
 A desvatagem é a necessidade de mais linhas
para transportar os sinais de requisição
 Exemplo: barramento NuBus, da apple para o
Macintosh II. 42
Acesso ao barramento
■ Esquema de arbitragem distribuído com
acesso por detecção de colisão
 Os dispositivos requisitam o barramento de
forma totalmente independente.
 Várias requisições de acesso simultâneas
resultam em uma colisão.
 Após a detecção da colisão, utiliza-se um
procedimento para selecionar um dos
dispositivos que solicitaram o barramento
 Padrão Ethernet

43
Mapeamento de I/O
■ O que faz um barramento é definir regras
do que deve-se fazer para tranferir um
bloco ou palavra
■ Entretanto, como endereçar os dispositivos
(mapeamento de I/O)?
■ Duas formas:
 Memory mapped;
 ou em portas de I/O.
■ Memory mapped (1)
 Um único espaço de endereçamento
 Destina-se um conjunto de endereços aos
periféricos

44
Mapeamento de I/O
■ Memory mapped (2)
 Instruções à memória pode ser tanto memória
quanto operações de I/O
 O mapeamento em memória tem a vantagem de
permitir uma maior proteção ao acesso direto a
dispositivos, pois os endereços de I/O podem
ser controlados pelo S.O.
 Ex: processadores da Motorola
■ Em portas de I/O
 Dois espaços distintos de endereçamento
 Entrada e saída acessadas por instruções
específicas (IN, OUT)
 Ex: Microprocessador da INTEL

45
Modos de transferência
■ Outra questão é quando efetuar a
transferência?
■ O que se deseja é:
 Rapidez na resposta a eventos criticos
 Não sobrecarga da CPU com atividades como
acesso a disco e refresh de memória
■ Três modos de implementar:
 Programado
 Interrupção
 DMA

46
Modos de transferência
■ I/O programada
 É controlada pela CPU (registradores e
instruções específicas)
 O processador pergunta para cada dispositivo
se este está apto a receber ou transmitir uma
unidade de informação e em caso afirmativo
realiza a transferência
 Existem três tipos:
➔ Bloqueado (busy way);
➔ Polling (inquisição).

47
Modos de transferência
■ Bloqueado (busy way)
 Uma vez iniciada a comunicação, a CPU fica
ocupada (escrava) até o término da operação
 CPU é subutilizada, pois os periféricos são
muito mais lentos que a CPU
 Ex: balança eletrônica
■ Polling
 A CPU periodicamente testa o conteúdo dos
bits do(s) registrador(es) de estado existente(s)
nos controladores de I/O
 Em cada controlador há registradores que
indicam tranferência a ser realizada (status)
 No modo polling a CPU possui controle total,
realizando todo o trabalho
48
Modos de transferência
■ Interrupção
 Criada para solucionar o problema do tempo
desperdiçado com múltiplos testes que é
inerente do polling
 Controladora é avisada pelo dispositivo que
este está pronto para transmitir/receber dados
 Principais características
➔ Assincronismo em relação a qualquer instrução,
ocorrendo a qualquer instante
➔ Na ocorrência de uma interrupção, a mesma é
atendida após o término da instrução corrente. O
teste de interrupção é feito depois da execução da
instrução
➔ Diferenciar interrupção de hardware de excessões

➔ Dispositivos podem ter diferentes prioridades

49
Modos de transferência
■ DMA (Transferência direta à memória)
 Na idéia de interrupção, a CPU é liberada da
tarefa de aguardar por ocorrência de eventos
de I/O, mas continua sendo o elemente ativo
 A solução é usar DMA. Dispositivo controlador
é o responsável pela tranferência de dados,
ficando a CPU livre para realizar outras
operações.
 Mecanismos de interrupção continuam sendo
utilizados pelo controlador para comunicação
com o processador, mas apenas no término de
um evento de I/O ou na ocorrência de erros
 Durante a operação o controlador DMA se
torna o mestre do barramento e controla a
transferência I/O <-> memória 50
FIM

51

Você também pode gostar