top of page
  • Leonardo Ritter

O Passado - Barramento VLB

Atualizado: 21 de jul. de 2023

Esta série de artigos visa detalhar o funcionamento de interfaces de comunicação muito antigas, aparelhos antigos e componentes eletrônicos que foram muito importantes durante a evolução do computador!

A interface VLB foi criada pela VESA, acrônimo de Vídeo Electronics Standards Association, um grupo de empresas que desenvolve soluções para o mundo da tecnologia.

O nome VLB significa VESA Local Bus, um barramento de 32 bits com taxa de transferência bem mais alta que o barramento MCA, ISA e EISA. Este barramento era ligado diretamente ao processador da placa-mãe, e por este motivo a frequência de operação poderia variar, mas os valores comuns eram 25 Mhz, 33 Mhz e 40 Mhz.

O VLB era utilizado exclusivamente por placas de vídeo, e no período em que esta interface foi lançada, o Windows 3.11 já estava no mercado e a demanda por placas de vídeo com maior desempenho era grande. Este "maior desempenho" era atualizar a tela do PC em tempo real enquanto se fazia uma edição de imagem, pois na época não se falava em 3D ou imagens em HD e resoluções superiores.

Veja abaixo uma placa de expansão ISA 8 bits com VLB feita para interfaces de baixa taxa de transferência e interfaces de armazenamento:

Placa VLB Super I/O

Imagem 1 - Uma jurássica placa de expansão ISA-VLB


Em pouco tempo surgiram também placas de expansão com controladores IDE e SCSI, ambos interfaces para armazenamento de dados, já que o barramento VLB tinha uma boa taxa de transferência.


Um dos grandes problemas foi que, não queriam abandonar o padrão anterior, e por isto o VLB se tornou uma extensão do slot ISA de 16 bits, o que lhe rendeu o apelido de "Very Long Bus", que em português significa "Barramento Muito Longo".

O VLB funcionava como um canal de alta velocidade para operações de Entrada e Saída (E / S) e DMA mapeados em memória RAM, enquanto o barramento ISA tratou de Interrupções e Entrada e Saída (E / S) mapeadas por porta.

Veja o diagrama de uma placa de expansão ISA-VLB:

Cartão ISA-VLB

Diagrama 1 - Como era uma placa de expansão ISA-VLB


Não só o apelido, o VLB rendeu dores de cabeça com o mal contato, pois se a placa-mãe não estivesse bem parafusada ao gabinete, a pressão feita para encaixar a placa de expansão poderia envergar a MOBO, podendo danificar o slot ISA-VLB. A pressão necessária para encaixar a placa de expansão também provocava danos nos contatos, que combinado com a oxidação natural, acabavam fazendo com que muitas placas pifassem ao conecta-las e desconecta-las algumas vezes no slot.

Veja abaixo uma placa-mãe com um slot ISA-VLB:

Placa-mãe AT com slot ISA-VLB

Imagem 2 - Uma velha placa-mãe de fator-forma AT cheia de slots ISA de 32 bitas e apenas um VLB


O VLB não tinha suporte ao Plug And Play, tecnologia que permite a auto configuração de endereços de I/O, IRQ e DMA, e também não tinha suporte ao Bus Mastering, que permite gravação e leitura na memória RAM sem a necessidade da criação de um processo. A ausência desta duas tecnologias fez com que as placas de expansão tivessem que ser configuradas manualmente através de jumpers ou pelo BIOS, além de ter uma alta taxa de utilização do processador, fazendo com que ele fique sobrecarregado.


Devido a alta utilização do CPU, projetar uma placa-mãe com mais de três slots VLB seria criar um gargalo enorme, portanto, as fabricantes implementaram de um à três slots nas placas, sendo que, normalmente os usuários conectavam apenas uma placa de vídeo e uma placa Super-IDE VLB (mais explicações sobre as limitações do VLB no final do artigo). Recomendações informais foram dadas:

Quando operando com o clock de 33 Mhz, era recomendado instalar no máximo três placas VLB;

Quando operando com o clock de 40 Mhz, era recomendado instalar no máximo duas placas VLB (sem levar o consumo elétrico em conta);

Quando operando em 50 MHz (clock utilizado pelo processador 80486 DX-50 apenas) se recomendava utilizar apenas uma placa VLB, e mesmo assim poderia haver instabilidades.

O VLB não tinha um controlador próprio, ele era ligado diretamente aos pinos do barramento do processador, igual a interface ISA (que na época do VLB já tinha um controlador próprio), tornando o projeto da placa mais barato. Veja o diagrama abaixo:

Diagrama de ligação do slot ISA e do slot VLB

Diagrama 1 - Como era o barramento entre ISA, VLB e CPU


Repare os três slots VLB em marrom.

Veja abaixo, a tabela de processadores 486 e seus clocks:

Versões do 486

Tabela 1 - Os clocks dos processadores da época eram os clocks do barramento VLB


Por exemplo, um processador 486 DX-2 50, onde o clock do sistema era 25 Mhz, o barramento VLB também trabalhava à 25 Mhz. Um processador 486 DX-4 100, onde o clock do sistema era 33 Mhz, o barramento VLB também trabalhava à 33 Mhz.


Quando a primeira geração do Pentium chegou ao mercado, com versões de 60 e 66 Mhz e um novo barramento de 64 bits, o barramento VLB foi adaptado, isto é, foi feito as pressas uma espécie de "revisão 2.0" com 64 bits e o dobro da taxa de transferência, entretanto, na verdade, se utilizava o mesmo slot, sem a adição de nenhum pino (veja mais detalhes no tópico "FUNCIONAMENTO"). Nesta época da primeira geração do Pentium, o barramento PCI já dava seus primeiros passos, e em pouco tempo o VLB foi abandonado.


Por ser um barramento de 32 bits e trabalhar com clocks na faixa dos 30 Mhz, a taxa de transferência teórica desta interface é semelhante ao do barramento PCI, ou seja, cerca de 132 MB/s (teoricamente).

Abaixo é mostrado a tabela de pinos do slot VLB:

Pinagem do conector VLB

Tabela 2

Imagem 3 - Como é o conector


Agora, a explicação de cada pino:

Alimentação elétrica


→ O barramento VLB trabalha apenas com tensão de +5 Volts.


Sinais gerais


LCLK: Sinal de clock. Como foi dito anteriormente, este sinal é de acordo com a CPU instalada;


RESET#: Reinicia todos os dispositivos conectados ao barramento VLB;


LKEN#: Significa que o dispositivo está ativo. Não há necessidade de uso obrigatório.


Linhas de arbitragem


LGNT: Significa que um sinal "LREQ" foi concedido e o controle de barramento será transferido para outro mestre do barramento VLB (não é a CPU);


LREQ: Usado pelo dispositivo conectado ao barramento VLB para obter o controle, ser o mestre de barramento;


CURIOSIDADE: As linhas de arbitragem "LGNT" e "LREQ" também são encontradas nos barramentos PCI e AGP e possuem as mesmas funções!


Sinais de Controle de Transferência de Dados


D0 ao D31: Barramento de dados;


LBS16#: Utilizado para mostrar que o dispositivo conectado ao barramento VLB suporta uma largura de apenas 16 bits, ou seja, de "D0" até "D15";


A2 ao A31: Barramento de endereços. As Linhas "M/IO#" e "W/R#" representam as linhas de endereços "A0" e "A1";


ADS#: Estroboscópio de endereço. Quando é enviado um endereço, esta linha fica em nível LOW durante meio ciclo de clock;


LEADS#: Utilizado pelo dispositivo mestre VLB (não é a CPU) como estroboscópio para o sinal de endereço, isto é, apenas dentro do barramento VLB, sem ter contato com os outros componentes conectados pelo mesmo barramento do processador. Este sinal permanece em LOW e pode ser utilizado também como sinal de invalidade de cache;


BE0# ao BE3#: Byte ativado. 32 bits é igual à 4 Bytes. 1 Byte é enviado através de oito linhas de dados, sendo que cada grupo de oito linhas possui um "BEx#" para indicar ao receptor se o Byte enviado é válido ou não;


M/IO#: Isso é usado para indicar se o ciclo de barramento atual é uma operação de leitura / escrita ("Leitura de memória" ou "Escrita de memória") ou uma operação de Entrada / Saída ("I/O Leitura", "I/O Escrita"). Veja a Tabela 3 para entender melhor;


W/R#: Escrever ou ler. Usado para indicar se o ciclo de barramento atual é uma operação de leitura ou gravação. Veja a Tabela 3 para entender melhor;


CURIOSIDADE: As linhas "BEx#", "M/IO#" e "W/R#" são encontradas também no barramento ISA e possuem as mesmas funções!


DC#: Comando / Dados. É utilizado em conjunto com "M/IO" e "W/R" para indicar o tipo de operação a ser feita. Observe a tabela abaixo:

Tabela 3

LDEV: Quando o endereço for aplicado e os sinais de "M/IO#", "W/R#" e "D/C#" foram aplicados, esta linha é puxada no mesmo instante para LOW e indica um dispositivo VLB em operação;


WBACK#: Indica uma reescrita;


RDYRTN#: Indica que o ciclo de atividade no barramento VLB foi concluído. Pode preceder "LRDY#" por um ciclo de clock;


LRDY#: Indica uma transferência de dados durante a execução de uma operação ("I/O Leitura", "I/O Escrita", "Leitura de memória" ou "Escrita de memória" - ver Tabela 3) pelo barramento;


CURIOSIDADE: A linha "LRDY#" é semelhante às linhas "TRDY" e "IRDY" dos barramentos PCI e AGP!


BLAST#: Significa que está acontecendo uma "rajada de dados". Quando o "BLAST#" está ativado, após a fase de endereço, quatro fases de dados são transferidas;


BRDY#: Significa que a rajada de dados acabou. Este sinal é enviado após as quatro fases de dados ativadas por "BLAST#" serem enviadas;


ID0 ao ID4: Sinais de identificação. Veja a tabela abaixo:

Tabela para ID0, ID1 e ID4

Tabela 4

Os campos marcados com "Res." indica que é um código sem uso, reservado para futuras atualizações (que nunca aconteceram!). A tabela de IDs mostra se há a capacidade de Burst (rajada de dados) e também a largura de banda (16, 32 ou 64 bits) aceita pelos processadores 386 e 486.

Para o ID2 e ID3 se utiliza a seguinte tabela:

Tabela para ID2 e ID3

Tabela 5

É esta tabela para "ID2" e "ID3" que indica se o clock está abaixo ou acima de 33,3 Mhz.

IRQ9: Pedido de interrupção nível 9 ao controlador de interrupções. Esta linha é conectada ao "IRQ9" no barramento ISA. Isso permite que adaptadores VLB independentes, isto é, não relacionados à parte ISA do barramento, tenham um IRQ;


Para o VLB de 64 bits...


Existe um método para fazer o VLB trabalhar transferindo 64 bits de dados sem que haja (quase) nenhuma alteração na parte física do slot e no barramento: as linhas de endereço passam a transmitir dados também!

Os endereços são multiplexados com os dados, isto é, no primeiro ciclo de clock é enviado o endereço, e no segundo ciclo tanto as linhas dados quanto as de endereço passam a transmitir dados, totalizando 8 Bytes transmitidos.

Para que este método funcione, há algumas linhas extras que são implementadas no barramento VLB. Veja-as abaixo:


ACK64: Indica que o dispositivo conectado pode executar uma transferência de 64 bits se a ele for solicitado;


BE4# ao BE7#: Funcionam de forma idêntica as linhas "BE0#" ao "BE3#" do barramento VLB de 32 bits;


D32 ao D63: São as linhas de endereço "A2" ao "A31", que passam a transmitir tanto endereços quanto dados. Lembre-se que não há as linhas "A0" e "A1" no barramento VLB, portanto dois bits são transmitidos pelas linhas "M/IO#" e "W/R#".


LBS64#: Utilizado para mostrar que o dispositivo conectado ao barramento VLB suporta uma largura de 64 bits.

Assim como a interface ISA, o VLB funciona executando quatro operações básicas:

I/O Leitura;

I/O Escrita;

Leitura de memória;

Escrita de memória.


Estas quatro operações são feitas de acordo com o gráfico abaixo:

Funcionamento do barramento VLB de 32 bits

Gráfico 1 - As quatro operações do protocolo do barramento VLB


Veja agora uma transferência de 64 bits;

Funcionamento do barramento VLB de 64 bits

Gráfico 2 - As quatro operações do protocolo do barramento VLB quando em 64 bits


Compare estas informações dos dois gráficos com a Tabela 2 para ter uma noção maior do funcionamento de "W/R#", "M/IO" e "D/C#". Após "LRDY#", o terceiro ciclo de clock é precedido por "RDYRTN#", que indica o fim de uma atividade no barramento.

OBSERVAÇÃO: Repare que, quando digo "atividade", estou me referindo à fase de endereço e operação e à fase de dados. Quando digo "operação" estou me referindo as quatro operações que podem ser feitas pelo barramento ("I/O Leitura", "I/O Escrita", "Leitura de memória" ou "Escrita de memória").

Quando a linha "BLAST#" é jogada para nível LOW, significa que após a fase de endereço e operação terão quatro fases de dados seguidas, para que então a linha "BRDY#" vá à nível LOW indicando o fim da atividade no barramento VLB.

Quando a linha "LBS16" vai a nível LOW durante a fase de endereço e operação, significa que apenas as linhas de dados do "D0" ao "D15" serão utilizadas para transmitir dados. Consequentemente, apenas as linhas "BE0#" e "BE1#" serão utilizadas para validar os dois Bytes transmitidos.

 

No início do texto foi dito que, devido a limitações elétricas e devido a sobrecarga excessiva no processador, no máximo três slots VLB eram inclusos na placa-mãe. A explicação mais detalhada é que, como foi visto nos gráficos acima, todas as linhas permanecem sempre em nível HIGH, somente durante as atividades que elas podem ou não mudar pra nível LOW. Quando um sinal elétrico precisa percorrer uma distância muito longa, ele perde força, e quando este sinal chega em vários dispositivos simultaneamente, ele também perde força, desta maneira, o barramento do processador não tem condições de manter vários dispositivos conectados devido a deterioração do sinal, pois não havia nenhum mecanismo Pull Up ou algo semelhante.


Mas como assim "o sinal perde força"?

Para saber mais como funciona uma placa de circuito, que materiais são utilizados em sua confecção, como ocorre a atenuação do sinal e técnicas para reduzir perdas e interferências, CLIQUE AQUI!

Alguns detalhes que complementam tudo o que foi dito...


O Antecessor e o Sucessor!


Sendo o barramento VLB sempre instalado ao lado do slot ISA, seria legal ver como o jurássico "Industry Standard Architeture" funciona!

Para conhecer e compreender o ISA 8 e 16 bits, bem como o eISA (32 bits) basta CLICAR AQUI!

O VLB logo foi deixado de lado em prol do moderno barramento PCI. Mas quais foram as vantagens que tornaram o "Peripheral Component Interconnect" tão utilizado pela indústria?

Para conhecer e compreender o PCI...

→ Basta CLICAR AQUI! (PARTE 1);

→ Basta CLICAR AQUI! (PARTE 2).


A PCB e o slot


Já que o assunto integrou até a pinagem dos slots, nada melhor que dissertar sobre a confecção destes componentes.

Vamos começar pela PCB, tanto da placa-mãe quanto da placa de expansão, que serve de substrato para a soldagem dos chips e demais componentes.

Em geral, a placa de circuito impresso pode ter uma ou mais camadas, todas feitas em FR4, isto é, cada camada é composta por uma fina folha de poliepóxido reforçado com um tecido de lã de vidro (fibra de vidro).

As trilhas são feitas de Cobre puro (CU1100) depositado sobre a superfície polimérica. Já os contatos elétricos do módulo podem ser feitos de Cobre puro galvanizado com Ouro, ou, geralmente, materiais mais comuns, como aqueles que serão descritos mais abaixo, neste tópico.


Já o slot também é plástico, obviamente, mais especificamente LCP (Liquid Crystal Polymer) ou PPA (Poliftalamida), dois materiais muito utilizados na confecção de slots e conectores de placas de circuito devido a boa rigidez dielétrica e resistência a altas temperaturas.


CURIOSIDADE: De qualquer forma, a indústria faz uso apenas de termoplásticos, e que devem seguir a norma UL 94V-0. Para saber mais sobre tal norma, CLIQUE AQUI! e leia o tópico "Indicador de Flamabilidade".


Já os terminais destes slots podem ser feitos a base de ligas de Cobre com algum tipo de galvanização:

-> Bronze fosforado com dupla galvanização a frio (Estanho sobre Níquel);

-> Bronze fosforado com dupla galvanização a frio (Ouro sobre Níquel);

-> Bronze fosforado galvanizado a frio com Estanho ou Ouro;

-> Cobre galvanizado a frio com Estanho ou com Ouro (como é o caso dos pinos de processadores).


Para saber mais sobre polímeros e elastômeros, comece CLICANDO AQUI!

Para saber mais sobre cristais líquidos, CLIQUE AQUI!

Para saber mais sobre as ligas não-ferrosas com base no Cobre, CLIQUE AQUI!

Para saber mais sobre o FR4, CLIQUE AQUI! (exemplos de uso de polímeros e elastômeros) e CLIQUE AQUI! (aditivações em compósitos).


Os barramentos e a Lógica TTL


Este conteúdo veio a calhar como exemplo para outro texto do blog: Aquele sobre "Pares Diferenciais". Para acessa-lo, basta CLICAR AQUI!


O TTL (Lógica Transistor-Transistor) é um circuito simples, muito conhecido no meio dos entusiastas e técnicos em eletrônica, sendo demasiadamente utilizado em barramentos com várias linhas de dados em paralelo, como é o caso da interface VLB. Por operar apenas com 5 Volts, não faz uso da lógica LVTTL (que trabalha com 3,3 Volts).

Este foi mais um artigo detalhando coisas antigas no mundo da tecnologia.


Para enviar dúvidas, sugestões, reclamações, escreva para hardwarecentrallr@gmail.com!


Curta e compartilhe nas redes sociais!

 

FONTES e CRÉDITOS

Texto, tabelas e gráficos: Leonardo Ritter

Imagens: Google Imagens; Leonardo Ritter.

Fontes: Hardware.com; Pinouts.ru; Blog do Michael; Wikipédia (Somente artigos com fontes verificadas!).


Última atualização: 06 de Março de 2023.

1.187 visualizações

O Hardware Central abandonou de vez o Facebook. Não temos mais fanpage e a caixa de comentários que aqui habitava foi chutada pra longe! Não somos Mainstream! Redes socias não combinam com nós! Somos a galera dos livros!

Como também repassamos conteúdo de terceiros, não é justo restringir a cópia! O uso do conteúdo do HC e de toda a internet deve ser livre!

Para relatar erros, incongruências ou sugerir conteúdo, nos chame pelo hardwarecentrallr@gmail.com! Não somos perfeitos, mas sempre é possível melhorar!

bottom of page