1. Barramentos
Os barramentos são utilizados para interligar os diferentes componentes da placa mãe e
também permitir o uso de placas de expansão. Assim como os demais componentes, os
barramentos evoluíram de forma expressiva durante as últimas décadas, passando do
ISA e das portas seriais, aos slots AGP, PCI Express e portas USB 2.0, que utilizamos
atualmente. Veja detalhes sobre cada um deles.
Os barramentos são portas através das quais o processador pode comunicar-se com os
demais componentes do micro, como a placa de vídeo. Falando em placa de vídeo, você
já percebeu que todas as placas de vídeo modernas são conectadas em slots PCI ou
AGP? E que placas de som e modems antigos quase sempre usam slots ISA? Isso
acontece por que placas de som e modems são periféricos relativamente lentos, para os
quais o lento barramento ISA já é suficiente. Porém, as placas de vídeo, necessitam de
um barramento muito mais rápido, motivo pelo qual utilizam slots PCI ou AGP. Que tal
se agora estudássemos os diferentes tipos de barramento existentes?
Os processadores 8088, usados nos micros XT, comunicavam-se com os demais
periféricos usando palavras binárias de 8 bits. Para o uso em conjunto com estes
processadores, foi criado o ISA de 8 bits. Este barramento funciona usando palavras
binárias de 8 bits e opera a uma frequência de 8 MHz, permitindo uma passagem de
dados à uma velocidade de 8 Megabytes por segundo, velocidade muito mais do que
suficiente para um processador lento como o 8088.
ISA de 16 bits: Os processadores 286 comunicavam-se com os demais periféricos
usando palavras de 16 bits. Para acompanhar esta melhora por parte do processador, foi
criada uma extensão para o barramento ISA de 8 bits, formando o ISA de 16 bits. Este
barramento, assim como o processador 286, trabalha com palavras de 16 bits, à uma
frequência de 8 MHz, permitindo um barramento total de 16 MB/s.
Os periféricos ISA vem sendo usados desde a época do 286, mas, na verdade, este
padrão já existe desde 1981, ou seja, tem 19 anos de idade!. O ISA é um bom exemplo
de padrão obsoleto que foi ficando, ficando, ficando... mesmo depois de terem sido
criados barramentos muito mais rápidos, como o PCI. A verdade é que o ISA durou
tanto tempo, por que o barramento de 16 Megabytes por segundo permitido por ele é
suficiente para acomodar periféricos lentos como modems e placas de som, fazendo
com que os fabricantes destes periféricos se acomodassem, e continuassem produzindo
periféricos ISA praticamente até hoje.
Como existia uma grande demanda por parte do mercado, os fabricantes não tinham
outra alternativa senão misturar slots ISA e PCI em suas placas mãe, o que servia para
aumentar os custos de produção.
Com a popularização dos modems e placas de som PCI, finalmente tivemos aberto o
caminho para finalmente enterrar o barramento ISA. Os lançamentos de placas mãe com
slots ISA vem tornando-se cada vez mais raros.
2. Slots ISA
MCA: Com o surgimento dos processadores 386, que trabalhavam usando palavras
binárias de 32 bits, tornou-se necessária a criação de um barramento mais rápido que o
ISA para o uso de periféricos rápidos, como placas de vídeo e discos rígidos. A IBM
criou então o MCA, que funcionava com palavras de 32 bits e a uma frequência de 10
MHz, sendo 2.5 vezes mais rápido que o ISA de 16 bits.
O MCA possuía porém um pequeno inconveniente: foi patenteado pela IBM, de modo
que somente ela podia usá-lo em seus computadores. Os demais fabricantes, sem outra
escolha, foram obrigados a produzir micros com processadores 386, porém equipados
somente com slots ISA.
Isto era um grande inconveniente, pois apesar do 386 ser um processador incrivelmente
rápido para a época, acabava sendo sub-utilizado pelo lento barramento ISA, já que
todos os demais componentes, como placas de vídeo e discos rígidos, eram acessados na
velocidade do barramento ISA. Apesar de possuírem um processador rápido para a
época (o 386), em termos de velocidade de acesso a discos e velocidade do vídeo, estes
micros eram tão rápidos quanto um 286. Para quem trabalhava com o imagens, era
impraticável o uso de tais computadores.
Estes micros são chamados de “AT 386” ou “AT 486”, pois apesar de utilizarem
processadores 386 ou 486, utilizam o mesmo tipo de barramento utilizado pelos micros
AT 286.
Apesar de trazer recursos surpreendentes para a época em que foi lançado, como o Bus
Mastering e suporte ao Plug-and-Play (foi o primeiro barramento a suportar estes
recursos, isso em 87), o MCA não conseguiu se popularizar devido ao seu alto custo,
incompatibilidade com o ISA e, principalmente, por ser uma arquitetura fechada, caindo
em desuso com o surgimento do EISA e do VLB.
EISA: Este novo barramento foi uma resposta dos demais fabricantes liderados pela
Compac, ao MCA, criado e patenteado pela IBM.
Com o objetivo de ser compatível com o ISA, o EISA funciona também a 8 MHz,
porém, trabalha com palavras binárias de 32 bits, totalizando 32 MB/s de barramento,
sendo duas vezes mais rápido do que seu antecessor. O EISA também oferecia suporte a
Bus Mastering e Plug-and-Play, com eficiência comparável à do MCA.
3. Uma das grandes preocupações dos fabricantes durante o desenvolvimento do EISA, foi
manter a compatibilidade com o ISA. O resultado foi um slot com duas linhas de
contatos, capaz de acomodar tanto placas EISA quanto placas ISA de 8 ou 16 bits.
Uma placa EISA utilizaria todos os contatos do slot, enquanto uma placa ISA utilizaria
apenas a primeira camada. Naturalmente, o EISA era uma barramento suficientemente
inteligente para reconhecer se a placa instalada era ISA ou EISA.
A complexidade do EISA acabou resultando em um alto custo de produção, o que
dificultou sua popularização. De fato, poucas placas chegaram a ser produzidas com
slots EISA, e poucas placas de expansão foram desenvolvidas para este barramento.
Assim como o MCA, o EISA é atualmente um barramento morto.
VLB: Lançado em 93 pela Video Electronics Standards Association (uma associação
dos principais fabricantes de placas de vídeo), o VLB é muito mais rápido que o EISA
ou o MCA, sendo utilizado por placas de vídeo e controladoras de disco, as principais
prejudicadas pelos barramentos lentos. Com o VLB, os discos rígidos podiam
comunicar-se com o processador usando toda a sua velocidade, e se tornou possível a
criação de placas de vídeo muito mais rápidas.
Como antes, existiu a preocupação de manter a compatibilidade com o ISA, de modo
que os slots VLB são compostos por 3 conectores. Os dois primeiros são idênticos a um
slot ISA comum, podendo ser encaixada neles uma placa ISA, sendo o 3º destinado às
transferencias de dados a altas velocidades permitidas pelo VLB.
O VLB funciona na mesma frequência da placa mãe, ou seja, num 486 DX-2 50, onde a
placa mãe funciona a 25 MHz, o VLB funcionará também a 25MHz. E, em uma placa
de 486 DX-4 100, que funciona a 33 MHz, o VLB funcionará também a 33 MHz. Vale
lembrar que o VLB é um barramento de 32 bits.
As desvantagens do VLB são a falta de suporte a Bus Mastering e a Plug-and-Play,
além de uma alta taxa de utilização do processador e limitações elétricas, que permitem
um máximo de 2 ou 3 slots VLB por máquina. Isto não chegava a ser uma grande
limitação, pois geralmente eram utilizados apenas uma placa de vídeo e uma placa
Super-IDE VLB.
Devido ao alto desempenho, baixo custo, e principalmente devido ao apoio da maioria
dos fabricantes, o VLB tornou-se rapidamente um padrão de barramento para placas
486.
Como o VLB foi desenvolvido para trabalhar em conjunto com processadores 486, não
chegaram a ser desenvolvidas placas para processadores Pentium equipadas com este
barramento, pois a adaptação geraria grandes custos, além de problemas de
incompatibilidade.
4. Slot VLB
O ISA foi o primeiro barramento de expansão utilizado em micros PC. Existiram duas
versões: os slots de 8 bits, que foram utilizados pelos primeiros PCs e os slots de 16
bits, introduzidos a partir dos micros 286.
Embora fossem processadores de 16 bits, os 8088 comunicavam-se com os periféricos
externos utilizando um barramento de 8 bits, daí o padrão ISA original também ser um
barramento de 8 bits. Inicialmente, o barramento ISA operava a apenas 4.77 MHz, a
freqüência de clock do PC original, mas logo foi introduzido o PC XT, onde tanto o
processador quanto o barramento ISA operavam a 8.33 MHz.
Com a introdução dos micros 286, o barramento ISA foi atualizado, tornando-se o
barramento de 16 bits que conhecemos. Na época, uma das prioridades foi preservar a
compatibilidade com as placas antigas, de 8 bits, justamente por isso os pinos adicionais
foram incluídos na forma de uma extensão para os já existentes.
Como você pode ver na foto, o slot ISA é dividido em duas partes. A primeira, maior,
contém os pinos usados pelas placas de 8 bits, enquanto a segunda contém a extensão
que adiciona os pinos extra:
5. Slots ISA
Uma coisa que chama a atenção nos slots ISA é o grande número de contatos,
totalizando nada menos que 98. Por serem slots de 16 bits, temos apenas 16 trilhas de
dados, as demais são usadas para endereçamento, alimentação elétrica, sinal de clock,
refresh e assim por diante.
Este esquema mostra a função de cada um dos pinos em um slot ISA. Como você pode
ver, não é exatamente uma implementação "simples e elegante", mas enfim, funcionava
e era o que estava disponível na época:
Cada um destes pinos podia ser controlado individualmente, via software e muitas
placas não utilizavam todos os pinos do conector, por isso era comum que periféricos
mais simples, como placas de som e modems viessem com alguns dos contatos
"faltando". Outra curiosidade é que, justamente por serem fáceis de programar, as
controladoras ISA foram as preferidas por programadores que trabalham com
automatização e robótica durante muito tempo. Quando as placas-mãe com slots ISA
começaram a desaparecer do mercado, alguns chegaram estocá-las :).
6. Apesar de toda a complexidade, o barramento ISA é incrivelmente lento. Além de
operar a apenas 8.33 MHz, são necessários tempos de espera entre uma transferência e
outra, de forma que, na prática, o barramento funciona a apenas metade da freqüência
nominal. Dessa forma, chegamos a uma taxa de transmissão teórica de 8.33 MB/s (no
ISA de 16 bits). Como existe um grande overhead causado pelo protocolo usado, na
prática acaba sendo possível obter pouco mais de 5 MB/s de taxa de transferência real.
Periféricos "rápidos", como placas de vídeo, placas de rede e interfaces IDE migraram
rapidamente para barramentos mais rápidos conforme eles foram sendo introduzidos.
Mas, o ISA continuou sendo suficiente para periféricos lentos, como modems, placas de
som e alguns outros dispositivos. Isso acabou fazendo com que o ISA tivesse uma
sobrevida assustadora. Por volta do final de 2003 ainda era possível encontrar placas-
mãe novas, destinadas a processadores Pentium III e K6-2, que ainda ostentavam um ou
dois slots ISA. Muitas delas continuam em uso até os dias de hoje.
Com relação à parte prática, uma das principais características das placas ISA era a
presença de jumpers, que permitiam definir os endereços de IRQ, DMA e I/O usados
pela placa. Em um PC com vários periféricos, os valores precisam ser ajustados com
cuidado, já que duas placas configuradas para utilizar o mesmo endereço entravam em
conflito, fazendo com que ambas não funcionassem corretamente.
Mais tarde, surgiu o padrão ISA plug-and-play, onde a configuração de endereços é
feita pelo BIOS durante o boot. Ele verifica quais endereços estão ocupados por outros
dispositivos e tenta atribuir os endereços livres aos novos periféricos instalados,
evitando conflitos.
Com a introdução das placas ISA plug-and-play, as placas antigas, configuradas via
jumper passaram a ser chamadas de placas legacy ISA. É relativamente incomum
encontrar alguma em uso hoje em dia, mesmo ao trabalhar com micros antigos. Os mais
comuns são modems, já que os antigos modems ISA trabalham via hardware e por isso
oferecem vantagens sobre os softmodems atuais. Como costumo dizer, os modems
(discados) são possivelmente a única classe de periféricos que regrediu de 10 anos pra
cá.
7. MCA, EISA e VLB
Com o surgimento dos processadores 386, que trabalhavam usando palavras binárias de
32 bits, tornou-se necessária a criação de um barramento mais rápido que o ISA para o
uso de periféricos como placas de vídeo e HDs, que logo passaram a ter seu
desempenho severamente limitado por ele.
A primeira resposta veio por parte da IBM, que desenvolveu o barramento MCA. Ele
era bastante avançado para a época: além de ser um barramento de 32 bits, ele operava a
10 MHz, o que resultava numa taxa de transferência teórica de 32 MB/s. Ele também foi
o primeiro barramento a suportar plug-and-play (oito anos antes do lançamento do
Windows 95) e a suportar bus mastering, o que permitia que o HD e outros periféricos
transferissem dados diretamente para a memória RAM (ao carregar um programa, por
exemplo), deixando o processador livre para executar outras tarefas. Isso tornava o
sistema bem mais responsível em relação às máquinas equipadas com placas ISA.
O sistema de plug-and-play do MCA funcionava com o uso de dois disquetes. O
"reference disk" continha um programa de configuração, que alterava a distribuição dos
endereços e outras configurações do BIOS e era fornecido junto com o micro. Ao
comprar qualquer periférico MCA, você recebia um "option disk", que era carregado
com a ajuda do primeiro disquete, configurando a placa. Uma vez feita, a configuração
se tornava permanente e você não precisava mais se preocupar. Embora rudimentar, este
sistema já seguia a mesma lógica da instalação de drivers, que temos nos dias de hoje.
O grande problema é que o MCA era um padrão proprietário, de forma que tanto outros
fabricantes de PCs quanto fabricantes de periféricos precisariam licenciar a tecnologia e
pagar royalties para produzir produtos compatíveis.
A IBM tentou usar o barramento como uma arma estratégica para recuperar o terreno
perdido para outros fabricantes. Surgiu então a linha IBM PS/2, uma família de micros
386 que, além do MCA, incorporava várias outras inovações importantes. O problema é
que os demais fabricantes não gostaram da idéia e a IBM acabou isolada, tendo que
arcar sozinha com o desenvolvimento e a produção das placas de expansão. Embora
possuíssem diversas vantagens, o fato dos IBM PS/2 possuírem apenas slots MCA
acabou se tornando mais um problema do que uma vantagem, já que isso os tornava
incompatíveis com as placas ISA, que eram mais baratas e populares. No final, o MCA
acabou se revelando um grande fracasso.
Inicialmente, os demais fabricantes continuaram produzindo micros 386 e 486
utilizando apenas periféricos ISA, o que resultava em limitações óbvias, sobretudo com
relação ao desempenho do HD e vídeo, o que os tornava praticamente inutilizáveis para
edição de imagens e vídeo, por exemplo, onde os Macs dominavam. Por utilizarem o
mesmo barramento dos micros 286 (também chamados de PC-AT), eles eram chamados
de "AT 386" ou "AT 486". O "AT" nesse caso indica uma limitação e não um recurso
extra. :)
Não demorou para que a Compaq desenvolvesse o EISA e abrisse as especificações
para os demais fabricantes, criando uma entidade sem fins lucrativos para impulsionar
seu desenvolvimento.
O EISA é um barramento peculiar. As dimensões são as mesmas de um slot ISA de 16
bits, porém o slot é mais alto e possui duas linhas de contatos. A linha superior mantém
a mesma pinagem de um slot ISA de 16 bits, de forma a manter a compatibilidade com
8. todos os periféricos, enquanto a linha inferior inclui 90 novos contatos, utilizados pelas
placas de 32 bits.
As placas ISA atingiam apenas os contatos superficiais do conector, enquanto as placas
EISA utilizavam todos os contatos. Embora o uso de tantos contatos esteja longe de ser
uma solução elegante, é preciso admitir que o EISA foi uma solução engenhosa para o
problema da compatibilidade:
Aqui temos os contatos de uma placa de vídeo EISA, que mostra a organização na
prática:
Os slots EISA eram tipicamente marrons, por isso lembram um pouco um slot AGP,
embora bem maiores:
Slot EISA
Assim como o ISA, o barramento EISA operava a 8.33 MHz. Entretanto, a transferência
de 32 bits por ciclo e a eliminação dos tempos de espera entre um ciclo e outro faziam
com que ele fosse até 4 vezes mais rápido.
O EISA acabou tendo uma vida curta, pois em 1993 surgiu o VLB (VESA Local Bus),
outro padrão aberto de barramento de 32 bits, que conseguia ser muito mais rápido,
trabalhando a uma freqüência nominal de 33 MHz e oferecendo taxas de transferência
teóricas de até 133 MB/s.
9. Inicialmente o VLB (ou VESA, como é chamado por muitos) surgiu como barramento
próprio para a conexão da placa de vídeo. Nesta época, o Windows 3.11 e os aplicativos
gráficos já eram populares, de forma que existia uma grande demanda por placas de
vídeo mais rápidas.
O "rápido" que menciono aqui é a simples capacidade de atualizar a tela em tempo real
enquanto edita uma imagem no Photoshop, não tem nada a ver com aceleração 3D ou
exibição de vídeo em alta resolução, como temos hoje em dia :). Além de serem muito
lentas, as placas de vídeo ISA eram limitadas à exibição de apenas 256 cores.
Graças à boa velocidade, o VLB acabou tornando-se o padrão também para outros
periféricos, como controladoras IDE e SCSI. Novamente, existiu a preocupação de
manter compatibilidade com as placas ISA, de forma que os slots VLB são na verdade
uma expansão, onde temos um slot ISA tradicional, seguido por um segundo conector,
que inclui os pinos adicionais:
Slots VLB
Isso rendeu o apelido de "Very Long Bus" (barramento muito comprido ;) e trouxe uma
série de problemas de mal contato, já que se a placa-mãe não estivesse muito bem presa
ao gabinete, a pressão necessária para encaixar as placas faziam com que a placa
envergasse, comprometendo o encaixe. A grande pressão necessária acabava
danificando os contatos com o tempo, o que, combinada com a oxidação natural,
acabava fazendo com que muitas placas realmente deixassem de funcionar depois de
removidas e reinstaladas algumas vezes.
O VLB é um barramento local, onde os contatos são ligados diretamente aos pinos do
processador. Esse design simples barateava a produção das placas-mãe, mas fazia com
que a utilização do processador fosse relativamente alta e não fosse possível utilizar
mais do que 3 placas VLB no mesmo micro.
O VLB se tornou rapidamente o padrão de barramento para placas para micros 486, mas
acabou desaparecendo com a introdução do barramento PCI. Uma curiosidade é que as
primeiras placas para micros Pentium (a primeira geração, que oferecia suporte apenas
aos Pentium de 60 e 75 MHz) chegaram a incluir slots VLB, utilizando uma versão
adaptada do barramento.