Você está na página 1de 39

Barramentos

• Bararramento
– Meio de comunicação compartilhado entre
vários componentes
– Necessita estratégia para determinar quem
coloca informação no barramento a cada
momento (disciplina de acesso ao
barramento)
• Arbitragem de barramento quando a disciplina for
do tipo “balanceada” (mais de um componente
pode iniciar as transferências no barramento)
1
Barramento (cont.)

• Utilização do termo “barramento”


– Designar conjunto de “linhas”(fios) com
uma única função
• ex: Barramento de dados, barramento de rd'/wr
Processor Memory
endereços enable

– Designar conjunto completo do meio addr[0-11]

de comunicação compartilhado data[0-7]

• Conjunto de linhas de endereços, dados e


bus
controles bus structure

• Protocolo associado ao barramento (regras


para realização das transferências de
dados)

2
Diagramas de tempo
• Método que pode ser usado para expressar
protocolo do barramento
rd'/wr
• Passagem do tempo representada no eixo X
• Sinal de controle: ativo em “alto”ou “baixo” enable

– Pode ser ativo em nível baixo (zero) (e.g., go’, /go, or addr
go_L)
– Usa termos assert (ativo, ligar) and deassert (desativar) data
– Asserting go_L é equivalente a colocar go_L=0 tsetup tread
• Sinal de dados: representar sinal válido ou inválido read protocol

• Um protocolo especifica subprotocols rd'/wr


– Ciclos de barramentos (bus cycle), e.g., read and write enable
– Cada ciclo pode durar vários ciclos de relógio
addr
• Exemplo: ciclo de leitura
– rd’/wr colocado em low, endereço colocado em addr por data
no mínimo tsetup time antes de ligar o sinal de enable,
enable aciona a memória que coloca dados no tsetup twrite
barramento após o tempo tread write protocol 3
Adpatado de Vahid/2000
Protocolos de barramentos – conceitos
básicos
• Mestre/Escravo
– Mestre inicia a transferência (e normalmente
determina os endereços). Escravo responde as
requisições
– Direção: Origem/destino. Quem inicia a transferência
determina a direção dos dados
– Multiplexação temporal
• Minimiza o número de linhas
• Ao longo do tempo a mesma linha muda o “tipo” de conteúdo

req req
data 15:8 7:0 addr/data addr data

data serializing address/data muxing

Adpatado de Vahid/2000 4
Protocolos de barramento – métodos
de controle
• Síncrono vs. Assíncrono (ponto de vista de existência de relógio comum)
• Strobe vs. Handshake (eventos por contagem de tempo ou por sinalização
específica
Master Servant Master req Servant
req
ack

data
data

1 3 req 1 3
req
ack 2 4
data 2 4
data
taccess
1. Master asserts req to receive data 1. Master asserts req to receive data
2. Servant puts data on bus within time taccess 2. Servant puts data on bus and asserts ack
3. Master receives data and deasserts req 3. Master receives data and deasserts req
4. Servant ready for next request 4. Servant ready for next request

Strobe protocol Handshake protocol

Adpatado de Vahid/2000 5
Exemplo – Barramento ISA
Microprocessor Memory I/O Device
ISA bus
• ISA: Industry Standard Architecture
• Características memory-read bus cycle
– 20-bits de endereçamento CYCLE C1 C2 WAIT C3
C4
– strobe/handshake control CLOCK

• 4 ciclos é o default D[7-0] DATA

• CHRDY desativado – resulta em A[19-0] ADDRESS


ciclos de wait adicionais(até 6) ALE
• Frequência do barramento /MEMR
– Relativo a taxa de transferência de CHRDY
dados memory-write bus cycle
– Relativo ao relógio comum CYCLE C1 C2 WAIT C3
• Protocolo do barramento determina a CLOCK C4
máxima taxa de transferência (largura D[7-0] DATA
de banda) para os dispositivos A[19-0] ADDRESS

ALE

/MEMW

CHRDY

Adpatado de Vahid/2000 6
Barramentos

• barra ou via
– serial vs. paralelo
– interno vs. externo
– transferências de/para memória
– transferências de/para E/S
– lentos vs. rápidos
• quantos barramentos podem conviver em
um sistema?

7
Barramentos

Nome Data Barramento Frequência Endereçamento


PC bus 1981 8 bits 4,77 MHz 1 MB
ISA 1984 16 bits 8,33 MHz 16 MB
Micro Channel (MCA) 1987 32 bits 10 MHz 16 MB
EISA 1988 32 bits 8,33 MHz 4 GB
VL Bus 1992 32/64 bits 50 MHz 4 GB
PCI 1992 32/64 bits 33 MHz 4 GB
PC Card 1990 16 bits 8 MHz 64 MB
CardBus 1994 32 bits 33 MHz 4 GB
AGP 1996 32/64 bits 66 MHz 4 GB
PCI express 2002 1 bit (serial) 2,5 GHz (*) sem limite

(*) permite 250 MByte/s, nos dois sentidos

exemplos de barramentos comuns no IBM PC


8
Conectores

ISA 8 bits

ISA 16 bits

EISA

ISA com VLB


PCI

9
Barramentos originais

• de 1981 até 1992


– válido para PC-bus, ISA, EISA, MCA

PCbus - 8 bits - 4,77 MHz - 81


ISA - 16 bits - 8,33 MHz - 84
EISA - 32 bits - 8,33 MHz - 88
MCA - 32 bits - 10 MHz - 87

10
Hierarquia de barramentos
• Um único barramento para todas comunicações ?
– Dispositivos necessitam interface de alta velocidade (e
eventualmente características específicas de um processador)
• Alto custo para interfaces simples (nro. de transistores/gates,
consumo, espaço, etc…)
• Ponte (controlador de barramento)
– Conecta barramentos de diferentes vazões
– Atua como árbitro (no caso de haver mais de um mestre)
– Atua como mestre no barramento onde o processador não está
ligado diretamente Micro- Cache Memory DMA
processor controller controller

Processor-local bus

Peripheral Peripheral Peripheral Bridge

Peripheral bus 11
Esquema tradicional
memória e periféricos
compartilhando mesmo CPU
barramento
Cache
Barramento do externa
processador (rápido)

Barramento de E/S Barramento de E/S


E/S (lento) E/S
Controlador (lento)
Interna Externa
de barramento (conectores)
(Built-In)

Barramento de
memória (rápido)

Memória
12
Esquema com barramento local
CPU

486 Cache
externa
Barramento do vídeo, disco
processador (rápido) Barramento local
E/S
de E/S (rápido)
Externa
(conectores)

Barramento de E/S Barramento de E/S


E/S (lento) (lento) E/S
Controlador Externa
Interna
de barramento (conectores)
(Built-In)

teclado, RTC Barramento de disquete, disco,


CMOS memória (rápido) portas seriais e
paralelas
Memória

13
Barramento local

• barramento do processador
• VLB – 1992 (Vesa local bus)
• definido para 486 (extensão da pinagem da CPU)
• 486SX-25: 25 MHz
486DX-33: 33 MHz
486DX2-66: 33 MHz
486DX4-100: 33 MHz
486DX-40: 40 MHz
486DX2-80: 40 MHz
486DX4-120: 40 MHz
486DX-50: 50 MHz

14
Barramento PCI

• Barramento PCI original


– 32/64 bits - 33 MHz - 92
• Variações do PCI
– PCI 2.2 - 66 MHz
– PCI-X - 133 MHz, com mudanças no protocolo do
barramento
– PCI-X 2.0 - 266 MHz, com variante para 16 bits
– Cardbus – PCI original (32 bits, 33 MHz) no formato
PCMCIA para laptops
– Mini PCI - PCI 2.2 para uso interno em laptops

15
Pontes

• Pentium (P5 – primeira geração)


• barramento PCI
– 32 /64 bits - 33 MHz - 92
• ponte norte
– rápida (conexão ao PCI)
• ponte sul
– lenta (conexão ISA)

16
P5 e pontes C P U P e n tiu m
C a c h e n ív e l 1 P rocessad or
66 a 266 M H z
B a rra m e n to d o p ro c e s s a d o r
B a r r a m 5 e 0n ta o 6 d6 o M p Hr oz c e s s a d o r
50 a 66 M H z
C ach e
B a rra m e n to d o p ro c e s s a d o r
n ív e l 2
C o n tr o la d o r B a r r a m e n5 t0 o a d 6 e 6 m M e Hm z ó r i a
d e b a rra m e n to 16 M H z
(P o n te N o r te )

B a rra m e n to P C I
C o n e c to re s
25 a 33 M H z
P C I

C o n tr o la d o r a s I D E C o n tr o la d o r
M e m ó ria C M O S e R T C d e b a rra m e n to V íd e o
(B u ilt-In ) (P o n te S u l) P C I

B a rra m e n to IS A
8 M H z C o n e c to re s
IS A
C o n tr o la d o r a d e D is q u e te
C o n tr o la d o r a d e T e c la d o S u p e r I/O P o r ta s S e r ia is (C O M )
M e m ó ria R O M -B IO S (8 7 3 0 7 ) P o rta s P a ra le la s (L P T )
M ou se
17
Taxa de transferência CPU Pentium
Processador
= frequência x largura Cache nível 1 66 a 266 MHz
Barramento do processador
8 bytes 50 a 66 MHz
Barramento do processador
50 a 66 MHz = 528 MByte/s
Cache
nível 2
Controlador Barramento de memória 8 bytes
de barramento 16 MHz = 128 MByte/s
(Ponte Norte)

Barramento PCI
Conectores
25 a 33 MHz = 132 MByte/s
PCI
4 bytes
Controladoras IDE Controlador
Memória CMOS e RTC de barramento Vídeo
(Built-In) (Ponte Sul) PCI

Barramento ISA
2 bytes 8 MHz = 16MByte/s Conectores
ISA
Controladora de Disquete
Controladora de Teclado Super I/O Portas Seriais (COM)
Memória ROM-BIOS (87307) Portas Paralelas (LPT)
Mouse
18
Barramento AGP

• Definição original
AGP - 32/64 bits - 66 MHz - 96
• Variações
– AGP 1x, 32 bits, 66 MHz, 266 MB/s
– AGP 2x, 32 bits, 66 MHz, 533 MB/s
– AGP 4x, 32 bits, 66 MHz, 1066 MB/s (1 GB/s)
– AGP 8x, 32 bits, 66 MHz, 2133 MB/s (2 GB/s)
– AGP Pro – como AGP, mas para placas com maior poder de
processamento e maior consumo
– AGP 64 bit – versão de 64 bits para placas profissionais

19
Pentium II e AGP

• Uso simultâneo de ISA, PCI e AGP


ISA - 16 bits - 8,33 MHz - 84
PCI - 32/64 bits - 33 MHz - 92
AGP - 32/64 bits - 66 MHz - 96
• diversas taxas para barramento de memória
– ciclos de 60 ns (16 MHz)
– ciclos de 15 ns (66 MHz)
– ciclos de 10 ns (100 MHz)
SDRAM
20
Pentium II
C P U P e n tiu m C ach e
e AGP P rocessad or
166 a 450 M H z C a c h e n ív e l 1
n ív e l 2

B a rra m e n to d o p ro c e s s a d o r
50 a 66 M H z
B a rra m e n to d o p ro c e s s a d o r
66 a 100 M H z
V íd e o 66 M H z B a rra m e n to d o p ro c e s s a d o r
A G P C o n tr o la d o r B a r r a m e n t o d 5 e 0 m a e 6 m6 óM r iH a z
d e b a rra m e n to F P M ,E D O - 1 6 M H z
(P o n te N o rte ) S D R A M - 66 a 100 M H z
B a rra m e n to P C I
33 M H z
C o n e c to re s
P C I
C o n tr o la d o r a s ID E C o n tr o la d o r
M e m ó ria C M O S e R T C d e b a rra m e n to
P o r ta s U S B (P o n te S u l)

B a rra m e n to IS A
8 M H z C o n e c to re s
IS A
C o n tr o la d o r a d e D is q u e te
C o n tr o la d o r a d e T e c la d o S u p e r I/O P o r ta s S e r ia is (C O M )
M e m ó ria R O M -B IO S (3 7 6 7 7 7 ) P o rta s P a ra le la s (L P T )
M ou se
21
Taxa de transferência
= frequência x largura CPU Pentium Cache
Processador nível 2
166 a 450 MHz Cache nível 1
Barramento do processador
50 a 66 MHz Barramento do processador
66 a 100 MHz = 800 MByte/s
1x=66 MHz=264 MByte/s
Vídeo
AGP Controlador Barramento de memória
4 bytes de barramento FPM,EDO-16 MHz (96MByte/s)
(Ponte Norte) SDRAM-66 a 100 MHz (800MByte/s)
Barramento PCI
33 MHz = 132MByte/s
Conectores
PCI
Controladoras IDE Controlador
Memória CMOS e RTC de barramento
Portas USB (Ponte Sul)

Barramento ISA
8 MHz = 16MByte/s Conectores
ISA
Controladora de Disquete
Controladora de Teclado Super I/O Portas Seriais (COM)
Memória ROM-BIOS (376777) Portas Paralelas (LPT)
Mouse
22
Pentium III

• 1999 - Chipset 810 (Whitney) e também últimos


Pentium II
• 3 circuitos (hubs)
– controlador gráfico e de memória
– controlador de E/S
– firmware (BIOS)
• barramento AHA: entre 2 hubs (266 MHz)
• ISA opcional
• Chipset 820 e 840 e também primeiros
• mesmos 3 hubs Pentium 4

• barramento Rambus para memória

23
Pentium 4

• maior velocidade no barramento do


processador
• exemplos de chipset
– Intel 845
• sem Rambus
• com interface de rede, som e portas USB
– Intel 865
• com barramento de memória dual
• com serial ATA (SATA)

24
CPU Pentium 4

FSB Barramento do processador


Barramento AGP 4x 400MHz = 3,2 GByte/s
Vídeo (1,06 GByte/s)
Hub Barramento de Memória
AGP
Controlador (1,06 GByte/s)
de Memória Memória SDRAM
MCH 82845 (PC133)
Barramento AHA
Barramento PCI
266 MByte/s
33 MHz=132MByte/s
Conectores
2 Controladoras IDE Hub PCI
(ATA-100)
Controlador
de I/O
Interface de Rede ICH2 4 portas USB (12 Mbit/s)
Ethernet 10/100 Mbits/s

Seis canais de Super I/O


áudio

Firmware Portas Seriais (COM)


Hub Portas Paralelas (LPT)
Intel 845 (Flash BIOS) Disquete, Teclado, Mouse
25
CPU Pentium 4
Barramento do processador
800/533/400MHz = 6,4/4,2/3,2 GByte/s

Barramento AGP 8x Barramento de Memória Dual


Vídeo (2,1 GByte/s) (6,4/5,3/4,2 GByte/s)
Hub
AGP Mem. DDR 400/333/266
Controlador
de Memória
MCH 82865PE Mem. DDR 400/333/266

Barramento AHA Barramento PCI


33 MHz=132 MByte/s
Conectores
2 Controladoras Seriais Hub PCI
(SATA-150)
Controlador
de I/O
Interface de Rede
ICH5/5R 8 portas USB 2.0
Ethernet 10/100 Mbits/s
Controladora Legada
Super I/O
ATA 100
Seis canais de
áudio
Firmware Portas Seriais (COM)
Hub Portas Paralelas (LPT)
Intel 865 PE (Flash BIOS) Disquete, Teclado, Mouse
26
ICH5R = RAID
PCI Express

• comunicação serial
• especificação – 2002
• entrada no mercado – 2004
• um barramento para todo tipo de periférico
• conceito de uma rede ponto a ponto
– transmissão de pacotes
– camada física, camada de enlace de dados, camada de
transações

• compatível em software com PCI


• programas escritos para PCI não precisam ser
reescritos para PCI Express

27
camada física

– cada via (lane):


• 2 pares diferenciais unidirecionais
• transmissão de 2,5 gigabauds
– conector pode ter 1, 2, 4, 8, 12, 16 ou 32 vias
– dados, controles e interrupções transitam
pelas mesmas vias
– codificação: 8b/10b
• para evitar seqüências longas de 1 ou 0s
• extra bits consomem 20% da banda

28
outras camadas

• camada de enlace de dados


• sequenciamento de pacotes
• CRC de 32 bits
• protocolo de reconhecimento (Acks e Naks)
• timeout
– Naks por perda de sequenciamento e timeouts provocam
retransmissão do pacote

• camada de transações
• exige buffers de tamanho adequado nos dispositivos
– controle de fluxo baseado em créditos

29
CPU Pentium 4
Barramento do processador
até 800MHz = até 6,4 GByte/s

Barramento PCIe 16x Barramento de Memória Dual


Vídeo (16x 250 MB/s) (até 8,5 GByte/s)
Hub
Controlador Mem. DDR / DDR2
de Memória
MCH 82915G Mem. DDR / DDR2
4 Controladoras Seriais
(SATA-150) DMI 2 GBytes/s
Barramento PCI Conectores
4 PCIe 1x 33 MHz=132 MByte/s PCI
Hub
(250 Mbytes/s cada)
Controlador
de I/O
Interface de Rede
ICH6/6R 8 portas USB 2.0
Ethernet 10/100 Mbits/s
Controladora Legada
Super I/O
ATA 100
Seis canais de
áudio
Firmware Portas Seriais (COM)
Hub Portas Paralelas (LPT)
(Flash BIOS) Disquete, Teclado, Mouse
Intel 915 G 30
Ponte Norte - Exemplos
Host 925XE 925X 915G 915GV 865 G 845 G 850 E

System Bus 1066 800 800 800 533 800 533 800 533 400 533 400 533 400

Memory Dual DIMM Dual DIMM Dual DIMM Dual DIMM Dual DIMM DIMM SIMM RIMM
Module
Memory DDR2 DDR2 DDR2 DDR2 DDR DDR RDRAM
Type 533 400 533 400 533 400 533 400 400 333 266 266 200 Pc1066
DDR DDR SDRAM Pc800
400 333 400 333 133
Max 4 GB 4 GB 4 GB 4 GB 4 GB 2 GB 2 GB
Memory
Error Non-ECC ECC Non-ECC Non-ECC Non-ECC Non-ECC ECC
Correction Non-ECC Non-ECC
Graphics PCI Exp 16x PCI Exp 16x PCI Exp 16x N/A AGP 8x AGP 8x AGP 4x

Integrared N/A Intel N/A Intel Intel Intel N/A


Graphics Graphics Graphics Extreme Extreme
Media Media Graphics 2 Graphics 2
Accelerator Accelerator
900 900
I/O Hub ICH6 ICH6R ICH6 ICH6R ICH6 ICH6R ICH6 ICH6R ICH5 ICH5R ICH4 ICH2

31
Ponte Sul - Intel
I/O Hub ICH7R ICH7 ICH6R ICH6 ICH5R ICH5 ICH4 ICH2

PCI PCI Exp 1x PCI Exp. 1x PCI Exp 1x PCI Exp. 1x PCI 2.3 PCI 2.3 PCI 2.2 PCI 2.1
(6) (4) (4) (4)
IDE Ultra Ultra Ultra Ultra Ultra Ultra Ultra Ultra
ATA100 (1) ATA100 (1) ATA100 (2) ATA100 ATA100 ATA100 ATA100 ATA100
Serial ATA 300 (4) 300 (4) 150 (4) 150 (4) 150 (2) 150 (2) N/A N/A

RAID Intel Matrix N/A Intel Matrix N/A 0,1,0/1 N/A N/A N/A
Storage Storage
Technology Technology
USB 2.0, 8 2.0, 8 2.0, 8 2.0, 8 2.0, 8 2.0, 8 2.0, 6 1.1, 4
portas portas portas portas portas portas portas portas
Integrated Sim Sim Sim Sim Sim Sim Sim Sim
Network
Integrated Intel High Intel High Intel High Intel High AC’97 (20 AC’97 (20 AC’97 (20 AC’97 (20
Audio definition definition definition definition bits) bits) bits) bits)
Áudio, Áudio, Áudio, Áudio,
AC’97 (20 AC’97 (20 AC’97 (20 AC’97 (20
bits) bits) bits) bits)

32
Outros fornecedores

• Suportam tanto Intel como AMD


– ALI (Acer Laboratories)
– SiS
– Via
– nVidia

• Ponte Norte varia de acordo com processador


– AMD: barramento Hyper Transport
• Ponte Sul equivalentes às da Intel

33
CPU Pentium 4
Barramento do processador
800/533/400MHz = 6,4/4,2/3,2 GByte/s

Barramento AGP 8x Barramento de Memória Dual


Vídeo (2,1 GByte/s) (6,4/5,3/4,2 GByte/s)
AGP Ponte Mem. DDR 400/333/266
Norte
PT880 Mem. DDR 400/333/266
8x V-Link Barramento PCI
533 Mbyte/s 33 MHz=132 MByte/s
Conectores
2 Controladoras Seriais Ponte PCI
(SATA-150)
Sul
VT8237
Interface de Rede
(V-RAID) 8 portas USB 2.0
Ethernet 10/100 Mbits/s
Controladora Legada
Super I/O
ATA 133
Seis canais de
áudio AC-97
Modem Portas Seriais (COM)
MC-97 Portas Paralelas (LPT)
VIA PT880 & VT8237 Disquete, Teclado, Mouse
34
CPU AMD
Duron/Athlon/AthlonXP
Barramento do processador
Barramento AGP 4x 133-266MHz = 2,1 GByte/s
Vídeo AGP (1,06 GByte/s) Barramento de Memória (128 bits)
Ponte Norte
(opcional) (4,2 GByte/s)
nForce IGP
Memória SDRAM
GeForce2
(PC100-133 DDR200-233)
Barramento HyperTransport Barramento PCI
800 MByte/s 33 MHz=132 MByte/s
Conectores
2 Controladoras IDE PCI
Ponte Sul
(ATA-100)
nForce MCP-D
Interface de Rede 6 portas USB (12 Mbit/s)
Ethernet 10/100 Mbits/s Áudio

Seis canais de Super I/O


áudio

Portas Seriais (COM)


(Flash BIOS) Portas Paralelas (LPT)
Disquete, Teclado, Mouse
nVidia nForce 420 D
35
CPU Athlon XP
Barramento do processador
400/333MHz = 3,2/2,6 GByte/s

Barramento AGP 8x Barramento de Memória Dual


Vídeo (2,1 GByte/s) (6,4/5,3 GByte/s)
Ponte
AGP Mem. DDR 400/333
Norte
KT880
Mem. DDR 400/333
8x V-Link Barramento PCI
533 Mbyte/s 33 MHz=132 MByte/s
Conectores
2 Controladoras Seriais PCI
Ponte
(SATA-150)
Sul
Interface de Rede VT8237
(V-RAID) 8 portas USB 2.0
Ethernet 10/100 Mbits/s
Controladora Legada
Super I/O
ATA 133
Seis canais de
áudio AC-97
Modem Portas Seriais (COM)
MC-97 Portas Paralelas (LPT)
VIA KT880 & VT8237 Disquete, Teclado, Mouse
36
Mem. DDR 400/333/266
CPU AMD 64
Barramento do processador Mem. DDR 400/333/266
800MHz, bidirecional
Barramento de Memória Dual
Barramento AGP 8x (6,4/5,3/4,2 GByte/s)
Vídeo (2,1 GByte/s)
Ponte
AGP
Norte
K8T800

8x V-Link Barramento PCI


533 Mbyte/s 33 MHz=132 MByte/s
Conectores
2 Controladoras Seriais PCI
Ponte
(SATA-150)
Sul
Interface de Rede VT8237
(V-RAID) 8 portas USB 2.0
Ethernet 10/100 Mbits/s
Controladora Legada
Super I/O
ATA 133
Seis canais de
áudio AC-97
Modem Portas Seriais (COM)
MC-97 Portas Paralelas (LPT)
VIA K8T800 & Disquete, Teclado, Mouse
37
VT8237
Mem. DDR 400/333/266
CPU AMD 64
Barramento do processador Mem. DDR 400/333/266
1600MHz, bidirecional
Barramento de Memória Dual
Barramento PCIe 16x (6,4/5,3/4,2 GByte/s)
Vídeo (250 MByte/s cada)
Ponte 4 PCIe
Norte (250 MByte/s cada)
K8T890

8x V-Link Barramento PCI


533 Mbyte/s 33 MHz=132 MByte/s
Conectores
2 Controladoras Seriais Ponte PCI
(SATA-150)
Sul
VT8237
Interface de Rede
(V-RAID) 8 portas USB 2.0
Ethernet 10/100 Mbits/s
Controladora Legada
Super I/O
ATA 133
Seis canais de
áudio AC-97
Modem Portas Seriais (COM)
MC-97 Portas Paralelas (LPT)
VIA K8T890 & Disquete, Teclado, Mouse
38
VT8237
Curiosidade

• http://en.wikipedia.org/wiki/List_of_device_
bandwidths

39

Você também pode gostar