82
Arquiteturas Não Convencionais de Computadores

Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Arquiteturas Não Convencionais

de Computadores

Page 2: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Interligando Processador e Periféricos

Page 3: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Roteiro da Aula

• Sistema de Entrada/Saída– Conceitos básicos

• Discos

• Barramento– Características

– Sincronização

– Arbitragem

• Implementando Entrada/Saída– Suporte do S.O.

– Suporte do processador

– Tipos de Entrada/Saída

• Projetando um sistema de Entrada/Saída

• Resumo

Page 4: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Sistema de E/S

• Dependentes da tecnologia

• Considerações de projeto:

– a possibilidade de expandir o sistema

– o comportamento no caso de falhas

– o desempenho

Page 5: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Sistema de E/S

Main

memory

I/O

controller

I/O

controller

I/O

controller

Disk Graphics

output

Network

Memory– I/O bus

Processor

Cache

Interrupts

Disk

Page 6: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Sistema de E/S

• Desempenho

– tempo de acesso (latência)

– taxa de transferência (throughput)

– Dependência:

• características do dispositivo

• conexão com o sistema

• hierarquia de memória

• sistema operacional (software de I/O)

Page 7: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Desempenho com E/S

• Aplicação:

– tempoexecução=100 seg

– CPU = 90 seg, E/S = 10 seg

– tempoexecução= tempoCPU+ tempoE/S

• desempenho da CPU melhora de

50% a cada ano e o do sistema de

E/S não

– tn=to/(1+c)n

• Quanto mais rápida será a aplicação

daqui a 5 anos?

Page 8: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Desempenho com E/S

N anos TempoCPU TempoE/S Tempototal % tempoI/O

0 90 10 100 10

1 90/1.5=60 10 70 14

2 40 10 50 20

3 27 10 37 27

4 18 10 28 36

5 12 10 22 45

Melhora do DesempenhoCPU=7.5

Melhora do TempoTotal=4.5

Page 9: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Desempenho de E/S

• Métricas

– depende da aplicação

• Taxa de transferência

– Quantidade de dado transferido

– Quantidade de operações de E/S

• Tempo de resposta

Page 10: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Dispositivos de E/S

• Comportamento

– Entrada (read once)

– Saída (write only)

– Armazenamento( Podem ser re-lidos e re-

escritos)

• Taxa de Transferência de Dados

Page 11: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Dispositivos de E/S

Page 12: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Flash Storage

• Armazenamento de semicondutores não

voláteis

– 100 × - 1000 × mais rápido que o disco

– Menor, menor potência, mais robusto

– Mas mais $ / GB (entre disco e DRAM)

Page 13: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Flash Types

• Flash NOR: bit como a porta NOR

– Acesso aleatório de leitura / gravação

– Usado para armazenamento deinstrução em sistemas

embarcados

• Flash NAND: célula bit como porta NAND

– Maior densidade (bits / área), mas acesso de bloco por

vez

– Mais barato por GB

– Usado para chaves USB, armazenamento de mídia, ...

Page 14: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Disk Storage

• Armazenamento magnético rotativo não

volátil

Page 15: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Disk Drivers:Terminologia

• Vários pratos, com a informação armazenada magneticamente

em ambas superfícies (usual)

• O Atuador move a cabeça (fim do braço,1/superfície) sobre a trilha (“seek”), seleciona a superfície, espera pelo setor passar sob a cabeça, então lê ou

escreve

– “Cilindro”: todas as trilhas sob as cabeças

• Bits armazenados em trilhas, que por sua vez são divididas em setores(e.g., 512 Bytes)

Platter

Outer

Track

Inner

TrackSector

Actuator

HeadArm

Page 16: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Foto: Braço, Cabeça, Atuador e Pratos

Atuador

BraçoCabeça

Pratos (12)

Eixo

Page 17: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Platter

Track

Platters

Sectors

Tracks

Discos magnéticos

• # discos: 1-15 (2 lados)

• rotação: 3600 - 7200 rpm

• diâmetro: 1-8 inch

• # trilhas: 1000-5000

• # setores: 64-200

• setor: 512 bytes

Page 18: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Discos magnéticos

• Acesso:

– posicionamento da cabeça leitura/escrita

• seek time (mínimo, máximo, médio)

– seleção do setor

• rotational delay (médio)

• ARD = 0.5/3600 RPM = 0.5/3600/60=8.3ms

– tempo de transferência

• depende do tamanho do setor, rotação e

capacidade de armazenamento da trilha

• 1997: 2 - 15 MB/seg

• cache de disco: 40 MB/seg

Page 19: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Discos magnéticos

• Calculando tempo de leitura:

– Qual o tempo para ler um setor de um disco

rotacionando a 10000 rpm?

• Seek time = 6ms (médio)

• Taxa = 50 MB/seg

• Overhead controle = 0,2ms

Tempo = seek + rotational + transferencia + overhead

Tempo =6ms + 0.5/(10000/60) + 0.5KB/(50MB/seg) + 0,2ms

Tempo =6ms +3 + 0.1+ 0,2ms=9,2ms

Page 20: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Discos / História

1973:

1. 7 Mbit/pol2

140 MBytes

1979:

7. 7 Mbit/pol2

2,300 MBytes

source: New York Times, 2/23/98, page C3,

“Makers of disk drives crowd even more data into even smaller spaces”

Page 21: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

1

10

100

1000

10000

1970 1980 1990 2000

Year

Are

al D

en

sit

y

Discos: história

1989:

63 Mbit/pol2

60,000 MBytes

1997:

1450 Mbit/pol2

2300 Mbytes

(2.5” diâmetro)source: N.Y. Times, 2/23/98, page C3

1997:

3090 Mbit/p2.

8100 Mbytes

(3.5” diâmetro)

2000:

10,100

Mb/p2

25,000

MBytes

2000:

11,000

Mb/p2

73,400

MBytes

Page 22: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Discos

Page 23: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Discos

Page 24: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Sistemas de Armazenamento

Confiabilidade e Disponibilidade

Infra-estrutura de Hardware

Page 25: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Confiabilidade e Disponibilidade

Page 26: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Confiança, confiabilidade e Disponibilidade

• Confiança = qualidade de serviço

1. Especificação do serviço

• Serviço entregue como especificado

2. Interrupção do serviço

• Serviço entregue é diferente do especificado

• Transições de 1 para 2: falhas

• Transições de 2 para 1: restauração

Page 27: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Infra-estrutura de Hardware

Service accomplishment

Service delivered

as specified

Service interruption

Deviation from

specified service

FailureRestoration

Confiança, confiabilidade e Disponibilidade

• Fault: falha de

componente

– Pode levar ou não a

uma falha no sistema

Page 28: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Confiança, confiabilidade e Disponibilidade

• Confiabilidade =

– Medida da realização continua do serviço

– Tempo para a falha (MTTF)

• Interrupção do serviço

– Tempo médio para reparo (MTTR)

• Tempo médio entre falhas (MTBF)

– MTBF = MTTF + MTTR

Page 29: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Confiança, confiabilidade e Disponibilidade

• Disponibilidade: medida de realização

de um serviço:

– Disponibilidade= MTTF / (MTTF + MTTR)

Page 30: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Confiança, confiabilidade e Disponibilidade

• Para aumentar a MTTF, deve-se melhorar a qualidade dos componentes ou projetar o sistema para continuar operando no caso de falha.

– Fault avoidance: previne a ocorrência de falha por construção

– Fault tolerance: uso de redundancia ou bypass de componentes com falhas.

– Detecção da Falha vs. correção da Falha

– Falhas permanentes vs. Faltas transientes

Page 31: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAIDs: Disk Arrays

• Arrays de discos pequenos e baratos

– Aumento da taxa de transferência

• Dado espalhado sobre múltiplos discos

• Acessos múltiplos são feitos a vários discos simultâneamente

• Reliability é menor que num disco UNICO

• MAS availability pode ser melhorada pela adição de

discos redundantes(RAID)

– Informação perdida pode ser recuperada através da informação

redundante

– MTTR: tempo de reparo é da ordem de horas

– MTTF: tempo para acontecer uma falha é dezenas de anos.

Redundant Array of

Inexpensive Disks

Page 32: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID: Level 0 (No Redundancy; Striping)

• Discos pequenos múltiplos em vez de um grande disco

– Espalhamento de blocos sobre discos múltiplos– striping –

significa que múltiplos blocos podem ser acessados em paralelo

aumentando o desempenho.

• Um sistema de 4 discos resulta em uma taxa 4X maior que a de

um disco único.

– Mesmo custo que um disco grande

• Nenhuma redundancia, e se um disco falhar?

– Falha em um ou mais discos é mais provável a medida que o

número de discos aumenta.

blk1 blk3blk2 blk4

Page 33: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID: Level 1 (Redundancy via Mirroring)

• Use o dobro de discos de RAID 0 (e.g., 8 pequenos

discos com um segundo conjunto de 4 duplicata de

primeiro conjunto) existe uma cópia do dado.

– # discos redundantes = # de discos de dados – então o custo

duplica

• Escrita deve ser feita em ambos conjunto então o desempenho cai

pela metade.

• E se um disco falha?

– O sistema acessa o disco “espelho” para acessar o dado.

blk1.1 blk1.3blk1.2 blk1.4 blk1.1 blk1.2 blk1.3 blk1.4

redundant (check) data

Page 34: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID: Level 2 (Redundancy via ECC)

blk1,b0 blk1,b2blk1,b1 blk1,b3Checks 4,5,6,7

Checks 2,3,6,7

Checks 1,3,5,7

3 5 6 7 4 2 1

10 0 0 11

ECC disks

0

ECC discos 4 e 2 aponta para o disco 6 ou 7,

MAS disco ECC disco 1 informa que disco 7 está OK, então disco 6 deve ter

falha.

1

Arquiteturas Não Convencionais

de Computadores

• ECC discos contem a paridade de um conjunto de discos

diferentes e com sobreposição

– # discos redundantes = log (# total de discos de dado) quase o

dobro do custo de um disco grande.

• Escrita requer computar a paridade para escrever nos discos ECC

• Leitura requer ler disco ECC e confirmar a paridade.

• Pode tolerar falha limitada, desde que o dado pode ser

reconstruído.

Page 35: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID: Level 3 (Bit-Interleaved Parity)

blk1,b0 blk1,b2blk1,b1 blk1,b3

10 01

(odd)

bit parity disk

Arquiteturas Não Convencionais

de Computadores

• Custo de alta disponibilidade é reduzido a 1/N onde N é

o número de discos em um protection group

– # discos redundantes = 1 × # grupos de proteção

• Escrita requer escrita do dado no disco de dado assim como

computar a paridade (leitura de outros discos)

• Pode tolerar falha limitada desde que o dado pode ser

reconstruído.• Leitura requer a leitura de todos os discos operacionais assim

como o disco de paridade para calcular o dado desaparecido que

estava armazenado no disco com falha.

Page 36: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID: Level 3 (Bit-Interleaved Parity)

• Custo de alta availability é reduzido a 1/N onde N é o

número de discos em um protection group

– # discos redundantes = 1 × # grupos se proteção

• Escrita requer escrita do dado no disco de dado assim como

computar a paridade (leitura de outros discos)

• Pode tolerar falha limitada desde que o dado pode ser

reconstruído.• Leitura requer a leitura de todos os discos operacionais assim

como o disco de paridade para calcular o dado desaparecido que

estava armazenado no disco com falha.

blk1,b0 blk1,b2blk1,b1 blk1,b3

10 0 1

(odd)

bit parity diskdisk fails

1

Page 37: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID: Level 4 (Block-Interleaved Parity)

• Custo para maior disponibilidade permanece 1/N mas a paridade é

armazenada como blocos associados com conjuntos de blocos de

dados

– Desempenho 4X maior (striping)

– # discos redundantes = 1 × # de grupos de proteção

– Suporta “small reads” e “small writes” (leituras e escritas que acessam

apenas um disco no grupo de proteção)

• Olhando os bits modificados quando ecrevendo uma nova informação,

necessita apenas mudar bits correspondentes no disco de paridade.

• O disco de paridade deve ser atualizado a cada escrita, tornando-se um

bottleneck.

• Pode tolerar falha limitada desde que o dado pode ser reconstruído

block

parity disk

blk1 blk2 blk3 blk4

Page 38: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID 3 vs RAID4

Page 39: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Pequenas Escritas• RAID 3 small writes

New D1 data

D1 D2 D3 D4 P

D1 D2 D3 D4 P

3 leituras e 2

escritas envolvendo todos

os discos

• RAID 4 small writesNew D1 data

D1 D2 D3 D4 P

D1 D2 D3 D4 P

2 leituras e 2 escritas envolvendo apenas dois discos

Page 40: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

RAID: Level 5 (Distributed Block-Interleaved

Parity)

• Custo para maior disponibilidade permanece 1/N mas o

bloco de paridade pode ser localizado em qualquer um

dos discos (sem bottleneck para escritas)

– 4X mais desempenho (striping)

– # discos redundantes = 1 × # grupos de proteção

– Suporta “small reads” e “small writes” (leituras e escritas em um

(ou poucos) discos de dados em um grupo de proteção.)

– Permite escrita múltiplas e simultâneas desde que blocos de

paridade não estejam localizados no mesmo disco.

• Pode tolerar falha limitada desde que o dado pode ser

reconstruído

one of these assigned as the block parity disk

Page 41: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Distributing Parity Blocks

• Se distribuirmos os blocos de paridades por todos os

discos, escritas poderão se feitas em paralelo.

1 2 3 4 P0

5 6 7 8 P1

9 10 11 12 P2

13 14 15 16 P3

RAID 4 RAID 5

1 2 3 4 P0

5 6 7 P1 8

9 10 P2 11 12

13 P3 14 15 16

Page 42: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Comparando…

Page 43: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Sistema de E/S

Main

memory

I/O

controller

I/O

controller

I/O

controller

Disk Graphics

output

Network

Memory– I/O bus

Processor

Cache

Interrupts

Disk

Page 44: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramentos

CPU Memória I/O

Barramento de endereçosBarramento de dados

Barramento de controle

Vantagens:

-versatilidade

- baixo custo

Desvantagens:

- limita taxa de transmissão

- # de dispositivos

- tamanho do barramento

Page 45: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Disco lendo memória

M e m o r y P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

M e m o r y P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i sk s

a

.

b .

c .

M e m o r y

envio endereço

Leitura dos dados

Page 46: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Disco escrevendo em memória

M e m o r y P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

P r o c e s s o r

C o n t r o l l i n e s

D a t a l i n e s

D i s k s

a .

b .

M e m o r y

envio endereço

Escrita dos dados

Page 47: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Tipos de barramentos

Processor Memory

Processor-memory bus

c.

Busadapter

Backplanebus

Busadapter

I/Obus

Busadapter

I/Obus

• Processador Memória

• Backplane (CPU, memória, I/O)

• I/O

Page 48: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Temporização

• Barramento síncrono• Este tipo de barramento exige que todo o

tráfego de dados e controle sejasincronizado sob uma mesma base detempo (clock)

• Vantagens:– simplicidade

– desempenho

• Problemas:– dispositivos devem ter a mesma frequência do

clock

– curtas distancias

• Processador-memória

Page 49: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Síncrono

Ciclo de leitura

relógio

endereço

dados

MREQ

RD

dados

endereço de memória

T1 T2 T3

T1 - CPU ativa

sinais de controle

e endereço

T2 - Endereço

estável no barra-

mento

T3 - Memória li-

bera dados no

barramento

-Dados são lidos

pela CPU

-CPU desabilita

controle

MREQ - 0

RD - 0

Memória deco-

difica endereço

Memória coloca

dados no barra -

mento de dados

MREQ - 1

RD - 1

Page 50: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento -Temporização

• Barramento assíncrono• Este barramento não possui um relógio mestre. Os

ciclos de barramentos podem ter qualquer duração

e não precisam ser iguais para todas as situações.

• Podem incluir vários dispositivos

• Necessita de protocolo de handshake

• Pode ser longo

• Barramento de I/O

Page 51: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Protocolo de Barramento Assíncrono

7. I/O device vê DataRdy deastivado e desativa Ack

❑ Leitura da memória por um I/O device

I/O device sinaliza requisição ativando ReadReq e colocando addr nas linhas de dados.

12

3

ReadReq

Data

Ack

DataRdy

addr data

4

5

6

7

1. Memória vê ReadReq, lê addr da linha de dados e ativa Ack

2. I/O device vê Ack e desativa ReadReq e linhas de dados

3. Memory vê ReadReq e desativa Ack

4. Quando dado da memória está pronto disponibiliza e ativa DataRdy

5. I/O device vê DataRdy, lê dado e ativa Ack

6. Memória vê Ack, libera linhas de dados e desativa DataRdy

Page 52: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Melhorando o desempenho

• Aumentar barramento de dados

• Separar linhas de dados e endereços

• Transferência em blocos

Maior custo

Maior tempo de resposta

Page 53: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Acessando o barramento

• Mestre do barramento

– inicia e controla todas as requisições ao

barramento

• Quem pode ser mestre?

– Processador

– Dispositivo de I/O

Page 54: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Mestre único (processador)

Memory Processor

Bus request lines

Bus

Disks

Bus request lines

Bus

Disks

Processor

Bus request lines

Bus

Disks

a.

b.

c.

ProcessorMemory

Memory

Page 55: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Mestre único (processador)

• Vantagem:

– simplicidade

• Desvantagem:

– Processador coordena todas as transações

de barramento

– degradação do desempenho

Page 56: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Múltiplos Mestres

• Processador e dispositivos de E/S podem

se tornar mestres

• Necessidade de protocolo

– request

– granted

– bus-release

• Necessidade de esquema de arbitragem

Page 57: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Arbitragem

• O que acontece quando dois ou mais

dispositivos querem se tornar mestres do

barramento ao mesmo tempo?

• A arbitragem decide qual mestre terá o controle do

barramento num dado instante

– Arbitragem centralizada

– Arbitragem descentralizada

Page 58: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Arbitragem Centralizada

Árbitro PCIDisp.

PCI A

Disp.

PCI B

Disp.

PCI C

Arbitragem no barramento PCI (centralizado)

⎯ Exemplo para três dispositivos

⎯ O árbitro decide qual mestre controla o barramento

⎯ Desvantagem:

⎯dependência do árbitro

Page 59: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Arbitragem Híbrido

(centralizada e distribuída)

• Barramento de um nível usando daisy-chaining

• Características

• 1. Todos os dispositivos são ligados em série, assim a permissão, dada

pelo árbitro, pode ou não se propagar através da cadeia.

• 2. Cada dispositivo deve solicitar acesso ao barramento.

• 3. O dispositivo mais próximo do árbitro tem maior prioridade.

Device n

Lowest priority

Device 2Device 1

Highest priority

Busarbiter

Grant

Grant Grant

Release

Request

Page 60: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Arbitragem Híbrida

(centralizada e distribuída)

Arbitragem com dois níveis de prioridade

• Características

• 1. Cada dispositivo se liga a um dos níveis de requisição.

• 2. Os dispositivos com tempos mais críticos se ligam aos níveis de

maior prioridade.

• 3. Se múltiplos níveis de prioridade são requeridos ao mesmo

tempo, o árbitro solta a

• permissão apenas para os de prioridade mais alta.

Árbitro

D1 D2 D3 D4

permissão 1

permissão 2

requisição nível 1

requisição nível 2

Page 61: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Arbitragem Descentralizada

• Arbitragem distribuída por seleção própria

– múltiplas linhas de requisição

– dispositivos requisitantes determinam quem vai

usar o barramento (prioridade)

– Ex: NuBus (Macintosh)

• Arbitragem distribuída com detecção de

colisão

– requisições independentes

– colisões são detectadas e resolvidas

– Ex: Ethernet

Page 62: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Aspectos de projeto

• Considerações na implementação de do

barramento do sistema:

Opções Alta Performance Baixo custo

Largura do barramento Endereços e dados separados Multiplexação das linhas de

endereço/dados

Largura de dados 16 bits, 32 bits, ... (Quanto

maior mais rápido)

Menor, mais barato

Transações por pacotes Múltiplas palavras menos

overhead

Transferência por palavra

é mais simples

Barramentos masters Múltiplos mestres (requer

arbitragem)

Apenas um mestre (sem

arbitragem)

Relógio (Clocking) Síncrono Assíncrono

Page 63: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Barramento - Padrões

Firewire USB 2.0 PCI Express Serial ATA Serial

Attached

SCSI

Intended use External External Internal Internal External

Devices per

channel

63 127 1 1 4

Data width 4 2 2/lane 4 4

Peak

bandwidth

50MB/s or

100MB/s

0.2MB/s,

1.5MB/s, or

60MB/s

250MB/s/lane

1×, 2×, 4×,

8×, 16×, 32×

300MB/s 300MB/s

Hot

pluggable

Yes Yes Depends Yes Yes

Max length 4.5m 5m 0.5m 1m 8m

Standard IEEE 1394 USB

Implementers

Forum

PCI-SIG SATA-IO INCITS TC

T10

Page 64: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Executando operações de E/S

• Comunicação com os dispositivos de E/S:

– envio de comandos aos dispositivos

– transferência de dados de/para dispositivos

– análise do status dos dispositivos e da

transmissão

• Interface entre usuário e dispositivo

– Sistema Operacional

Page 65: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Suporte do S.O. a E/S

• Proteção

– garante o acesso a dispositivos/dados para os

quais se tenha permissão

• Abstração (dispositivo)

– possui rotinas específicas com detalhes de

cada dispositivo

• Gerenciamento

– trata as interrupções causadas pelos

dispositivos

• Escalonamento

– controla a utilização de dispositivos

compartilhados entre processos

Page 66: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Software de E/S

• Organizado em camadas

Processo

(usuário)

Rotinas indep.

do dispositivo.

Device drivers

Interrupt

handler

Tradução de símbolos

(dispositivos,tam.etc.)

Código dependente

do dispositivo

Page 67: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Implementando E/S

• Instruções especiais

– Registradores especiais

• status dos dispositivos

• dado a ser recebido/transmitido

– Proteção

• instruções privilegiadas (só podem ser executadas

via S.O.)

Page 68: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Implementando E/S

• E/S mapeada em memória

– Range de endereços de memória para

armazenar status e dados

– Instruções de E/S : instruções de acesso à

memória

– Proteção:

• tradução do endereço

Page 69: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Implementando E/S

• Polling

CPU DISPOSITIVO

1- lê status do disp. 2- envia status

3- Inspeciona status,

se não está pronto va para 1

4- escreve no reg. dado 5- aceita dado,

status=ocupado até escrita

terminada

6- se existe mais dados vá

para 1

Page 70: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Polling

• Vantagens:

– E/S controlada pela CPU

– simplicidade de implementação

– Dispositivos que iniciam E/S:

• Mouse

• Impressora

• Problema:

– CPU fica esperando pelo dispositivo

Page 71: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Polling - Overhead

• #ciclospooling=400, clock= 500 MHz

• Qual a fração de tempo da CPU em cada

um dos casos:

– Mouse deve ser verificado 30 vezes/seg

– Floppy transfere palavras de 16 bits a uma

taxa de 50 KB/seg

– O disco rígido transfere blocos de 4 palavras

a uma taxa de 4MB/seg.

?

Page 72: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Polling

• Vantagens:

– E/S controlada pela CPU

– simplicidade de implementação

– Dispositivos que iniciam E/S:

• Mouse

• Impressora

• Problema:

– CPU fica esperando pelo dispositivo

Page 73: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Polling - Overhead

• #ciclospolling=400, clock= 500 MHz

• Qual a fração de tempo da CPU em cada

um dos casos:

– Mouse deve ser verificado 30 vezes/seg

– Floppy transfere palavras de 16 bits a uma

taxa de 50 KB/seg

– O disco rígido transfere blocos de 4 palavras

a uma taxa de 4MB/seg.

?

Page 74: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Polling- Overhead

• Mouse:

– #ciclos = 30 x #ciclospolling= 30 x 400 =

12000 ciclos

– FraçãoCPU = 12000x102/500x106 =0.002%

• Floppy:

– (50 KB/seg)/2 bytes = 25K polling/seg

– #ciclos=25K x 400 = 10x106

– FraçãoCPU = 10x106 x102/500x106 =2%

Page 75: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Polling - Overhead

• Disco rígido:

– (4MB/seg)/16 bytes = 250K pooling/seg

– #ciclos=250K x 400 = 100x106

– FraçãoCPU = 100x106 x102/500x106 =20%

Page 76: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Interrupt-driven I/O

• CPU executa outras instruções enquanto

espera E/S

• Sincronização: interrupção

– disp. E/S está pronto para nova transferência

– operação de E/S terminou

– ocorreu erro

• Vantagem:

– melhor utilização da CPU

Page 77: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Interrupt-driven Overhead

• Exemplo anterior: Disco rígido• transferência em 5% do tempo

– Overheadinterrupção= 500 ciclos

– (4MB/seg)/16 bytes = 250K transf./seg

– #ciclos=250K x 500 = 125x106

– FraçãoCPU = 125x106 x102/500x106 =25%

como o disco só transmite em 5% do tempo:

– FraçãoCPU =25% x 5% = 1.25%

Vantagem: Ausência de overhead quando dispositivo

não está transmitindo

Page 78: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

DMA(transf. autonoma)

• Transferência de blocos de dados

– 80 a 512 bytes

• E/S controlada pelo dispositivo de E/S

– parametros:

• end. memória

• tamanho blocos

• end. Dispositivo

• Interrupção da CPU quando DMA termina

Page 79: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

DMA Overhead

• Exemplo anterior: Disco rígido• Blocos => 8KB

• transmissão em 100% do tempo

– Setup=1000 ciclos

– Overheadinterrupção= 500 ciclos

– TempoDMA= 8KB/(4MB/seg)=2x10-3 seg

– #ciclos/seg= (1000+500)/ 2x10-3=750x103

– FraçãoCPU = 750x103 x102/500x106 =0,2%

Page 80: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

E/S Macintosh 7200

Main

memory

I/O

controller

I/O

controller

Graphics

output

PCI

CDROM

Disk

Tape

I/O

controller

Stereo

I/O

controller

Serial

ports

I/O

controller

Apple

desktop bus

Processor

PCI

interface/

memory

controller

EthernetSCSI

bus

outputinput

Page 81: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Resumindo

• Entrada/Saída

– Desempenho: latência e taxa de transferência

– Dependability

• Discos e RAID

• Barramento

– Síncrono e assíncrono

– Arbitragem

Page 82: Arquiteturas Não Convencionais de Computadorescin.ufpe.br/~if674/arquivos/2018.2/Aulas/entrada-saida-grad.pdf · – Suporta “small reads” e “small writes” (leituras e escritas

Resumindo

• Implementando operações de E/S

– Software de E/S

– Instruções do processador

• Tipo de E/S

– Polling

– Interrupção

– DMA