Author
truonghanh
View
215
Download
0
Embed Size (px)
Perifricos de computadores
Joo Canas Ferreira
Arquitectura de Computadores
FEUP/LEIC
Contm figuras de Computer Organization and Design (cap. 8), D. Patterson & J. Hennessey, 3a. ed., Elsevier
Tpicos
1 Perifricos: aspectos gerais
2 Discos magnticos
3 Comunicao entre CPU e perifricos
4 Desempenho de subsistemas de E/S
ArqComp: Perifricos de computadores 2/37 2007-05-19
1 Perifricos: aspectos gerais
2 Discos magnticos
3 Comunicao entre CPU e perifricos
4 Desempenho de subsistemas de E/S
ArqComp: Perifricos de computadores 3/37 2007-05-19
Notas:
3
Subsistema de entrada/sada de dados
+ Todos os componentes usados para transferir dados de/para osubsistema CPU + Memria so designados como perifricos.
+ Perifricos tpicos so:1. teclado, rato, monitor;
2. discos magnticos, discos pticos;
3. dispositivos de ligao a redes;
4. impressoras, scanners, etc.
+ Alguns critrios de qualidade:1. fiabilidade: medida do tempo de funcionamente at falhar;
2. disponibilidade: medida do tempo em que o sistema estoperacional;
3. expansibilidade.
+ Desempenho depende de muitos factores: caractersticas dodispositivo, sistema operativo, mtodo de comunicao com oresto do sistema.
ArqComp: Perifricos de computadores 4/37 2007-05-19
Notas:
4
Classificao de perifricos
+ A diversidade de perifricos enorme. Uma classificaosimples utiliza os seguintes trs critrios:
+ Comportamento:1. Entrada (leitura nica);
2. Sada (escrita nica, sem leitura);
3. Armazenamento (leitura e escrita, geralmente mais queuma vez).
+ Tipo de cliente/fornecedor: Humano ou mquina.
+ Taxa de dados: taxa mxima de transferncia de dados paraCPU ou memria.
+ Exemplo: Teclado dispositivo de entrada, usado por humano taxa mxima de dados de 10 bytes/segundo.
ArqComp: Perifricos de computadores 5/37 2007-05-19
Notas:
5
CPU e perifricos: exemplo
ArqComp: Perifricos de computadores 6/37 2007-05-19
Notas:
6
Critrios de desempenho
+ Os critrios de desempenho dependem muito da aplicao.
+ Exemplo: largura de banda de E/S (medida de dbito) podeser considerada de duas maneiras diferentes: Que quantidade de dados passa pelo sistema por unidadede tempo? (unidade: B/s)
Quantas operaes de E/S podem ser executadas porunidade de tempo?
Aplicaes de multimdia, com transferncias de ficheiroslongos, esto no primeiro caso.Recepo de reservas (transaces pequenas) est no 2o caso.
+ Noutras aplicaes, interessa o tempo de resposta (medidade latncia, que pode ser dependente da largura de banda dacomunicao). Exemplo: computador desktop.
+ Existem aplicaes em que interessam ambos os parmetros:Multibanco, servidores Web.
ArqComp: Perifricos de computadores 7/37 2007-05-19
Notas:
7
1 Perifricos: aspectos gerais
2 Discos magnticos
3 Comunicao entre CPU e perifricos
4 Desempenho de subsistemas de E/S
ArqComp: Perifricos de computadores 8/37 2007-05-19
Notas:
8
Disco magntico: vista interna
ArqComp: Perifricos de computadores 9/37 2007-05-19
Notas:
9
Discos magnticos variados
ArqComp: Perifricos de computadores 10/37 2007-05-19
Notas:
10
Caractersticas de um disco magntico
+ Sistema de armazenamento no-voltil.+ Conjunto de discos (de metal) rotativos com eixo comum: 540015000 RPM.+ Cada disco tem 2 superfcies de gravao cobertas com material magntico.+ Cada superfcie est dividida em crculos concntricos: as pistas.+ Cada pista est dividida em sectores (tradicionalmente de 512 bytes, mais
recentemente 4096 bytes).+ Todas as pistas que esto simultaneamente sob as cabeas de leitura
constituem um cilindro (vertical).+ Em cada pista, a informao est organizada em: no de sector, espao livre,
informao do sector, espao livre, no de sector, espao livre, etc.+ Actualmente, o nmero de sectores varia com a posio da pista: pistas
exteriores tm mais sectores.+ A densidade (bits por unidade de rea) tem vindo a aumentar: 100% ao ano
entre 1997 e 2001; 40% ao ano actualmente.+ Em 2001: 20 109 bits/pol2 (comercial), 60 109 bits/pol2 (lab);+ A escrita ou leitura so efectuadas por cabeas de escrita/leitura ligadas a
um brao. Todas as cabeas de leitura se movimentam simultaneamente:todas esto sobre o mesmo sector da mesma pista (mas de superfciesdiferentes).
+ A capacidade indicada em potncias de 10: 1 MB = 106 bytes.
ArqComp: Perifricos de computadores 11/37 2007-05-19
Notas:
11
Constituio de um disco magntico
ArqComp: Perifricos de computadores 12/37 2007-05-19
Notas:
12
Tempos de operao
+ Tempo de acessosoma dos trs tempos mencionados aseguir;
+ Tempo de buscatempo que demora a pr o brao no cilindropretendido. Fabricantes especificam os tempos mximo, mnimo, mdio (soma dos tempos de todas as buscas possveis/node buscas possveis).
+ Latncia de rotaotempo que o sector pretendido demora asurgir debaixo do brao aps cabea chegar ao cilindro:5.6ms2.0ms.
+ Tempo de transfernciatempo que demora a transferir umsector j posicionado sob a cabea: 3080 MB/s (SATA: > 125MB/s)
+ Alguns controladores de disco tm uma cache: 320MB/s.+ Tempo de transferncia reduz-se 40% ao ano;+ Tempo de acesso reduz-se 10% ao ano.
ArqComp: Perifricos de computadores 13/37 2007-05-19
Notas:
13
Proximidade dos acessos
O princpio da proximidade tambm vale para acessos a disco: naprtica, o tempo de busca mdio muito inferior ao especificadopelos fabricantes.
Grficos mostram a percentagem de acessos com buscas decomprimento entre os dois valores do eixo dos YY.Exemplo (grfico da esquerda): 8% dos acessos envolveu umadistncia de busca entre 16 e 30 cilindros.Linha 0 um caso especial: acessos no mesmo cilindro.
ArqComp: Perifricos de computadores 14/37 2007-05-19
Notas:
14
Clculo do tempo de leitura
Objectivo: determinar o tempo mdio para ler/escrever um sectorde 512 bytes de um disco de 10000 RPM. Tempo mdio de busca de 6ms, taxa de transferncia de 50MB/s. O controlador tem umoverhead de 0.2ms.
Tempo mdio de busca: 6ms Latncia de rotao (em segundos):
0.5
10000/60= 0.003
Tempo de transferncia (em segundos):
0.5KB
50MB=
0.5
50 103= 0.00001
Controlador acrescenta sempre 0.2ms por transferncia. Total = 6.0 + 3.0 + 0.01 + 0.2 = 9.2ms Se o tempo mdio de busca for apenas 25% do especificado:Total = 1.5 + 3.0 + 0.01 + 0.2 = 4.7ms
ArqComp: Perifricos de computadores 15/37 2007-05-19
Notas:
15
Disponibilidade e fiabilidade
+ Medida de fiabilidade: MTTF (mean time to failure), tempomdio at falhar. Exemplo: o mesmo fabricante vende modeloscom MTTF: 1200000 h, 600000 h e 330000 h (a 25 oC).
+ Medida de interrupo de servio: MTTR (mean time to repair),tempo mdio de reparao.
+ Tempo mdio entre avarias MTBF(mean time between failures):MTTF + MTTR.
+ Medida de disponibilidade:
disponibilidade =MTTF
MTBF=
MTTF
(MTTF+MTTR)
+ Como aumentar MTTF ?
Aumentar a tolerncia a falhas atravs do uso controlado deredundncia. Por exemplo, fazer acessos simultneos a doisdiscos, de forma a que cada um seja sempre uma cpia dooutro.
RAID: Redundant Array of Inexpensive Disks
ArqComp: Perifricos de computadores 16/37 2007-05-19
Notas:
16
1 Perifricos: aspectos gerais
2 Discos magnticos
3 Comunicao entre CPU e perifricos
4 Desempenho de subsistemas de E/S
ArqComp: Perifricos de computadores 17/37 2007-05-19
Notas:
17
Barramentos (1/2)
+ Infra-estrutura de comunicao: barramento.Meio de comunicao partilhado que usa um conjunto de linhascomuns para ligar mltiplos subsistemas.
+ Vantagens: Versatilidade ( fcil adicionar mais subsistemas) Baixo custo
+ Desvantagens: Possvel estrangulamento da comunicao Projecto delicado devido a limitaes fsicas.
+ Barramentos so compostos por linhas de dados e linhas decontrolo.
+ Linhas de controlo: so usadas para efectuar pedidos e paraespecificar o tipo de dados.
+ Linhas de dados: transmitir dados, endereos e parmetros decomandos complexos.
ArqComp: Perifricos de computadores 18/37 2007-05-19
Notas:
18
Barramentos (2/2)
+ Transaco de barramento: sequncia de operaes do barramento iniciadapor um pedido. Pode envolver muitas operaes individuais.
+ Barramentos podem ser dividos em: barramentos processador-memria: curtos, de muito alta
velocidade, adaptados ao susbsistema de memria; barramentos de E/S: mais compridos, vrios tipos de dispositivos
com taxas de transferncia muito diferentes. Geralmente, no ligamdirectamente ao CPU.
+ Um barramento sncrono inclui uma linha de relgio e usa um protocolo fixode comunicao (com tempos relativos ao sinal de relgio do barramento):protocolos tendem a ser rpidos e simples.Desvantagens: todos os dispositivos devem operar mesma velocidade eos barramentos no podem ser compridos (degradao do sinal de relgio).Muito usados em ligaes processador-memria.
+ Um barramento assncrono no tem um sinal de relgio comum. Adpata-senaturalmente a dispositivos de diferentes velocidades.Desvantagens: A transmisso de informao deve ser coordenada deforma mais complexa (protocolo de handshaking).
+ Tendncia: passar de barramentos com muitas linhas em paralelo paraligaes ponto-a-ponto com poucas linhas e dispositivos ligados porcomutadores.
ArqComp: Perifricos de computadores 19/37 2007-05-19
Notas:
19
Exemplos de barramentos de E/S
+ Dois barramentos normalizados muito usados.+ Baseados em comunicao ponto-a-ponto (barramentos
srie).
ArqComp: Perifricos de computadores 20/37 2007-05-19
Notas:
20
Protocolo de comunicao: handshaking (1/2)
+ ReadReq: linha controlada pelo dispositivo de E/S.+ DataRdy: linhas controladas pela memria.+ Data e Ack : linhas partilhadas,
ArqComp: Perifricos de computadores 21/37 2007-05-19
Notas:
21
Protocolo de comunicao: handshaking (2/2)
Exemplo de uma transaco assncrona:Transferncia de posio de memria para dispositivo de E/S:
1. Memria detecta que sinal ReadReq est a 1: obtm endereoda 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. Memria detecta ReadReq a 0 e coloca Ack a 0 tambm.
4. Quando a memria tem os dados prontos a transferir, coloca ainformao nas linhas de dados e coloca DataRdy a 1.
5. Dipositivo E/S detecta DataRdy a 1, l dados do barramento,aps o que leva Ack a 1.
6. Memria detecta Ack a 1, pelo que baixa DataRdy e liberta aslinhas de dados.
7. Dispositivo de E/S detecta que DataRdy est a 0, e coloca Acka 0. Pode comear uma nova transaco.
ArqComp: Perifricos de computadores 22/37 2007-05-19
Notas:
22
Sistema baseado num Pentium 4
ArqComp: Perifricos de computadores 23/37 2007-05-19
Notas:
23
Caractersticas de controladores E/S
ArqComp: Perifricos de computadores 24/37 2007-05-19
Notas:
24
Tarefas do sistema operativo
+ Caractersticas relavantes do sistema de E/S: Vrios programas partilham o sistema de E/S.
Sistema de E/S usam (muitas vezes) interrupes paracomunicar informao sobre as operaes de E/S, levandoo CPU a entrar em modo supervisor.
O controlo de baixo nvel dos dispositivos de E/S muitocomplexo porque implica a gesto de muitos eventossimultneos e porque os requisitos dos dispositivos somuito minuciosos.
+ Tarefas a executar pelo S. O.: Garantir que cada processo apenas acede aos dispositivos(ou s partes dos dispositivos) a que tem direito.
Fornecer abstraces que permitam isolar o acesso aosdispositivos dos detalhes de cada um deles.
Atender as interrupes geradas pelos dispositivos de E/S.
Garantir acesso equitativo e eficiente aos dispositivos.
ArqComp: Perifricos de computadores 25/37 2007-05-19
Notas:
25
Comandos de E/S
+ Para executar uma transferncia de E/S, o CPU deve seleccionar odispositivo e transmitir um ou mais comandos.
+ Mtodo 1: dispositivos mapeados em memria Uma seco do espao de endereamento associada a um
dispositivo: leituras e escritas para esses endereos so interpretadascomo comandos.O sistema de memria ignora os acessos, mas o controlador dodispositivo detecta-os e actua em concordncia.
O acesso aos dispositivos controlado: os dispositivos apenas surgemno espao de endereamento do sistema operativo (e no dosprocessos individuais).
Os dispositivos usam os endereos para determinar o tipo de comando. A famlia MIPS usa esta abordagem. (E o nanoMIPS tambm. . . )
+ Mtodo 2: instrues especiais de I/O Alguns processadores tm instrues especiais de E/S que permitem
especificar o nmero do dispositivo e os dados a enviar/receber. A arquitectura IA-32 da Intel (386, Pentium, etc.) usa esta abordagem.
ArqComp: Perifricos de computadores 26/37 2007-05-19
Notas:
26
Comunicao com o processador
Existem duas abordagens estratgia de comunicao entre CPU e perifricos:Varrimento (polling)
+ O CPU verifica periodicamente o estado do perifrico.
+ O dispositivo simplesmente coloca a informao apropriada num registo,que acedido pelo CPU.
+ Vantagem: simplicidade.
+ Desvantagem: pode desperdiar tempo de CPU significativo. O processadorpode aceder muitas vezes ao dispositivo, apenas para constatar que esteainda no est pronto.
Interrupes+ Quando o dispositivo termina uma tarefa, envia uma interrupo ao CPU
(activando uma linha pr-definida).
+ As interrupes so assncronas em relao execuo de instrues: umainterrupo no est associada execuo de uma instruo e no implica oprotelamento/suspenso da execuo da instruo.O CPU apenas necessita de verificar se existe uma interrupo pendentequando inicia a execuo de uma nova instruo.
+ Uma interrupo pode vir acompanhada de informao adicional (porexemplo, a identidade do dispostivo que a gerou ou a sua prioridade).
ArqComp: Perifricos de computadores 27/37 2007-05-19
Notas:
27
Tratamento de interrupes
...
...sw $fp, 24($sp) addu $fp, $sp, 32move $t0, $a0sw $t0, 20($sp)sub $a0, $t0, 1jal rotinamove $t1, $v0 lw $t0, 20($sp)sw $t1, 16($sp)sub $a0, $t0, 2jal rotinamove $t2, $v0lw $t1, 16($sp)add $v0, $t1, $t2...# tratmento da interrupo .text 0x80000080mfc0 $k0, $13mfc0 $k1, $14andi $k0, $k0, 0x003c ...jr $k1
1. execuo normal
Perifrico
2. interrupo
CPU
3. atendimento dainterrupo
4. retomar a execuo normal
INTR
ACK(interrupo atendida)
CPU
perifrico
ArqComp: Perifricos de computadores 28/37 2007-05-19
Notas:
28
Transferncias memria dispositivos E/S: DMA
+ A transferncia de dados entre um dispositivo de E/S ememria ocorre tipicamente em duas etapas:1. transferncia do dispositivo de E/S para o CPU;
2. transferncia do CPU para memria.
+ Em transferncias por DMA (Direct Memory Access), os dadosso transferidos directamente do dispositivi para a memria.
+ DMA realizado por um controlador dedicado, que podetrabalhar de maneira independente do processador central.
1. CPU prepara a transferncia DMA: identificao dodispositivo, operao a efectuar, endereo de memriainicial, no de bytes a transferir.
2. Controlador de DMA efectua a transferncia, enquanto CPUprossegue com as respectivas actividades.
3. Aps terminar a transferncia, o controlador de DMA enviauma interrupo ao CPU.
ArqComp: Perifricos de computadores 29/37 2007-05-19
Notas:
29
Sistema com DMA
CPU
endereos
dados
MemriaRAM
ControladorDMA
pedido de controlo do barramento
autorizao
PerifricoA
PerifricoB
activar perifricoA
activarperifrico B
pedido detransferncia de A
pedido de transferncia de B
IO_read_or_write
MEM_read_or_write
fim de operao (interrupo)
ArqComp: Perifricos de computadores 30/37 2007-05-19
Notas:
30
1 Perifricos: aspectos gerais
2 Discos magnticos
3 Comunicao entre CPU e perifricos
4 Desempenho de subsistemas de E/S
ArqComp: Perifricos de computadores 31/37 2007-05-19
Notas:
31
Impacto de E/S sobre o desempenho
Um programa demora 100s a terminar. Desse tempo, 90s so detempo de CPU. Assuma que o desempenho de CPU melhora 50%por ano durante cinco anos, enquanto o sistema de E/S permaneceigual. Ao fim de cinco anos, quanto mais rpido o programa? Tempo de E/S = 100 - 90 = 10s
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
Melhoria de desempenho do CPU: 90/12 = 7.5
Melhoria de desempenho total: 100/22 = 4.5
ArqComp: Perifricos de computadores 32/37 2007-05-19
Notas:
32
Abordagem ao projecto de um sistema E/S
+ Tarefa tpica: projectar sistema de E/S de forma a respeitarrestries de largura de banda para uma certa carga(conjunto de programas a executar).
+ Alternativa: dado um sistema de E/S parcialmente configurado,equilibrar o sistema de forma a obter a maior largura de bandapossvel.
+ Abordagem geral:1. Determinar o elo mais fraco no sistema de E/S.
2. Configurar este componente para ter o desempenhopretendido (taxa de transmisso).
3. Determinar os requisitos do resto do sistema e configuraros demais elementos para permitirem obter a taxa detransmisso determinada anteriormente.
ArqComp: Perifricos de computadores 33/37 2007-05-19
Notas:
33
Projecto de um sistema de E/S: especificao
(Trata-de de um exemplo muito simplificado. Muitas vezes apenassimulao permite obter resultados suficientemente rigorosos.)Especificao do sistema:1. CPU capaz de executar 3 109 instrues/s. Em mdia, o S. O. dispende
100000 instrues por operao de E/S.2. Barramento de acesso a memria com uma taxa de transferncia de
1000MB/s.3. Controladores de disco SCSI Ultra320 com uma taxa de 320MB/s e capazes
de usar at 7 discos.4. Discos magnticos com taxas de transferncia de 75MB/s e um tempo
mdio conjunto de busca e latncia rotacional de 6ms.
A carga (para o sistema de E/S) consiste em leituras de 64KB(leitura sequencial de sectores de uma mesma pista). Osprogramas do utilizador gastam 200000 instrues por cadaoperao de E/S.Objectivo: Determinar a maior taxa sustentvel de E/S, bem como onmero de discos e de controladores necessrios.(Assumir que nunca existem conflitos nos acessos a disco.)
ArqComp: Perifricos de computadores 34/37 2007-05-19
Notas:
34
Projecto de um sistema de E/S: clculos (I)
Os componentes fixos so o CPU e memria.
Comear por determinar as restries impostas por estescomponentes.
Taxa mxima de E/S do CPU:
Taxa de execuo de instrues
No de instrues por E/S=
3 109
(200+ 100) 103= 10000
E/S
s
Barramento de memria (transferncias de 64 KB):
Largura de banda
Bytes por E/S=
1000 106
64 103= 15625
E/S
s
O CPU o limitador do desempenho. O sistema deve serconfigurado para uma taxa de 10000 operaes de E/S porsegundo.
ArqComp: Perifricos de computadores 35/37 2007-05-19
Notas:
35
Projecto de um sistema de E/S: clculos (II)
Determinar os restantes requisitos do sistema. Tempo gasto por cada disco numa operao de E/S:
Tempo por E/S= 6+64KB
75MB/s= 6.9ms
Cada disco pode realizar:
No operaes de E/S=1000
6.9 146
E/S
s Para saturar o CPU so necessrias 10000 operaes E/S por segundo.
Portanto, o nmero de discos :
No de discos=10000
146 69discos
A taxa de transmisso de um disco :Tamanho da transferncia
Tempo de transferncia=
64KB
6.9ms 9.56MB/s
7 discos necessitam de 7 9.56= 66.9 MB/s, o que menor que 320. Logo,o controlador no saturado pelos 7 discos.
O sistema necessitar de b69/7c= 10 controladores.
ArqComp: Perifricos de computadores 36/37 2007-05-19
Notas:
36
Elementos de consulta
+ [Patterson & Hennessy]: Seces 8.1, 8.2 (excepto parte sobre RAID [pg. 575579da ed. inglesa]), 8.48.6
+ [Delgado & Ribeiro]: Seces 6.36.4 (parcialmente 6.2)
+ [Arroz, Monteiro & Oliveira]: Cap. 14
ArqComp: Perifricos de computadores 37/37 2007-05-19
Notas:
37