Professional Documents
Culture Documents
Aula 23 Barramentos
Barramentos
Introduo Classificao dos barramentos Barramentos sncronos Barramentos assncronos
INTRODUO
Introduo
Um barramento realiza a interconexo entre os vrios
sub-sistemas de um computador (CPU, memrias, disco rgido, perifricos, etc) O barramento , fisicamente, um conjunto de fios que exercem diversas funes A comunicao entre as diversas unidades realizada atravs do compartilhamento do barramento no tempo Conectores ligam eletricamente os subsistemas ao barramento
Vantagens do barramento: baixo custo e flexibilidade Desvantagens: gargalo na banda de passagem e
restries eltricas
Introduo (2)
Cada barramento tem uma banda de passagem
(Bandwidth) expressa em capacidade de transaes (bytes/seg) Fatores que afetam a Bandwidth de um barramento
Comprimento fsico e nmero de mdulos conectados, que influem
Dispositivos de E/S
Diversos dispositivos
Se o barramento evolusse na mesma proporo 100 / (1.5) 5 = 100 / 7.59 = 13.175s (Tempo do CPU + E/S)
Barramentos do tipo entrada/sada So mais longos Podem ter muitos dispositivos conectados a ele Muitas vezes necessitam atender uma ampla faixa de bandas passante No necessariamente tm uma interface direta com a memria
Podem usar um dos outros para se comunicar com a memria
diferentes em cada projeto de placa, enquanto que os outros dois tipos podem ser reaproveitados Barramentos de diferentes tipos podem ser interconectados atravs de um adaptador (ou ponte = bridge) de barramento
Exemplos de barramentos
Exemplos de configuraes com um ou mais tipos de
barramentos
Exemplos de barramentos
Exemplos de configuraes com um ou mais tipos de
barramentos
DETALHES DE PROJETO
Principais Vias/Barramentos
Barramento de dados Vias utilizadas para a transferncia de dados entre os mdulos do sistema. Barramento de endereo Vias usadas para designar a origem ou o destino dos dados transferidos. Barramento de controle Vias utilizadas para controlar o acesso e o uso dos barramentos de dados e endereos.
BARRAMENTOS SNCRONOS
Barramentos sncronos
Incluem um clock em uma das linhas do barramento Possuem um protocolo de comunicao atrelado ao clock Exemplo: o processador transmite um endereo e um
comando de leitura no primeiro ciclo de clock e a memria responde no quinto ciclo de clock Vantagens
Lgica simples necessria para o controle da transao Barramento rpido e de baixo custo
Desvantagens Todos os dispositivos devem operar na mesma velocidade Risco de clock skew (sinal chega aos componentes em tempos diferentes) Tm comprimento fsico limitado
Barramentos sncronos
O barramento entre processador e memria costumam
ser sncronos
Pois os componentes esto prximos Poucos componentes esto interconectados Todos integrantes esto aptos a operar em altas frequncias
Transaes
Uma transao
BARRAMENTOS ASSNCRONOS
Barramentos assncronos
No seguem clock algum A comunicao se d atravs de um protocolo conhecido
Desvantagens Lgica dedicada mais complexa necessria em cada dispositivo Maior overhead devido ao processo de sincronizao Menor bandwidth
Transaes
0- Colocao do endereo nas linhas de dados e ativao do sinal
memria
2- Deteco do sinal de reconhecimento e liberao das linhas de
Dispositivo Memria
Transaes (2)
3- Reconhecimento da liberao das linhas e desativao do sinal
Dispositivo Memria
Transaes (3)
5- O dispositivo E/S reconhece o sinal de dados prontos, l os
Dispositivo Memria
FSM
determinado instante de modo a no ocorrerem conflitos? Este controle pode ser realizado com a introduo de um ou mais mestres do barramento
Mestre: dispositivo com a funo de iniciar e monitorar
leitura e escrita
Mecanismos de Arbitragem
Dispositivo que deseja utilizar o barramento deve
sinalizar uma requisio para uso do barramento Dispositivo s poder utilizar o barramento quando receber uma garantia de uso (grant) do barramento Ao final da transao o dispositivo deve sinalizar a liberao para o rbitro Arbitragem a deciso sobre qual dos dispositivos vai obter o controle do barramento, em caso de mltiplas requisies simultneas de acesso Esquemas de arbitragem devem
Balancear a prioridade de acesso ao barramento Garantir o acesso ao barramento a todos os dispositivos
PADRES DE BARRAMENTO
Padres de barramentos
Barramentos normalmente so padronizados pois: Os sub-sistemas que vo usar o barramento devem obedecer parmetros funcionais, lgicos, eltricos e fsicos comuns, que viabilizam sua interconexo Em alguns casos, por questes de custo, existe um nico barramento para todo o computador Quanto melhor e mais rapidamente ocorrer a
padronizao, maior ser o sucesso tcnico e comercial dos produtos que usarem o barramento
8 Mhz
VESA - Video Electronics Standards Association 32 bits, 33 Mhz Usados quando necessria muita velocidade
Placa grfica, controlador de disco
PCI / AGP
PCI - Peripheral Component Interconnect Popularizado a partir do Pentium II Substituiu VESA e EISA Plug-and-play (PnP) 64-bits AGP Accelerated Graphics Port Apenas para placas grficas Diferentes modos: 1x, 2x, 4x Habilidade de compartilhar a memria principal com a CPU
USB
USB (Universal Serial Bus) Fcil conexo At 127 dispositivos diferentes Teclados, placas de som, dispositivos de video simples, mouses USB 1.1: Transferncia a 12Mbps em modo full speed, 1.5 Mbps em modo slow speed. Novos padres: 2.0 e 3.0
Mais exemplos
Firewire USB 2.0 PCI Express Serial ATA Serial Attached SCSI Internal/ External 4 4 300MB/s
Intended use Devices per channel Data width Peak bandwidth Hot pluggable Max length Standard
Internal 1 2/lane
Internal 1 4
Exemplo VIA C7
Largura do Linhas de dados e endereo Linhas de dados e Barramento separadas endereo multiplexadas Largura dos Maior mais rpido Menor mais barato dados (64/128 bits) Tamanho da Mltiplas palavras tm menor Uma s palavra mais transferncia overhead simples Mestres do Mltiplos (requer rbitro) Um nico mestre barramento (sem rbitro) Transao Sim, requisies separadas e No, transao nica dividida pacotes de resposta barata e tem menor latncia = maior bandwidth Relgio Sncrono Assncrono
Exemplo 1
Barramento sncrono Largura do barramento = 4 bytes Transferncias no barramento duram 5 ns (200 MHz) Envio do endereo para a memria Envio do dado de/para a memria Leitura da memria: 20 ns Qual o tempo total para a leitura de uma palavra?
Exemplo 1 - Soluo
Barramento sncrono Largura do barramento = 4 bytes Transferncias no barramento duram 5 ns (200 MHz) Envio do endereo para a memria Envio do dado de/para a memria Leitura da memria: 20 ns Qual o tempo total para a leitura de uma palavra? 5 ns + 20 ns + 5 ns = 30 ns Qual a banda passante mxima (MB/s)? 4 bytes / 30 ns = 4 MB / 0.03 s = 133 MB/s
Exemplo 2
Barramento assncrono Largura do barramento = 4 bytes Cada passo: 4 ns Passo da memria: 20 ns Qual o tempo total para a leitura de uma palavra? Qual a banda passante mxima (MB/s)?
Dispositivo Memria
20 ns
Exemplo 2 - Soluo
Barramento assncrono Largura do barramento = 4 bytes Cada passo: 4 ns Passo da memria: 20 ns Qual o tempo total para a leitura de uma palavra? Passo 1: 4 ns Passos 2,3,4: mximo(3 x 4 ns ; 20 ns) = 20 ns Passos 5,6,7: 3 x 4 ns = 12 ns 4 ns + 20 ns + 12 ns = 36 ns Qual a banda passante mxima (MB/s)? 4 bytes / 36 ns = 4 MB / 0.036 s = 111 MB/s
Exemplo 3
Memria e barramento com acesso a blocos de 4 ou 16 palavras de 32 bits Barramento de 64 bits, sncrono, com clock de 500 MHz Cada transferncia de 64 bits gasta um ciclo de clock Gasta-se 1 ciclo de clock para envio de um endereo memria So necessrios 2 ciclos de clock entre duas transferncias sucessivas no barramento Suponha que o barramento est livre antes do primeiro acesso O tempo de acesso da memria para as primeiras 4 palavras de 20 ns Cada grupo adicional de 4 palavras leva 8 ns para ser lido A transferncia do dado lido mais recentemente e a leitura das prximas
a) Qual a banda passante e a latncia para a leitura de 256 palavras? Considere a transao formada de blocos de 4 palavras. Considere a transao formada de blocos de 16 palavras. b) Qual o nmero de transaes por segundo para cada caso? Lembre-se de que uma transao no barramento consiste na transmisso
Exemplo 3
Caso 1: Transferncia de blocos de 4 palavras Caso 2: Transferncia de blocos de 16 palavras
1 transfere endereo
transfere endereo
Exemplo 3 Soluo
Caso 1: Transferncia de blocos de 4 palavras 1 transfere endereo 10 2
15 ciclos / transao 256 palavras / 4 = 64 transaes 64 transaes x 15 ciclos = 960 ciclos 960 ciclos x 2 ns = 1920 ns 64 trans. / 1920 ns = 33.3 Mtrans/s (256 x 4) bytes / 1920 ns = 533.3 MB/seg
Exemplo 3 Soluo
Caso 1: Transferncia de blocos de 4 palavras 1 transfere endereo 10 2
15 ciclos / transao 256 palavras / 4 = 64 transaes 64 transaes x 15 ciclos = 960 ciclos 960 ciclos x 2 ns = 1920 ns 64 trans. / 1920 ns = 33.3 Mtrans/s (256 x 4) bytes / 1920 ns = 533.3 MB/seg
1 + 10 + 4 x (2 + 2) = 27 ciclos / transao 256 palavras / 16 = 16 transaes 16 transaes x 27 ciclos = 432 ciclos 432 ciclos x 2 ns = 864 ns
Exemplo 3 Soluo a
No caso da transferncia de blocos de 4 palavras, cada transao no
barramento gasta:
1 ciclo de clock para enviar o endereo para a memria (20 ns) / (2 ns / ciclo) = 10 ciclos de clock para ler a memria principal 2 ciclos do clock para enviar o dado da memria principal (2 x 64 bits) 2 ciclos do clock gastos entre esta transferncia e a prxima
transaes. Transferir 256 palavras gasta 15 ciclos x 64 transaes = 960 ciclos. A latncia de 960 ciclos x 2 ns / ciclo = 1920 ns. O nmero de transaes por segundo no barramento de
64 transaes / 1920 ns = 33.3 M transaes/segundo
Exemplo 3 Soluo b
No caso da transferncia de blocos de 16 palavras, o primeiro grupo de
1 ciclo de clock para o envio de um endereo memria 20 ns ou 10 ciclos de clock para ler as primeiras 4 palavras da memria 2 ciclos de clock para o envio dos dados do bloco, ao esta que ocorre em
paralelo com a leitura das 4 palavras do prximo grupo (que feita em 8 ns). 2 ciclos do clock de inatividade entre duas transferncias, durante os quais a leitura do prximo grupo de 4 palavras da memria se completa.
Total de ciclos para cada transao de 16 palavras 1 + 10 + 4 x (2 + 2) = 27 ciclos. So necessrias 256 palavras / 16 palavras/transao = 16 transaes. Transferir 256 palavras gasta 27 ciclos x 16 transaes = 432 ciclos. Logo, a latncia de 432 ciclos x 2 ns/ciclo = 864 ns, (45% da latncia no caso dos blocos de 4 palavras)
Exemplo 3 Soluo b
Transaes por segundo com blocos de 16 palavras, de 16 transaes / 864 ns = 18.6 M transaes/segundo Que menor que o encontrado no caso dos blocos de 4 palavras, pois cada uma das transaes mais demorada no caso dos blocos de 16. A banda passante do barramento com blocos de 16
palavras
(256 x 4) bytes / 864 ns = 1190.7 MB/segundo Que vem a ser 2.23 vezes mais alta do que no caso dos blocos de
4 palavras.
muito clara.