A história dos barramentos de expansão do PC (Parte 4 - Barramentos PCI e PCI-X)

Este novo texto da série sobre os barramentos de expansão do PC será sobre o primeiro barramento considerado moderno, o PCI, e também sobre a sua evolução, o PCI-X. Enquanto que até a parte anterior demonstrei o funcionamento de barramentos que já caíram em desuso como o ISA, MCA, EISA e VLB (devido à importância histórica destes padrões), o PCI ainda é muito utilizado até os dias atuais. Tenham uma boa leitura!

A lendária placa de vídeo 3dfx Voodoo2 PCI de 5 V


O contexto histórico

Conforme vimos no texto sobre o barramento VLB, no final dos anos 1980 e início dos 1990 faltava ao PC um barramento capaz de suportar as novas demandas computacionais que estavam surgindo, notavelmente as aplicações multimídia que utilizavam intensivamente a interface de vídeo. O antigo e lento ISA era inadequado e a falta de um consenso da indústria sobre o desenvolvimento de um novo padrão levou a VESA, associação de fabricantes de dispositivos de vídeo, a desenvolver o seu próprio barramento, o VLB (VESA Local Bus).

O VLB resolveu o problema da baixa taxa de transferência do ISA e foi um grande sucesso, porém algumas deficiências no seu projeto fizeram com que ele entrasse em um rápido declínio. O principal problema da implementação do VLB era a sua grande dependência do barramento local do processador 80486, que se tornou um grande limitador com o lançamento do Pentium em 1993 cujo barramento local era totalmente incompatível com o VLB.

Uma versão do VLB para o barramento local do Pentium até chegou a ser desenvolvida, mas não foi aplicada em praticamente nenhuma placa mãe para este processador. Com a iminência da chegada do Pentium a Intel encabeçou um novo padrão de barramento que foi revolucionário em vários aspectos.

Barramento PCI

Lançado em 1992, o barramento PCI (Peripheral Component Interconnect, ou Interconexão de Componentes Periféricos) representou uma grande evolução e um rompimento definitivo com o antigo ISA. Enquanto que os padrões EISA e VLB eram extensões do ISA que mantinham total compatibilidade com as antigas placas de expansão deste barramento, o PCI abandonou este conceito e introduziu um novo tipo de slot e novas especificações mecânicas, elétricas e de sinalização, principalmente para não haver nenhum tipo de limitação introduzida pela retrocompatibilidade como ocorreu com os já citados EISA e VLB.

Slots PCI de 32 bits e 33 Mhz de 5 V (brancos) juntamente com os antigos ISA

Diferentemente do VLB, o PCI não está conectado diretamente ao barramento local do processador e para a comunicação com este é utilizado um chip (que pode ser discreto ou integrado aos circuitos de apoio da placa mãe) que faz a ponte PCI-barramento local, sendo a interface entre a sinalização dos dois barramentos. Desta forma é possível tornar o PCI compatível com o barramento local de qualquer processador apenas adequando este chip, o que lhe garante uma enorme flexibilidade. Para termos uma ideia desta flexibilidade, o PCI esteve presente desde as últimas placas mãe para o processador 80486 até muitas placas atuais! Os demais problemas crônicos apresentados pelo VLB, tais como o alto consumo elétrico e problemas mecânicos no encaixe das placas se tornaram coisa do passado com o PCI.

Falando em consumo elétrico, existem dois padrões de placas e slots PCI: os que operam com uma tensão de alimentação de 5 V (os mais comuns) e os que trabalham em 3,3 V. Nos slots e placas de 5 V o chanfro fica na direita (como nas imagens mostradas acima) enquanto que nas 3,3 V ele fica na esquerda. Existem também placas que podem funcionar nos dois padrões, como a mostrada abaixo:


Placa de vídeo compatível com slots de 5 V e 3,3 V: note os dois chanfros

A implementação inicial (e a mais utilizada) do PCI possui uma frequência de operação de 33 MHz e largura de dados de 32 bits, gerando uma taxa de transferência de 132 MB/s (o que rivalizava com o VLB em termos de desempenho). Também foram lançadas algumas outras revisões do barramento PCI as quais não foram muito utilizadas em PCs domésticos, estando mais presentes em placas mãe para servidores:
  • De 64 bits e 33 MHz (264 MB/s);
  • De 32 bits e 66 MHz (264 MB/s);
  • De 64 bits e 66 MHz (528 MB/s).  

Os slots maiores são PCI de 64 bits e 66 MHz

O PCI também foi o primeiro barramento totalmente compatível com a especificação Plug and Play a ser lançado. Desta forma todas as placas PCI trazem consigo uma pequena memória ROM que informa ao sistema operacional quais os recursos que o dispositivo necessita, permitindo também que alterações destes recursos sejam feitas diretamente pelo sistema operacional. Cada placa adaptadora PCI tem acesso a até 256 endereços de I/O e suporta a técnica de compartilhamento de IRQ. Desta forma, conflitos de endereçamento de I/O e de IRQ são praticamente inexistentes entre placas PCI.

O padrão também possui suporte completo ao modo Bus Mastering, o qual permite que as placas adaptadoras possam acessar a memória principal e trocarem dados entre si sem a intermediação do processador, sendo uma evolução do antigo método DMA. Para um melhor entendimento dos conceitos de endereçamento de I/O, IRQ, DMA, Bus Mastering e Plug and Play recomendo a leitura da Parte 1 e da Parte 2 deste especial onde eu explico em detalhes estes conceitos.

O PCI-X

O barramento PCI-X (Peripheral Component Interconnect eXtended, ou Interconexão Estendida de Componentes Periféricos) foi uma versão ampliada do PCI para uso em servidores onde este barramento apresentava saturação em uso severo. Placas adaptadoras de rede Gigabit Ethernet e controladoras de disco são exemplo de dispositivos que demandam uma alta taxa de transferência e que em servidores levam o PCI ao limite.

Proposto inicialmente em 1998 por um consórcio composto pela IBM, HP e Compaq, a primeira revisão deste barramento tinha uma largura de dados de 64 bits com duas frequências de operação, de 66 MHz e 133 MHz, oferecendo uma taxa de transferência de 528 MB/s e 1064 MB/s respectivamente.

Slots PCI-X (verde escuro), virtualmente idênticos aos slots PCI de 64 bits

Da mesma forma que no PCI tradicional existem placas e slots PCI-X tanto de 5 V quanto de 3,3 V. Slots PCI-X também são compatíveis com placas PCI comuns.

Placa controladora de disco SCSI PCI-X

Em 2003 uma segunda revisão do barramento PCI-X foi proposta, a qual aumentava a frequência de operação para 266 MHz (com taxa de transferência de 2128 MB/s) e 533 MHz (4264 MB/s). Esta nova revisão atualizava o algoritmo de correção de erros do protocolo de modo a tornar possível tais frequências de operação, mantendo compatibilidade com placas PCI-X 1.0 e PCI tradicionais. Porém nesta época o novo barramento PCI Express já começava a tomar forma e poucos fabricantes de servidores aderiram ao PCI-X 2.0 devido à sua maior complexidade de implementação - basicamente apenas a IBM e a HP lançaram equipamentos compatíveis com o padrão.

E chegamos ao final de mais uma parte! Um grande abraço e até a próxima!

Próximo:

Comentários