Escolar Documentos
Profissional Documentos
Cultura Documentos
Ricardo Pannain
Ch8-1
Sistemas de I/O
Caractersticas de projeto de Sistemas de I/O expansibilidade, robustez frente a falhas Desempenho depende: da caracterstica do dispositivo, da conexo do dispositivo e o resto do sistema, hierarquia de memria e do sistemas operacional.
Processor Interrupts
Cache
Main memory
I/O controller
I/O controller
I/O controller
Disk
Disk
Graphics output
Network
Ricardo Pannain
Ch8-2
A melhoria de 27/1.5 = 18desempenho da CPU em 5 anos : 90/12 = 7.5 A melhoria do elapsed time em 5 anos : 100/22 = 4.5 Portanto o tempo de I/O cresceu de 10% a 45% do elapsed time.
Ricardo Pannain
1998 Morgan Kaufmann Publishers
Ch8-3
I/O bandwidth pode ser medido de duas maneiras: Quantos dados podem ser movimentados atravs do sistema em um certo tempo (para sistemas que trabalham com blocos grandes de dados); Quantas operaes de I/O podem ser feitas por unidade de tempo (para sistemas que trabalham com grande nmero de pequenos acessos a dados). A melhor medida depender do ambiente. Alguns sistemas necessitam de ambos, um alto throughput e pequenos tempos de respostas (ATMs, sistemas de reservas areas, file servers, etc.
Ricardo Pannain
Ch8-4
Desempenho de sistemas de I/O dependem da taxa na qual o sistema transfere os dados. A taxa de transferncia (MBs = 106 bytes/s) depende da freqncia de clock (Mhz = 106 ciclos por segundo).
OBS: Medidas de I/O de supercomputadores Supecomputadores I/O consiste de uma leitura grande de dados seguido de escritas conforme os dados so processados a medida throughput de dados o nmero de bytes por segundo que podem ser transferidos entre a memria principal do supercomputador e os discos, durante uma transferncia grande.
Ricardo Pannain
Ch8-5
Trs caractersticas que identificam a variedade de dispositivos de I/O: Comportamento: input (uma s leitura), output (write only) ou storage (releitura e rescrita) Partner: o outro ponto da comunicao: homem ou mquina. Data rate: que taxa o dado pode ser transferido de um ponto ao outro.
Ricardo Pannain
Ch8-6
Ricardo Pannain
Dispositivos - Mouse
Mouse
+20 in Y 20 in X
+20 in Y
+20 in Y +20 in X
20 in X
+20 in X
20 in Y 20 in X
20 in Y
20 in Y +20 in X
Ricardo Pannain
Ch8-8
Tracks
Platter Sectors
Track
Ricardo Pannain
Ch8-9
Disco magntico
Para acessar dados no disco, o sistema operacional deve: posicionar a cabea sobre a trilha seek tempo para posicionar a cabea seek time (8ms a 20ms) seek time real 25% a 35% do tempo dito pelo fabricante localidade das referncias do disco. posicionamento do setor rotacional latency ou rotacional delay rotao / 3600 RPM = 8.3 ms (max) ou 0.5 / 7200 = 4.2 ms ( min). Tempo de leitura em disco Exemplo Qual o tempo mdio de leitura ou escrita de um setor (512 bytes) para um disco com rotao de 5400 RPM ? O seek time mdio de 12 ms, a taxa de transferncia de 5 Mb/Seg e o overhead do controlador 2 ms. Assumir que no tem waiting time. Soluo: Tempo mdio de acesso = seek time mdio + rotational delay mdio + tempo de transferncia + overhead de controle 12 ms + 5.6 ms + 0.5 KB / 5 MB por seg + 2ms = 19.7 ms 25% do anunciado 12 ms * 0,25 + 5.6 ms + 0.1 ms + 2ms = 10.7 ms Ch8-10 0.5
Ricardo Pannain
Interface externa Taxa de transf. externa seek mnimo (trilha para trilha) seek mdio + rotacional delay (ms) Power box (watts) MB/watt Volume (pol ao cubo) MB / pol ao cubo
Ricardo Pannain
Ch8-11
Redes
Redes Caractersticas: Distncia: 0,001 a 100.000 Km; Velocidade: 0,001 MB/seg a 100 MB/seg; Topologia: Bus, ring, star, tree Linhas Compartilhadas: nenhuma (ponto-a-ponto) e compartilhada (multidrop).
Exemplos de Redes Padro RS232 velocidade de 0,3 a 19,2 Kbit/seg, conexo ponto-aponto, distncia de 10 a 100 metros, topologia estrela se diversos terminais esto ligados a um computador central. LAN Local Area Network (Ethernet -> mais popular) 10 Mbit/seg, barramento de um fio, pacotes enviados em blocos de 64 a 1518 bytes. Fast Ethernet 10 vezes maior ( 100 Mbit/seg) . Gigabit Ethernet proposta em 1998. ARPANET Advanced Research Projects Agengy Network (Precursora da Internet) distncias de 10 a 10.000 Km, protocolo TCP/IP (Trasmission Control Protocol/Internet Protocol). ATM Asynchronous Transfer Method 155 Mbits/seg a 2.5 Gbits/seg.
Ricardo Pannain
Ch8-12
Barramentos
Barramentos: Conexo de Dispositivos de I/O ao Processador e Memria Transao em um barramento: Operao de sada:
Control lines Memory Data lines Processor
a.
Disks
b.
Disks
c.
Disks
Ricardo Pannain
Ch8-13
Barramentos
Operao de entrada:
a.
D isks
Ricardo Pannain
b.
D isks
1998 Morgan Kaufmann Publishers
Ch8-14
Barramentos
Tipos de barramentos Barramento processador-memria curtos, geralmente de grande velocidade com objetivo de maximizar o bandwidth memriaprocessador; Barramento de I/O longos, podem ter muitos tipos de dispositivos ligados a ele. No so ligados diretamente memria e sim um barramento backplane ligado memria; Barramento backplane recebe este nome porque geralmente construdo em uma estrutura de interconexo no chassi (backpane). Processador, memria e placas de I/O so plugadas no backplane usando este barramento para comunicao. Baramentos backplane e I/O padres. Barramento processador-memria proprietrio.
Ricardo Pannain
Ch8-15
Barramentos
Backplane bus
Na figura a seguir: (a) nico barramento usado para comunicao memriaprocessador e dispositivos de I/O-memria - usado nos PCs. (b) Nos PCs barramento memria-processador PCI e barramento de I/O SCSI. (c) barramento de I/O SCSI
a.
Processor
Memory
I/O devices
Processor-memory bus Processor Bus adapter Bus adapter Bus adapter Memory
I/O bus b.
I/O bus
I/O bus
Processor-memory bus Processor Memory Bus adapter Bus adapter Backplane bus Bus adapter I/O bus I/O bus
c.
Ricardo Pannain
Ch8-16
CLOCK
Ricardo Pannain
Ch8-17
Ricardo Pannain
Ch8-18
1 Memria reconhece o pedido de leitura, l o endereo. 2 Processador reconhece o Ack gerado pela memria, abaixa o ReadReq e d um release no barramento. 3 Memria reconhece que o processador abaixou o ReadReq e abaixa o Ack. 4 Quando o dado est pronto, a memria o pe no barramento e envia um sinal de DataRdy, para avisaro processador que o dado est no barramento. 5 Processador reconhece o DataRdy, l o dado e gera um Ack. 6 Memria reconhece o Ack, abaixa o DataRdy e d m release no barramento de dados. 7 Processador reconhece que o DataRdy est baixo e abaixa o Ack.
Ricardo Pannain
Ch8-19
DataRdy
5 Read memory data from data lines; assert Ack ________ DataRdy
Ricardo Pannain
Ch8-20
Ricardo Pannain
Ch8-21
Barramentos
Aumento do bandwidth do barramento Largura de barramento. Utilizao de barramento de endereos e dados nomultiplexados. Transferncia em blocos
Ricardo Pannain
Ch8-22
Barramentos
Anlise de desempenho de dois esquemas de barramentos Exemplo Suponha que temos um sistema com as seguintes caractersticas: Uma memria e um barramento que suporta acesso em blocos de palavras de 4, 16 e 32 bits. Um barramento sncrono com freqncia de clock de 200 Mhz, onde cada transferncia de 64 bits leva 1 ciclo de clock. O envio do endereo leva tambm 1 ciclo de clock. Entre cada operao de barramento necessrio 2 ciclos de clock. O tempo de acesso para as quatro primeiras palavras de 200 ns; cada conjunto adicional de 4 palavras pode ser lido em 20 ns. Assuma que a transferncia do ltimo dado e a leitura das prximas 4 palavras possam ser sobrepostas. Encontre o bandwidth e a latncia para a leitura de 256 palavras para transferncia que usem blocos de 4 palavras e para a que use blocos de 16 palavras. Calcule tambm o nmero efetivo de transaes por segundo para cada caso. ( uma transao de barramento consiste de uma transmisso de um endereo seguido pelo dado).
Ricardo Pannain
Ch8-23
Barramentos
Soluo para bloco de 4 palavras, cada bloco leva: 1 ciclo de clock para enviar o endereo memria. 200ns/5ns por ciclo = 40 ciclos de clock para ler da memria. 2 ciclos de clock para enviar o dado da memria. Dois ciclos entre esta transferncia e a prxima. Total de 45 ciclos, e 256/4 transaes. Cada transferncia leva 45 X 64 = 2880 ciclos de clock latncia de 2880 X 5 = 14.400 ns. Nmero de transao / seg = 64 transaes X 1/14.400 = 4,44 M transaes/seg Bandwidth = (256 X 4) X 1/14,400 = 71,11 MB /seg
Ricardo Pannain
Ch8-24
Barramentos
Soluo para bloco de 16 palavras, o primeiro bloco leva: 1 ciclo de clock para enviar o endereo memria. 200ns/5ns por ciclo = 40 ciclos de clock para ler as primeiras 4 palavras da memria. 2 ciclos de clock para enviar o dado da memria. Durante este tempo j se inicia a leitura do prximo bloco. Dois ciclos entre esta transferncia e a prxima. Aqui a leitura do prximo bloco ser feito. Cada um dos trs blocos de 4 palavras restante, necessita repetir apenas os dois ltimos passos. Total de ciclos para cada bloco de 16 palavras = 1 + 40 + 4 X ( 2+2) = 57 ciclos; 256/16 = 16 transaes total de ciclos = 57 X 16 = 912 ciclos. A latncia = 912 X 5 = 4560 ns. Nmero de transaes por segundo = 16 X 1/4560 = 3,51 M transaes/seg. Bandwidth = (256 X 4) X 1/4560 = 224.56 MB/seg
Ricardo Pannain
Ch8-25
Barramentos
Acesso ao barramento Single bus master processador
a.
Disks
b.
Disks
c.
Disks
Ricardo Pannain
Ch8-26
Barramentos
Multiple bus master arbitrao de barramento Sinais : bus request e bus grant Daisy Chain
Highest priority Device 1 Device 2 Grant Release Lowest priority Device n
Request
Vantagem simplicidade Desantagem no assegura que o dispositivo de menor prioridade seja atendido (fairness)
Ricardo Pannain
Ch8-27
Barramentos
Centralizado, arbitrao paralela Linhas de request mltiplas e independentes para cada dispositivo. Necessita de um arbitrador central, que pode vir a ser o gargalo do sistema. Ex. PCI Arbitrao distribuda por auto seleo Linhas de request mltiplas. Cada dispositivo tem um cdigo. Assim que o master recebe um pedido, ele comea a gerar cdigos em ordem de prioridade. O dispositivo que pediu o barramento l os cdigos at que o seu seja gerado. Assim que for gerado, ele assume o barramento. Ex. NuBus Arbitrao distribuda por deteco de colises Mltiplos request de barramentos geram colises. Esquema para selecionar entre colises usado. Ex. Ethernet.
Ricardo Pannain
Ch8-28
Barramentos
Resumo
Opo
Largura de barramento Largura de dados Tamanho da transferncia Bus masters
Alto desempenho
Baixo custo
Linhas de endereo Linhas de endereo dados e dados separados multiplexados Grande nmero de bits Pequeno nmero de bits rpido barato Mltiplas palavras Palavra nica menos overhead simples Multiples masters necessita arbitrao Sncrono Single master no necessita arbitrao Assncrono
cloking
Ricardo Pannain
Ch8-29
Barramentos
Padres de barramentos Caractersticas PCI SCSI Tipo de barramento Backplane I/O Largura de barramento 32-64 8-32 Bus Endereo/dado Multiplexado Multiplexado multiplexado ? Nmero de bus masters Mltiplos Mltiplos Arbitrao Centralizado, Self-selection arbitraoparalela Clocking Sncrono 33-66Mhz Assncrono ou sncrono (5-10 Mhz) Bandwidth 133-512 MB/Seg 5-40 MB/seg mximo terico Bandwidth tpico 80 MB/Seg 2.5-40 MB/seg (sinc) 1.5 MB/seg (assinc)
Ricardo Pannain
Ch8-30
Barramentos
Padres de barramentos Caractersticas
PCI 1024 ( com mltplos segmentos 32 dispositivos por segmento) 0.5 metros
25 metros
PCI
ANSI X3.131
Ricardo Pannain
Ch8-31
Entrada e sada
Dispositivos de I/O, memria, processador e sistema operacional Protocolo de barramento define como uma palavra ou um bloco enviado atravs de um conjunto de fios (barramento). Sistema Operacional age como interface entre o programa que requisitou I/O e o hardware. Operao de I/O Para fazer uma operao de I/O, o processador deve enderear o dispositivo e enviar-lhe uma ou mais palavras de comando. Endereamento Memory-Mappped I/O e instrues especiais de I/O
Ricardo Pannain
Ch8-32
Entrada e sada
Dispositivos tm que se comunicar com o processador Polling O processador checka o status atravs da leitura de um registrador onde o dispositivo pe o informaes sobre seu estado desvantagem ? Exemplo Overhead usando polling Determinar o impacto do overhead do polling para trs dispositivos diferentes. Assumir que o nmero de ciclos de clock para operao de polling ( transferncia para a rotina de polling, acesso ao dispositivo e restaurao do programa) 400 e que o processador tem uma freqncia de 500 MHz. Determine a frao do tempo de CPU consumido, para os seguintes casos, assumindo que os dispositivos esto sempre ocupados. O mouse deve ser checado 30 vezes por segundo para assegurar a no perda de qualquer movimento do usurio. Um floppy disk transfere dados o processador em unidades de 16 bits e tem uma taxa de transferncia de 50 KB/seg. Nenhuma transferncia pode ser perdida. O hard disk transfere dados em blocos de 4 palavras e pode transferir a 4 MB/seg. Nenhuma transferncia pode ser perdida. Ch8-33
Ricardo Pannain
Entrada e sada
Soluo Mouse Ciclos de clock para polling = 30 X 400 = 12.000 ciclos por segundo Frao dos ciclos de clock do processador consumido = 12 X 103 / 500 X 106 = 0,002% Polling pode ser usado para o mouse sem muito impacto ao processador. Floppy disk Taxa de polling = (50 KB/seg) / (2B/pollng access) = 25K polling access/seg Ciclos por segundo para polling = 25K X 400 ~~10 X 106 ciclos por segundo Frao dos ciclos de clock do processador consumido = 10 X 106 / 500 X 106 = 2% Overhead significativo, mas tolervel. Hard disk Taxa de polling = (4MB/seg) / (16B/pollng access) = 250K polling access/seg Ciclos por segundo para polling = 250K X 400 ~~100 X 106 ciclos por segundo Frao dos ciclos de clock do processador consumido = 100 X 106 / 500 X 106 = 20% Polling inaceitvel para hard disk.
Ricardo Pannain
Ch8-34
Entrada e sada
I/O por interrupo dispositivo interrompe a CPU para dizer que est pronto para a operao de I/O vantagens e desvantagens ??
Exemplo Overhead usando interrupo Supor o mesmo hard disk e o mesmo processador usado no exemplo anterior, s que usando o esquema de interrupo. O overhead para cada transferncia, incluindo a interrupo de 500 ciclos de clock. Encontre a frao do processador consumido se o hard disk est transferindo dados apenas 5% do tempo. Soluo Ciclos de clock por segundo = 250K X 500 = 125 X 106 ciclos por segundo Frao dos ciclos de clock do processador consumido durante a transferncia = 125 X 106 / 500 X 106 = 25% Assumindo que o disco s transfere dados 5% do tempo Frao dos ciclos de clock do processador consumido na mdia = 25% X 5% = 1.25%
Ricardo Pannain
Ch8-35
Entrada e sada
Direct Access Memory DMA disco transfere milhares de dados um controlador especializado para controlar a transferncia DMA controller. Passos da transferncia DMA: 1. O processador inicializa o DMA enviando o endereo do dispositivo, o endereo de memria e o nmero de bytes a ser transmitido. 2. O controlador DMA pede o barramento e inicia a operao. 3. A operao termina quando no h mais bytes a serem transferidos, atravs de uma interrupo.
Ricardo Pannain
Ch8-36
Entrada e sada
Controlador DMA
DATA BUS
IOADDR
DC
DATAIO
Ricardo Pannain
Ch8-37
Entrada e sada
Tipos de DMA Por blocos Cycle stealing Transparente
Exemplo Overhead usando DMA Para o mesmo processador e mesmo hard disk, assumir que o setup inicial da transferncia DMA leva 1000 ciclos de clock para o processador, e assumir que o tratamento da interrupo de fim de transferncia DMA necessita de 50 ciclos de clock para o processador. O hard disk tem taxa de transferncia de 4 MB/seg e usa DMA. Se a mdia de transferncia do disco de 8KB, que frao de um processador de 500 MHz consumido se o disco transfere em 100% do tempo. Ignore o impacto o concorrncia de uso do barramento pelo processador e pelo DMA controller. Soluo Cada transferncia DMA leva 8KB / (4MB/seg) = 2 X 103 seg Se o disco est constantemente transferindo (1000 + 500) ciclos/transferncia / 2 X 103 seg/transferncia = 750 X 103 ciclos de clock/seg Processador de 500 MHz frao consumida = 750 X 103 / 500 X 106 = 1.5 X 103 = 0,2%
Ricardo Pannain
Ch8-38
Entrada e sada
Um sistema de I/O tpico Apple Machintosh 7200
Main memory
I/O controller
I/O controller
I/O controller
PCI
CDROM
I/O controller
I/O controller
Disk
SCSI bus
Graphics output
Ethernet
Tape
Ricardo Pannain
Ch8-39
Ricardo Pannain
Ch8-40
Ricardo Pannain
Ch8-41
Ricardo Pannain
Ch8-42