You are on page 1of 58

ORGANIZAO DE COMPUTADORES

Aula 23 Barramentos

Barramentos
Introduo Classificao dos barramentos Barramentos sncronos Barramentos assncronos

Controle de acesso ao barramento


Padres de barramento Projeto e anlise de desempenho

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

sobre propriedades eltricas Largura em bits

Os barramentos podem ser de trs tipos principais, de

acordo com sua aplicao


Processador-memria
backplane Entrada / Sada

Coleo de dispositivos de E/S


Comunicao entre os dispositivos de E/S, processador e

memria usa protocolos no barramento e interrupes

Dispositivos de E/S
Diversos dispositivos

Comportamento (i.e., entrada, sada, etc.)


Parceria (quem est na outra aponta?) Taxa de transferncia

Impacto de E/S no Desempenho


Um benchmark executa em 100 segundos 90 segundos de tempo de CPU 10 segundos de tempo de E/S

Se a CPU melhora 50% por ano, nos prximos 5 anos,

quanto mais rpido ser a execuo deste mesmo benchmark?

Impacto de E/S no Desempenho


Um benchmark executa em 100 segundos 90 segundos de tempo de CPU 10 segundos de tempo de E/S

Se a CPU melhora 50% por ano, nos prximos 5 anos,

quanto mais rpido ser a execuo deste mesmo benchmark?


Tempo_Atual / (Melhoria_ao_Ano)Nmero_de_Anos = 90s / (1.5) 5

= 90s / 7.59 = 11.851s (Tempo do CPU)

+ 10s (Tempo de E/S) => 21.851s

Impacto de E/S no Desempenho


Um benchmark executa em 100 segundos 90 segundos de tempo de CPU 10 segundos de tempo de E/S

Se a CPU melhora 50% por ano, nos prximos 5 anos,

quanto mais rpido ser a execuo deste mesmo benchmark?


Tempo_Atual / (Melhoria_ao_Ano)Nmero_de_Anos = 90s / (1.5) 5

= 90s / 7.59 = 11.851s (Tempo do CPU)

+ 10s (Tempo de E/S) => 21.851s

Se o barramento evolusse na mesma proporo 100 / (1.5) 5 = 100 / 7.59 = 13.175s (Tempo do CPU + E/S)

CLASSIFICAO DOS BARRAMENTOS

Classificao dos barramentos


Barramentos do tipo processador-memria So curtos e extremamente velozes Buscam maximizar a bandwidth entre memria-processador

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

Classificao dos barramentos (2)


Barramentos do tipo backplane Nome devido ao local de construo (no backplane, estrutura onde as placas so fixadas no chassis da mquina) Este barramento foi projetado de modo que processadores, memrias e dispositivos de entrada/sada possam ser interconectados em um nico barramento Barramentos processador-memria so geralmente

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.

Tipos de Uso de Vias do Barramento


Barramento dedicado: Dedicao funcional: possui uma funo fixa. Ex: vias de endereo e dados separadas. Dedicao fsica: associada a um subconjunto de componentes. Desvantagens: mais linhas e espao fsico maior o custo. Vantagens: controle mais simples e aumento potencial de desempenho. Barramento multiplexado: 9 Linhas compartilhadas e usadas para vrios propsitos. Vantagens: poucas linhas e menos espao menor o custo.

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

consiste basicamente de duas partes:


Envio do endereo

Leitura dos dados

BARRAMENTOS ASSNCRONOS

Barramentos assncronos
No seguem clock algum A comunicao se d atravs de um protocolo conhecido

como aperto de mo (handshaking), que self-timed Vantagens


Adaptvel a uma grande variedade de dispositivos (velocidades) Mais adaptvel a mudanas tecnolgicas Permite maior comprimento fsico

Usado tipicamente em transaes de entrada/sada

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

de leitura requerida pelo dispositivo de entrada/sada


1- Leitura do endereo e ativao do sinal de reconhecimento pela

memria
2- Deteco do sinal de reconhecimento e liberao das linhas de

dados e leitura requerida pelo dispositivo E/S

Dispositivo Memria

Transaes (2)
3- Reconhecimento da liberao das linhas e desativao do sinal

de reconhecimento pela memria


4- Quando pronta, a memria coloca os dados nas linhas de dados

e ativa o sinal de dados prontos

Dispositivo Memria

Transaes (3)
5- O dispositivo E/S reconhece o sinal de dados prontos, l os

dados e ativa o sinal de reconhecimento


6- A memria detecta o sinal de reconhecimento, e ento libera as

linhas de dados e dados prontos


7- O dispositivo E/S detecta a liberao da linha dados prontos e

desativa o sinal de reconhecimento

Dispositivo Memria

FSM

CONTROLE DE ACESSO AO BARRAMENTO

Controle de acesso ao barramento


Quais dispositivos podem acessar o barramento em um

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

todas as requisies feitas ao barramento


Escravos: Dispositivos que atendem a solicitaes de

leitura e escrita

Controle de acesso ao barramento


Esquema mais simples: apenas um mestre monitorando

as requisies (geralmente o processador)


Esquema alternativo: diversos mestres, liberando o

processador da tarefa de monitorar as requisies


Para disciplinar o acesso de vrios mestres ao

barramento: mecanismo de arbitragem

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

Mecanismos de Arbitragem (2)


Daisy chain Dispositivos conectados em cascata e por ordem de prioridade linha com a informao de garantia de uso Dispositivos de prioridade mais alta podem no deixar os de prioridade mais baixa receber este sinal

Mecanismos de Arbitragem (3)


Centralizada, com requisio em paralelo Dispositivos esto ligados por linhas independentes a um rbitro central rbitro central escolhe dispositivo, dentre os que solicitaram o barramento Desvantagem: rbitro central pode ficar sobrecarregado

Mecanismos de Arbitragem (4)


Distribudo, com acesso por auto-seleo Existem diversas linhas de requisio de acesso Cada dispositivo que necessita acessar o barramento coloca nestas linhas um cdigo prprio Dispositivos analisam a informao no barramento e determinam por si prprios quem tem a prioridade mais alta para acess-lo Distribudo, com acesso por deteco de coliso Dispositivos requisitam acesso de maneira independente ao barramento Duas ou mais requisies simultneas constituem uma coliso Aps uma coliso, dispositivos tentam novo acesso aps um intervalo de tempo

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

ISA / EISA / VESA


ISA - Industry Standard Architecture Nasceu junto com o IBM PC (1982) Originalmente de 8 bits, depois, 16 bits.
Existiu o EISA (Extended ISA), de 32 bits.

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

External 63 4 50MB/s or 100MB/s Yes 4.5m IEEE 1394

External 127 2 0.2MB/s, 1.5MB/s, or 60MB/s Yes 5m USB Implementers Forum

Internal 1 2/lane

Internal 1 4

250MB/s/lane 300MB/s 1, 2, 4, 8, 16, 32 Depends 0.5m PCI-SIG Yes 1m SATA-IO

Yes 8m INCITS TC T10

Organizao do Apple Macintosh 7200

Organizao do sistema de entrada/sada do Apple Macintosh 7200

Exemplo Pentium Dual

Exemplo VIA C7

PROJETO E ANLISE DE DESEMPENHO

Projeto e Anlise de Desempenho


Opes Alto desempenho Baixo Custo

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?

Qual a banda passante mxima (MB/s)?

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

quatro palavras podem ocorrer simultaneamente

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

do endereo seguida da transmisso do bloco completo de dados.

Exemplo 3
Caso 1: Transferncia de blocos de 4 palavras Caso 2: Transferncia de blocos de 16 palavras

1 transfere endereo

10 l memria (20 ns)

10 l memria (20 ns)

espera transfere dado

transfere endereo

espera transfere dado 4 2 2

l memria espera (8 ns) transfere dado

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

l memria transfere espera (20 ns) dado

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

l memria transfere espera (20 ns) dado

Caso 2: Transferncia de blocos de 16 palavras 1 transfere endereo 10 2 2

l memria espera transfere (20 ns) dado 4 2

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

16 trans. / 864 ns = 18.6 Mtrans/s


2 (256 x 4) bytes / 864 ns = 1190.7 MB/seg

l memria espera (8 ns) transfere dado

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

Total de 15 ciclos por transao de 4 palavras. So necessrias 256 palavras / 4 palavras/transao = 64

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

A banda passante do barramento de (256 x 4) bytes / 1920 ns = 533.3 MB/seg

Exemplo 3 Soluo b
No caso da transferncia de blocos de 16 palavras, o primeiro grupo de

4 palavras precisa 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.

Portanto, cada um dos 3 grupos restantes de 4 palavras executa a

leitura da memria em paralelo com os dois ltimos passos do grupo anterior.

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.

A vantagem do uso de blocos maiores fica, portanto,

muito clara.

You might also like