of 36 /36
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 a . 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/37 2007-05-19

Arquitectura de Computadores - paginas.fe.up.ptjcf/ensino/disciplinas/mieic/arq/2006-07/... · Periféricos de computadores João Canas Ferreira Arquitectura de Computadores FEUP/LEIC

Embed Size (px)

Text of Arquitectura de Computadores - paginas.fe.up.ptjcf/ensino/disciplinas/mieic/arq/2006-07/... ·...

  • 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