Periféricos de computadores
João Canas Ferreira
Arquitectura de Computadores
FEUP/LEIC
Contém figuras de “Computer Organization and Design” (cap. 8), D. Patterson & J. Hennessey, 3ª. ed., Elsevier
Tópicos
1 Periféricos: aspectos gerais
2 Discos magnéticos
3 Comunicação entre CPU e periféricos
4 Desempenho de subsistemas de E/S
ArqComp: Periféricos de computadores 2/34 2006-06-09
1 Periféricos: aspectos gerais
2 Discos magnéticos
3 Comunicação entre CPU e periféricos
4 Desempenho de subsistemas de E/S
ArqComp: Periféricos de computadores 3/34 2006-06-09
Subsistema de Entrada/Saída de dados
+ Todos os componentes usados para transferir dados de/para osubsistema “CPU + Memória” são designados como periféricos.
+ Periféricos típicos são:1. teclado, rato, monitor;2. discos magnéticos, discos ópticos;3. dispositivos de ligação a redes;4. impressoras, scanners, etc.
+ Alguns critérios de qualidade:1. fiabilidade: medida do tempo de funcionamente até falhar.2. disponibilidade: medida do tempo em que o sistema está
operacional.3. expansibilidade.
+ Desempenho depende de muitos factores: características dodispositivo, sistema operativo, método de comunicação com oresto do sistema.
ArqComp: Periféricos de computadores 4/34 2006-06-09
Classificação de periféricos
+ A diversidade de periféricos é enorme. Uma classificação simplespode usar os seguintes três critérios:
+ Comportamento:1. Entrada (leitura única);
2. Saída (escrita única, sem leitura);
3. Armazenamento (leitura e escrita, geralmente mais queuma vez).
+ Tipo de cliente/fornecedor: Humano ou máquina.
+ Taxa de dados: taxa máxima de transferência de dados para CPUou memória.
+ Exemplo: Teclado: dispositivo de entrada, usado por humano ecom uma taxa máxima de dados de 10 bytes/segundo.
ArqComp: Periféricos de computadores 5/34 2006-06-09
Exemplo típico
ArqComp: Periféricos de computadores 6/34 2006-06-09
Critérios de desempenho
+ Os critérios de desempenho dependem muito da aplicação.+ Exemplo: “largura de banda” de E/S (medida de débito) pode ser
considerada de duas maneiras diferentes:I Que quantidade de dados passa pelo sistema por unidade
de tempo?I Quantas operações de E/S podem ser executadas por
unidade de tempo?Aplicações de multimédia, com transferências de ficheiroslongos, estão no primeiro caso.Recepção de reservas (transacções pequenas) está no 2º caso.
+ Noutras aplicações, interessa o “tempo de resposta” (medida delatência, que pode ser dependente da largura de banda dacomunicação). Exemplo: computdor desktop.
+ Existem aplicações em que interessam ambos os parâmetros:Multibanco, servidores Web.
ArqComp: Periféricos de computadores 7/34 2006-06-09
1 Periféricos: aspectos gerais
2 Discos magnéticos
3 Comunicação entre CPU e periféricos
4 Desempenho de subsistemas de E/S
ArqComp: Periféricos de computadores 8/34 2006-06-09
Disco magnético: vista interna
ArqComp: Periféricos de computadores 9/34 2006-06-09
Discos magnéticos variados
ArqComp: Periféricos de computadores 10/34 2006-06-09
Características de um disco magnético
+ Sistema de armazenamento não-volátil.+ Conjunto de discos (de metal) rotativos com eixo comum: 5400–15000 RPM.+ Cada disco tem 2 superfícies de gravação cobertas com material magnético.+ Cada superfície está dividida em círculos concêntricos: as pistas.+ Cada pista está dividida em sectores (512 bytes actualmente, 4096 bytes no
futuro).+ Todas as pistas que estão simultaneamente sob as cabeças de leitura
constituem um “cilindro” (vertical).+ Em cada pista, a informação está organizada como: nº de sector, espaço livre,
informação do sector, espaço livre, nº de sector, espço livre, etc.+ Actualmente, o número de sectores varia com a posição da pista: pistas
exteriores têm mais sectores.+ A densidade (bits por unidade de área) tem vindo a aumentar: 100% ao ano
entre 1997 e 2001;+ Em 2001: 20× 109 bits/polˆ2 (comercial), 60× 109 bits/polˆ2 (lab);+ A escrita ou leitura são efectuadas por cabeças de escrita/leitura ligadas a um
braço. Todas as cabeças de leitura se movimentam simultaneamente: todasestão sobre o mesmo sector da mesma pista (mas de superfícies diferentes).
+ A capacidade é indicada em potências de 10: 1 MB = 106 bytes.
ArqComp: Periféricos de computadores 11/34 2006-06-09
Constituição de um disco magnético
ArqComp: Periféricos de computadores 12/34 2006-06-09
Tempos de operação
+ Tempo de acesso—soma dos três tempos mencionados a seguir;+ Tempo de busca—tempo que demora a pôr o braço no cilindro
pretendido. Fabricantes especificam os temposI máximo,I mínimo,I médio (soma dos tempos de todas as buscas possíveis/nº
de buscas possíveis).+ Latência de rotação—tempo que o sector pretendido demora a
“surgir” debaixo do braço após cabeça chegar ao cilindro:5.6 ms–2.0 ms.
+ Tempo de transferência—tempo que demora a transferir umsector já posicionado sob a cabeça: 30–80 MB/s.
+ Alguns controladores de disco têm uma cache: 320 MB/s.+ Tempo de transferência reduz-se a 40% ao ano;+ Tempo de acesso reduz-se 10% ao ano.
ArqComp: Periféricos de computadores 13/34 2006-06-09
Proximidade dos acessos
O princípio da proximidade também vale para acessos a disco: naprática, o tempo de busca médio é muito inferior ao especificadopelos fabricantes.
Percentagem de acessos com buscas de comprimento entre os doisvalores do eixo dos yy.Exemplo: 8% dos acessos envolveu uma distância de busca entre 16e 30 cilindros (gráfico da esquerda). (0: no mesmo cilindro)ArqComp: Periféricos de computadores 14/34 2006-06-09
Cálculo do tempo de leitura
Objectivo: determinar o tempo médio para ler/escrever um sector de512 bytes de um disco de 10000 RPM. Tempo médio de busca é de6 ms, taxa de transferência de 50 MB/s. O controlador tem umoverhead de 0.2 ms.
I Tempo médio de busca: 6 msI Latência de rotação (em segundos):
0.510000/60
= 0.003
I Tempo de transferência (em segundos):
0.5 KB50 MB
=0.5
50× 103 = 0.00001
I Controlador acrescenta sempre 0.2 ms por transferência.I Total = 6.0 + 3.0 + 0.01 + 0.2 = 9.2 msI Se o tempo médio de busca for realmente 25% do especificado:
Total = 1.5 + 3.0 + 0.01 + 0.2 = 4.7 msArqComp: Periféricos de computadores 15/34 2006-06-09
Disponibilidade e fiabilidade
+ Medida de fiabilidade: MTTF (mean time to failure), tempomédio até falhar. Exemplo: o mesmo fabricante vende modeloscom MTTF: 1200000 h, 600000 h e 330000 h (a 25 ºC).
+ Medida de interrupção de serviço: MTTR (mean time to repair),tempo médio de reparação.
+ Tempo médio entre avarias MTBF(mean time between failures):MTTF + MTTR.
+ Medida de disponibilidade:
disponibilidade =MTTFMTBF
=MTTF
(MTTF + MTTR)
+ Como aumentar MTTF ?
Aumentar a tolerância a falhas através do uso controlado deredundância. Por exemplo, fazer acessos simultâneos a doisdiscos, de forma a que cada um seja sempre uma cópia do outro.
RAID: Redundant Array of Inexpensive DisksArqComp: Periféricos de computadores 16/34 2006-06-09
1 Periféricos: aspectos gerais
2 Discos magnéticos
3 Comunicação entre CPU e periféricos
4 Desempenho de subsistemas de E/S
ArqComp: Periféricos de computadores 17/34 2006-06-09
Barramentos (1/2)
+ Infra-estrutura de comunicação: barramento.Meio de comunicação partilhado que usa um conjunto de linhaspara ligar múltiplos subsistemas.
+ Vantagens:I Versatilidade (é fácil adicionar mais subsistemas)I Baixo custo
+ Desvantagens:I Possível estrangulamento da comunicaçãoI Projecto delicado devido a limitações físicas.
+ Barramentos são compostos por linhas de dados e linhas decontrolo.
+ Linhas de controlo: são usadas para efectuar pedidos e paraespecificar o tipo de dados.
+ Linhas de dados: dados, endereços e parâmetros de comandoscomplexos.
ArqComp: Periféricos de computadores 18/34 2006-06-09
Barramentos (2/2)
+ Transacção de barramento: sequência de operações do barramento iniciada porum pedido. Pode envolver muitas operações individuais.
+ Barramentos podem ser dividos em:I barramentos processador-memória: curtos, de muito alta velocidade,
adaptados ao susbsistema de memória;I barramentos de E/S: mais compridos, vários tipos de dispositivos com
taxas de transferência muito diferentes. Geralmente, não ligamdirectamente ao CPU.
+ Um barramento síncrono inclui uma linha de relógio e usa um protocolo fixode comunicação (com tempos relativos ao relógio): protocolos tendem a serrápidos e simples.Desvantagens: todos os dispositivos devem operar à mesma velocidade e osbarramentos não podem ser compridos. Muito usados em ligaçõesprocessador-memória.
+ Um barramento assíncrono não tem um sinal de relógio comum. Adpata-senaturalmente a dispositivos de diferentes velocidades.Desvantagens: A transmissão de informação deve ser coordenada de formamais complexa (protocolo de “handshaking”).
+ Tendência: passar de barramentos com muitas linhas em paralelo para ligaçõesponto-a-ponto com poucas linhas e dispositivos ligados por comutadores.
ArqComp: Periféricos de computadores 19/34 2006-06-09
Exemplos de barramentos de E/S
+ Dois barramentos normalizados muito usados.
+ Baseados em comunicação ponto-a-ponto (barramentos “série”).
ArqComp: Periféricos de computadores 20/34 2006-06-09
Protocolo de comunicação: “handshaking” (1/2)
+ ReadReq: linha controlada pelo dispositivo de E/S.+ Ack e DataRdy: linhas controladas pela memória.+ Data: linhas partilhadas.
ArqComp: Periféricos de computadores 21/34 2006-06-09
Protocolo de comunicação: “handshaking” (2/2)
Exemplo de uma transacção assíncrona:Transferência de uma posição de memória para um dispositivo de E/S:
1. Memória detecta que sinal ReadReq está a “1”: obtém endereçoda linha de dados e activa Ack para indicar que foi “activada”.
2. Dispositivo de E/S detecta Ack e liberta as linhas de dados eReadReq.
3. Memória detecta ReadReq a “0” e coloca Ack a “0” também.4. Quando a memória tem os dados prontos a serem transferidos,
coloca a informação nas linhas de dados e coloca DataRdy a “1”.5. Dipositivo E/S detecta DataRdy a “1”, lê dados do barramento,
após o que leva Ack a “1”.6. Memória detecta Ack a “1”, pelo que baixa DataRdy e liberta as
linhas de dados.7. Dispositivo de E/S detecta que DataRdy está a “0”, e coloca
Ack a “0”. Pode começar uma nova transacção.
ArqComp: Periféricos de computadores 22/34 2006-06-09
Sistema baseado num Pentium 4
ArqComp: Periféricos de computadores 23/34 2006-06-09
Características de controladores E/S
ArqComp: Periféricos de computadores 24/34 2006-06-09
Tarefas do sistema operativo
+ Características relavantes do sistema de E/S:1. Vários programas partilham o sistema de E/S.2. Sistema de E/S usam (muitas vezes) interrupções para
comunicar informação sobre as operações de E/S, levandoo CPU a entrar em modo supervisor.
3. O controlo de baixo nível dos dispositivos de E/S é muitocomplexo porque implica a gestão de muitos eventossimultâneos e porque os requisitos dos dispositivos sãomuito minuciosos.
+ Tarefas a executar pelo S. O.:I Garantir que cada processo apenas acede aos dispositivos
(ou às partes dos dispositivos) a que tem direito.I Fornecer abstracções que permitam isolar o acesso aos
dispositivos dos detalhes de cada um deles.I Atender as interrupções geradas pelos dispositivos de E/S.I Garantir acesso equitativo e eficiente aos dispositivos.
ArqComp: Periféricos de computadores 25/34 2006-06-09
Comandos de E/S
+ Para executar uma transferência de E/S, o CPU deve seleccionar o dispositivo etransmitir um ou mais comandos.
+ Método 1: dispositivos mapeados em memória
I Uma secção do espaço de endereçamento é associada a um dispositivo:leituras e escritas para esses endereços são interpretadas comocomandos.O sistema de memória ignora os acessos, mas o controlador dodispositivo detecta-os e actua em concordância.
I O acesso aos dispositivos é controlado: os dispositivos apenas surgemno espaço de endereçamento do sistema operativo (e não dos processosindividuais).
I Os dispositivos usam os endereços para determinar o tipo de comando.I A família MIPS usa esta abordagem. (E o nanoMIPS também. . . )
+ Método 2: instruções especiais de I/O
I Alguns processadores têm instruções especiais de E/S que permitemespecificar o número do dispositivo e os dados a enviar/receber.
I A arquitectura IA-32 da Intel (386, Pentium, etc.) usa esta abordagem.
ArqComp: Periféricos de computadores 26/34 2006-06-09
Comunicação com o processador
Existem duas abordagens à estratégia de comunicação entre CPU e periféricos:Polling
+ O CPU verifica periodicamente o estado do periférico.+ O dispositivo simplesmente coloca a informação apropriada num registo, que
é acedido pelo CPU.+ Vantagem: simplicidade.+ Desvantagem: pode desperdiçar tempo de CPU significativo. O processador
pode aceder muitas vezes ao dispositivo, apenas para constatar que esteainda não está pronto.
Interrupções+ Quando o dispositivo termina uma tarefa, envia uma interrupção ao CPU
(activando uma linha pré-definida).+ As interrupções são assíncronas em relação à execução de instruções: uma
interrupção não está associada à execução de uma instrução e não implica oprotelamento/suspensão da execução da instrução.O CPU apenas necessita de verificar se existe uma interrupção pendentequando inicia a execução de uma nova instrução.
+ Uma interrupção pode vir acompanhada de informação adicional (porexemplo, a identidade do dispostivo que a gerou ou a sua prioridade).
ArqComp: Periféricos de computadores 27/34 2006-06-09
Transferências memória↔ dispositivos E/S: DMA
+ A transferência de dados entre um dispositivo de E/S e memóriaocorre tipicamente em duas etapas:
1. transferência do dispositivo de E/S para o CPU;2. transferência do CPU para memória.
+ Em transferências por DMA (Direct Memory Access), os dados sãotransferidos directamente do dispositivi para a memória.
+ DMA é realizado por um controlador dedicado, que podetrabalhar de maneira independente do processador central.
1. CPU prepara a transferência DMA: identificação dodispositivo, operação a efectuar, endereço de memóriainicial, nº de bytes a transferir.
2. Controlador de DMA efectua a transferência, enquanto CPUprossegue com as respectivas actividades.
3. Após terminar a transferência, o controlador de DMA enviauma interrupção ao CPU.
ArqComp: Periféricos de computadores 28/34 2006-06-09
1 Periféricos: aspectos gerais
2 Discos magnéticos
3 Comunicação entre CPU e periféricos
4 Desempenho de subsistemas de E/S
ArqComp: Periféricos de computadores 29/34 2006-06-09
Impacto de E/S sobre o desempenho
Um programa demora 100 s a terminar. Desse tempo, 90 s são detempo de CPU. Assuma que o tempo de CPU melhora 50% por anodurante cinco anos, enquanto o sistema de E/S permanece igual. Aofim de cinco anos, quanto mais rápido é o programa?
I Tempo de E/S = 100 - 90 = 10 sI Tabela para cinco anos (valores arredondado à unidade):
Ano CPU (s) E/S (s) Total (s) % E/S
0 90 10 100 101 90/1.5 = 60 10 70 142 60/1.5 = 40 10 50 203 40/1.5 = 27 10 37 274 27/1.5 = 18 10 28 365 18/1.5 = 12 10 22 45
I Melhoria de desempenho do CPU: 90/12 = 7.5I Melhoria de desempenho total: 100/22 = 4.5
ArqComp: Periféricos de computadores 30/34 2006-06-09
Abordagem ao projecto de um sistema E/S
+ Tarefa típica: projectar sistema de E/S de forma a respeitarrestrições de “largura de banda” para uma certa carga (conjuntode programas a executar).
+ Alternativa: dado um sistema de E/S parcialmente configurado,equilibrar o sistema de forma a obter a maior largura de bandapossível.
+ Abordagem geral:1. Determinar o elo mais fraco no sistema de E/S.
2. Configurar este componente para ter o desempenhopretendido (taxa de transmissão).
3. Determinar os requisitos do resto do sistema e configuraros demais elementos para permitirem obter a taxa detransmissão determinada anteriormente.
ArqComp: Periféricos de computadores 31/34 2006-06-09
Projecto de um sistema de E/S: especificação
(Trata-de de um exemplo muito simplificado. Muitas vezes apenassimulação permite obter resultados suficientemente rigorosos.)
Especificação do sistema:
1. CPU capaz de executar 3× 109 instruções/s. Em média, o S. O. dispende100000 instruções por operação de E/S.
2. Barramento de acesso a memória com uma taxa de transferência de 1000 MB/s.
3. Controladores de disco SCSI Ultra320 com uma taxa de 320 MB/s e capazes deusar até 7 discos.
4. Discos magbéticos com taxas de transferência de 75 MB/s e um tempo médioconjunto de busca e latência rotacional de 6 ms.
A carga (para o sistema de E/S) consiste em leituras de 64 KB(leitura sequencial de sectores de uma mesma pista). Os programasdo utilizador gastam 200000 instruções por cada operação de E/S.Objectivo: Determinar a maior taxa sustentável de E/S, bem como onúmero de discos e de controladores necessários.(Assumir que nunca existem conflitos nos acessos a disco.)
ArqComp: Periféricos de computadores 32/34 2006-06-09
Projecto de um sistema de E/S: cálculos (I)
Os componentes fixos são o CPU e memória.
Começar por determinar as restrições impostas por estescomponentes.
I Taxa máxima de E/S do CPU:
Taxa de execução de instruçõesNº de instruções por E/S
=3× 109
(200 + 100)× 103= 10000
E/Ss
I Barramento de memória (transferências de 64 KB):
Largura de bandaBytes por E/S
=1000× 106
64× 103= 15625
E/Ss
O CPU é o limitador do desempenho. O sistema deve ser configuradopara uma taxa de 10000 operações de E/S por segundo.
ArqComp: Periféricos de computadores 33/34 2006-06-09
Projecto de um sistema de E/S: cálculos (II)
Determinar os restantes requisitos do sistema.I Tempo gasto por cada disco numa operação de E/S:
Tempo por E/S = 6 +64 KB
75 MB/s= 6.9 ms
I Cada disco pode realizar:
Nº operações de E/S =10006.9
≈ 146E/Ss
I Para saturar o CPU são necessárias 10000 operações E/S por segundo.Portanto, o número de discos é:
Nº de discos =10000146
≈ 69 discos
I A taxa de transmissão de um disco é:Tamanho da transferênciaTempo de transferência
=64 KB6.9 ms
≈ 9.56 MB/s
I 7 discos necessitam de 7× 9.56 = 66.9 MB/s, o que é menor que 320. Logo,o controlador não é saturado pelos 7 discos.
I O sistema necessitará de b69/7c = 10 controladores.
ArqComp: Periféricos de computadores 34/34 2006-06-09