Title: Barramentos
1Barramentos
2Barramento
- Bus é um conjunto de condutores elétricos em um
computador que permite a comunicação entre
vários componentes do computador, tais como CPU,
memória, dispositivos de I/O. - Que sinais trafegam no barramento?
- dados
- relógio
- endereços
- sinais de controle
- Bus standard (protocolo) é um conjunto de regras
que governam como as comunicações no barramento
serão efetuadas.
3Barramento
- Vantagens
- Baixo custo na comunicação entre componentes,
desde que um simples conjunto de fios é
compartilhado em múltiplo sentidos - Versatilidade, que permite a fácil adição de
novos dispositivos no computador - Desvantagens
- Criação de engarrafamento (bottleneck) na
comunicação, limitando a máxima vazão de dados
(throughput) para dispositivos de I/O.
4Barramento - Classificação
- Quanto à Funcionalidade
- Linhas de dados (barramento de dados) - fornecem
o meio de transmissão de dados entre os módulos
do sistema. - Linhas de endereço (barramento de endereços) -
usadas para designar fonte e destino dos dados do
barramento de dados. - Linhas de controle (barramento de controle) -
usadas para controlar o acesso e o uso de linhas
de dados e endereços.
I/O
CPU
Memória
Barramento de dados
Barramento de endereços
Barramento de controle
5Barramento
- Sinais típicos de controle
- Memory Write - Causa a escrita de dados do
barramento de dados no endereço especificado no
barramento de endereços. - Memory Read - Causa dados de um dado endereço
especificado pelo barramento de endereço ser
posto no barramento de dados. - I/O Write - Causa dados no barramento de dados
serem enviados para uma porta de saída
(dispositivo de I/O). - I/O Read - Causa a leitura de dados de um
dispositivo de I/O, os quais serão colocados no
barramento de dados. - Bus request - Indica que um módulo pede controle
do barramento do sistema. - Reset - Inicializa todos os módulos
6Barramento
- Características de acesso
- Todo dispositivo de memória ou I/O deve ser
exclusivo no acesso ao barramento. - A seleção é feita através de sinais especiais de
controle como - Memory Read
- Memory Write
- I/O Read
- I/O Write
- .............
- Todo dispositivo deve escrever no barramento
através de buffers Tristate.
entrada de dados
saída de dados
controle
7Barramento
- Dispositivos
- Ativos ou Mestres - dispositivos que controlam o
protocolo de acesso ao barramento para leitura ou
escrita de dados - Passivos ou Escravos - dispositivos que
simplesmente obedecem a requisição do mestre. - Exemplo
- - CPU ordena que o controlador de disco leia ou
escreva um bloco de dados. - A CPU é o mestre e o controlador de disco é o
escravo.
8Barramento - Classificação
- Quanto à temporização
- Barramento assíncrono
- O controle ocorre exclusivamente por meio de
sinais trocados entre os dispositivos. Os ciclos
de barramentos podem ter qualquer duração e não
precisam ser iguais para todos as situações. - São barramentos mais rápidos que os síncronos.
9Barramento - Assíncrono
10Barramento - Classificação
- Quanto à temporização
- Barramento síncrono
- Este tipo de barramento exige que todo o tráfego
de dados e controle seja sincronizado sob uma
mesma base de tempo chamado de relógio (clock)
11Barramento - Síncrono
12Barramento - Classificação
- Barramento síncronoIncluindo wait-states
- Usando um sinal extra (wait) este barramento pode
se comportar como um misto de síncrono e
assíncrono. - Sempre que o dispositivo escravo não puder
responder no tempo padrão do barramento, este
liga o sinal de wait para fazer com que o mestre
páre o protocolo. Quando o escravo puder
prosseguir, desliga o wait.
13Barramento - Síncrono com Wait
T1 - CPU ativa sinais de controle e endereço
MREQ - 0 RD - 0 Memória deco- difica
endereço Espera (WAIT) Memória coloca dados
no barra - mento de dados MREQ - 1 RD - 1
T1
T2
T3
T4
T5
T6
T2 - Endereço estável no barra- mento
relógio
endereço de memória
endereço
T3, T4 - Espere sinal de wait desligar
dados
dados
T5 - Memória li- bera dados no barramento
-Dados são lidos pela CPU -CPU desabilita controle
MREQ
RD
WAIT
14Barramento - Arbitragem
- O que acontece quando dois ou mais dispositivos
querem se tornar mestres do barramento ao mesmo
tempo? - Pode existir uma inviabilidade de operações
(caos) do sistema se não houver um mecanismo
adequado de arbitragem do barramento. - A arbitragem decide qual mestre terá o controle
do barramento num dado instante - Arbitragem centralizada
- Arbitragem descentralizada
15Barramento - Arbitragem Centralizada
- Arbitragem no barramento PCI (centralizado)
- Exemplo para três dispositivos
- O árbitro decide qual mestre controla o
barramento
16Barramento - Arbitragem Híbrida(centralizada e
distribuída)
- Este tipo de arbitragem é gerenciado por um
árbitro que, juntamente com um daisy chain,
estabelece a ordem de acesso ao barramento. - Barramento de um nível usando daisy-chaining
maior prioridade
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.
17Barramento - Arbitragem Híbrida(centralizada e
distribuída)
- Arbitragem com dois níveis de prioridade
requisição nível 1 requisição nível 2
permissão 1 permissão 2
Árbitro
D1 D2 D3
D4
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.
18Barramento - Arbitragem Descentralizada
- Um dos tipos de barramento descentralizado é o
barramento Multibus (Daisy Chain sem árbitro).
Requisita barramento ocupado
5 V
in out in out in
out in
linha ativada pelo mestre do barramento
Linha de arbritagem
D1 D2 D3
D4
Características 1. Quando nenhum dispositivo
quer barramento, a linha de arbitragem ativada é
propagada através de todos os
dispositivos. 2. Para obter o barramento um
dispositivo primeiro verifica se o barramento
está disponível, e se a linha de arbitragem
que está recebendo, in, está ativada. 3. Se in
estiver desativada, ela não poderá tornar-se
mestre do barramento. 4. Se in estiver ativada, o
dispositivo requisita o barramento, desativa out,
o que faz com que todos os seguintes na
cadeia desativem in e out. 5. O tempo de
propagação do sinal in do primeiro dispositivo
(D1) ao out do último dispositivo (D4) tem
que ser menor que 1 período de clock.
19Barramento - Arbitragem Descentralizada
- Barramento Multibus
- O dispositivo mais próximo do início da cadeia
que requer o barramento tem maior prioridade.
Portanto, este esquema é similar ao sistema
híbrido com daisy chain, exceto por - Não existe mais a figura do árbitro
- É mais rápido
- Não vulnerável a falhas do árbitro
- O barramento Multibus também oferece arbitragem
centralizada, permitindo que os projetistas façam
a escolha.
20Barramento - Classificação
- Quanto aos dispositivos a ele acoplados
- Barramentos de Memória (CPU-memory buses)
- Barramentos de Entrada e Saída (CPU-I/O buses)
21Barramentos de Memória
- Características
- São pequenos
- Operam em alta velocidade
- São em geral conectados diretamente a CPU para
maximizar a largura de banda entre memória e CPU
(bandwidth) - Tipos de dispositivos são conhecidos
22Barramentos de E/S (I/O)
- São em geral barramentos de ordem geral,
permitindo que vários dispositivos diferentes
possam ser conectados. - Características
- Podem ser longos.
- Podem ter diferentes tipos de dispositivos
conectados a ele. - São, em geral, mais lentos que os barramentos de
memória.
23Barramento - Aspectos de projeto
- Considerações na implementação de um sistema de
barramento
24Tipos de barramentos de dados
- ISA bus
- EISA bus
- VL Local bus
- PCI bus
- IDE
- EIDE
- SCSI
25Barramento convencional
barramentos
registradores
barramento do sistema
ALU
placa de memória
placa de E/S
placa de E/S
barramento interno
26ISA Bus
- ISA bus - Industry Standard Architecture
- Lançado por volta de 1984 pela IBM no PC-AT, o
barramento ISA virou um barramento padrão
utilizado por todos os demais fabricantes de
clones IBM na época. - Características
- Conecta CPU, memória e dispositivos de E/S
- Barramento de 16 bits (2 bytes)
- Frequência de operação de 8 MHz
- Taxa de 8MB/s (dois pulsos de clock por transação
de modo a manter compatibilidade com o barramento
do PC-XT, o XT-bus, que era de 8 bits) - Permite mais de um mestre mas de forma precária
- Extensões gt Plug-and-Play ISA
27ISA bus - Standard System
Memória
CPU
Controlador de barramento
ISA bus
ISA slots
28ISA bus - Conectores
Placa de expansão 8 bits 16 bits XT-bus ISA-bus
Conectores na placa mãe 8 bits 16 bits
29EISA bus
- EISA bus - Extended ou Enhanced ISA
- Desenvolvido por volta de 1987 por 9 competidores
da IBM, para melhorar a performance e competir
com o barramento MCA (Micro-Channel Architecture)
lançado pela IBM. - Características
- Compatível com ISA
- Extensão para 32 bits de dados (4 bytes)
- Relógio de 8 MHz
- Taxa de 32MB/s (1 pulso de clock por transação)
30EISA bus - Extended ISA
Memória
CPU
32 bits
Controlador de barramento
EISA bus
EISA slots
31VL - VESA Local Bus
- VL Bus - VESA (Video Electronics Standards
Association) - 1992 - CPU 80486 (33 MHz) e dispositivos de alta
performance (ex. placa de vídeo) em barramento
(E)ISA gt gargalo - Características
- Barramento conectado diretamente à CPU gt
velocidade do barramento velocidade da CPU. - Dependente do tipo de CPU usado (80486)
- 32 bits no barramento de dados.
- Suporta apenas 2 cartões gt outras expansões
devem ser feitas via barramento ISA ou EISA.
32VL Local bus
33PCI Bus (Peripheral Component Interconnect)
- Definido pela Intel para estabelecer um padrão de
barramento de alta performance que permitisse
diferenciações na implementação. - Características
- Barramento síncrono.
- Arbitragem centralizada
- 32 ou 64 bits, 33 MHz (ou 66MHz, na versão 2.1).
- Dados e endereços são multiplexados.
- 133 MB/s (4 bytes x 33MHz) até 533 MB/s (8 bytes
x 66 MHz) - Cada controlador permite cerca de 4 dispositivos
- Plug-and-Play
34PCI bus - Características
- Controlador do PCI e interfaces das placas de
expansão são independentes (isso não acontece com
o VL-bus). - Transição eficiente para futuras gerações de
processadores e multiprocessadores. - Permite que CPUs diferentes usem este barramento
(ex. computadores Macintosh) fazendo com que
fabricantes de placas de expansão possam vender
para qualquer sistema com barramento PCI.
35PCI Bus
Cache
Bridge/ Cont. de memória
DRAM
PCI bus
Bridge para o ISA ou EISA
LAN
PCI slots
SCSI
EISA bus ou ISA bus
ISA ou EISA slots
36PCI Bus - Exemplo
- Especificação
- PCI - to PCI Bridge da Digital (21152)
- 64 bits no barramento
- primário
- 32 bits no barramento
- secundário
- Permite até dois
- barramentos PCI
- concorrentes
- 5 ou 3.3 V
- chip com 256 pinos
37PCI Bus
- Controlador 21153 PCI-to-PCI
- Controlador LAN chips
38PCI Bus - Pinout
End./Dados
Extensões 64bits
Trans. atômicas
Controle de comunicação
Interrupções
Info. Erro
Controle cache
Arbitragem
Testes (Boundary Scan)
Sistema
39PCI Bus - Pinout
- AD(x) - Address/Data Lines
- C/BE - Command/Byte Enable. Define comando (fase
de end.). Durante a fase de dados informa quais
dos 4 bytes (a via de dados tem 32 bits) estão
sendo usados na transação. - FRAME - Informa se está na fase de end. ou dados
- IRDY - O mestre está pronto p/ a transação
- TRDY - O escravo está pronto p/ a transação
- STOP - O escravo deseja parar a transação atual
- DEVSEL - Escravo reconheceu seu endereço e está
selecionado - IDSEL - Usado como chip select na configuração do
sistema - REQ(x) - Req. p/ controlar barramento (tornar-se
mestre) - GNT(x) - Req. concedida
40PCI Bus - C/BE
- C/BE - comandos na fase de endereçamento
41PCI Bus
42PCI Bus
- Arbitragem no barramento PCI (centralizado)
- Exemplo para três dispositivos
43PCI Bus
- Arbitragem do barramento PCI entre dois mestres
A e B
44E depois do PCI ?...
- AGP - Advanced Graphics Port (1997)
- Conecta apenas CPU e placa de vídeo
- Não há disputa com outros dispositivos
- 32 bits, 66 MHz gt 266 MB/s
- 2X-mode gt 2 transf. por clock gt 533 MB/s
- 4X-mode gt 4 transf. por clock gt 1,066 GB/s
45IDE Bus
- IDE ou Integrated Drive Electronics (ou ATA -
Advanced Technology Attachment, ou ainda ATAPI -
ATA Packet Interface) - Características
- Desenvolvido pela Western Digital a pedido da
Compaq (1984) - Suporta discos rígidos de até 528 MB.
- Permite apenas dois dispositivos conectados.
- Baixo custo.
- Versão 8 bits (PC-XT), 16 bits (PC-AT).
- Velocidade depende do barramento conectado
- ISA bus gt 3,3 MB/s
- VL-bus gt 5,5 MB/s
46EIDE Bus, ATA-2 ou Fast ATA
- Enhanced IDE, 1994.
- Características
- Suporta até quatro dispositivos
- 32 bits
- Suporta discos, unidades de fitas e CD-ROMs
- Simula duas interfaces IDE
- Permite discos de até 8,4 GB
- Velocidade depende do modo de operação (que são
4) - PIO Mode 3 (mais usado) gt 11,11 MB/s
- PIO Mode 4 (or Multiword DMA Mode 2) gt 16,67 MB/s
47UIDE, Ultra ATA ou ATA-3
- Ultra IDE desenvolvido pela Quantum em 1996
- Taxa de transferência de 33 MB/s.
- Requer protocolo Ultra DMA (suporta taxas mais
rápidas de transferência)
48SCSI BusSmall Computer System Interface
- Adotado inicialmente no Macintosh
- Família SCSIPadrões ANSI Não Padronizados
- SCSI-1 Ultra (Wide) SCSI
- SCSI-2 Ultra2 (Wide) SCSI
- Fast (Wide) SCSI
- SCSI-3
- Os padrões Ultra e Ultra2 não são reconhecidos
pelo ANSI (American National Standards Institute) - A palavra Ultra também é usada para designar
barramentos SCSI-3 com 20 MHz
49SCSI-1
- Tornou-se padrão ANSI em 1986
- Usado como padrão no Macintosh
- 5 MHz
- 8 bits, 5MB/s
- Transf. síncrona e assíncrona
- Suporta 7 dispositivos 1 host
- Praticamente só controla discos rígidos
- Barramento com 6 metros
- Arbitragem distribuída
50SCSI-2
- Tornou-se padrão ANSI em 1990
- 10 MHz
- Fast SCSI gt 8 bits, 10 MB/s
- Fast Wide SCSI gt 16 bits, 20 MB/s (usado
normalmente) gt 32 bits, 40 MB/s (requer cabo
extra) - 7 dispositivos (ou 15 no Wide SCSI) 1 host
- Vários tipos de dispositivos (Scanners, cdrom,
discos até 9GB) - Versão diferencial 16 bits (máx. 20MB/s, até 25
metros)
51SCSI Bus - Características elétricas
- Barramento com terminação simples
- Os níveis lógicos 0 e 1 são representados
comparando a tensão de cada fio com um padrão
comum (chamado terra). - Um barramento SCSI com term. simples tem no
máximo 6m. - Barramento diferencial
- Usa dois fios para cada sinal lógico. A diferença
de tensão entre eles, positiva ou negativa,
representa os níveis lógicos. Com isso espera-se
minimizar ruídos externos induzidos nos fios,
assumindo que essa indução ocorre nos dois fios e
portanto se anulam quando a diferença é
calculada. - Um barramento SCSI diferencial tem até 25 metros.
52SCSI-3 e Ultra2 O Futuro...
- Ainda em desenvolvimento
- 20 MHz (Também é chamado de Fast20 ou Ultra-SCSI)
- 8 bits, 20MB/s
- 16 bits, 40 MB/s
- Mais dispositivos
- Cabos mais longos
- Vários protocolos seriais e paralelos
- Barramento serial (chamado firewire)
- Barramento paralelo para manter compatibilidade
com padrão SCSI-1 e 2 - Ultra2 SCSI 8-bit, 40 MBps.
- Wide Ultra2 SCSI 16-bit bus, 80 MBps.
53SCSI Resumo
54Fases do Barramento SCSI
- Bus free.
- Arbitration.
- Selection mestre seleciona escravo.
- Reselection escravo reconecta ao mestre para
continuar transação parada pelo escravo. - Command escravo pede comando ao mestre.
- Data escravo pede transf. de dados ao mestre.
- Status escravo pede para transf. status para o
mestre. - Message escravo pede transf. de mensagem.
55Fases do Barramento SCSI
RESET
Bus free
Arbitration
Selection ou Reselection
Command, Data, Status, ou Message
56SCSI - Arbitragem Distribuída
- Na fase Bus Free, os candidatos a mestre ativam o
BSY (barr. busy) e a linha de dados
correspondente ao seu identificador (de 0 a 7) - Todos os candidatos verificam se outros
dispositivos também querem ser mestres. - Aquele com maior prioridade (7 é a maior)
torna-se mestre.
57SCSI - Transferência AssíncronaPág 209 do
Stallings