Aula 4 os barramentos

13
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

Transcript of Aula 4 os barramentos

Page 1: Aula 4   os barramentos

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.

Page 2: Aula 4   os barramentos

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.

Page 3: Aula 4   os barramentos

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.

Page 4: Aula 4   os barramentos

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:

Page 5: Aula 4   os barramentos

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 :).

Page 6: Aula 4   os barramentos

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á.

Page 7: Aula 4   os barramentos

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

Page 8: Aula 4   os barramentos

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.

Page 9: Aula 4   os barramentos

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.