O PCI Express

Ao longo da história da plataforma PC, tivemos uma extensa lista de barramentos, começando com o ISA de 8 bits, usado nos primeiros PCs, passando pelo ISA de 16 bits, MCA, EISA, e VLB, até finalmente chegar no barramento PCI, que sobrevive até os dias de hoje.

O PCI é um barramento de 32 bits, que opera a 33 MHz, resultando em uma banda total de 133 MB/s, compartilhada entre todos os periféricos ligados a ele. O PCI trouxe recursos inovadores (para a época), como o suporte a plug-and-play e bus mastering e, comparado com os barramentos antigos, ele é relativamente rápido. O grande problema é que ele surgiu no começo da era Pentium, quando os processadores ainda trabalhavam a 100 MHz. Hoje em dia temos processadores quad-core se aproximando da casa dos 4 GHz e ainda assim ele continua sendo usado, com poucas melhorias.

Por ser compartilhado entre todos os dispositivos ligados a ele, o barramento PCI pode ser rapidamente saturado, com alguns dispositivos rápidos disputando toda a banda disponível. O barramento se torna então um gargalo, que limita o desempenho global do PC.

A fase mais negra da história do barramento PCI foi durante a época das placas soquete 7 (processadores Pentium, Pentium MMX, K6 e 6×86), quando o barramento PCI era o responsável por praticamente toda a comunicação entre os componentes da placa-mãe, incluindo todos os periféricos, a comunicação entre as pontes norte e sul do chipset, as interfaces IDE, etc. Até mesmo o antigo barramento ISA era ligado ao PCI através do PCI-to-ISA bridge (ponte PCI-ISA), um controlador usado nos chipsets da época.

Isso fazia com que o barramento ficasse incrivelmente saturado, limitando severamente o desempenho do micro. Eram comuns situações onde o desempenho do HD era limitado ao rodar games 3D, pois a placa de vídeo saturava o barramento, não deixando espaço suficiente para os demais componentes.

A história começou a mudar com o aparecimento do barramento AGP. Ele desafogou o PCI, permitindo que a placa de vídeo tivesse seu próprio barramento rápido de comunicação com o chipset. O AGP matou dois coelhos com uma cajadada só, pois permitiu o aparecimento de placas 3D mais rápidas e desafogou a comunicação entre os demais componentes. Rapidamente todas as placas de vídeo passaram a utilizá-lo, com os fabricantes oferecendo versões PCI apenas dos modelos mais simples.

O passo seguinte foi a criação de barramentos dedicados para a comunicação entre os diversos componentes do chipset (como o DMI, usado em chipsets Intel, e o HyperTransport), fazendo com que as interfaces IDE ou SATA e outros componentes também ganhassem seu canal exclusivo. O PCI passou então a ser exclusividade das próprias placas PCI.

O problema é que, mesmo desafogado, o PCI é muito lento para diversas aplicações. É lento demais para ser utilizado por placas de rede Gigabit Ethernet (embora seja suficiente na teoria, na prática a história é um pouco diferente, devido ao compartilhamento da banda), por placas SCSI modernas, ou mesmo por placas RAID e controladoras eSATA. Além disso, os slots PCI utilizam um número muito grande de trilhas na placa-mãe, o que é dispendioso para os fabricantes.

Existiram tentativas de atualização do PCI, como o PCI de 64 bits, o PCI de 66 MHz e o PCI-X, que além de ser um barramento de 64 bits, trabalha a 133 MHz, resultando num barramento de 1024 MB/s. Em termos de velocidade, o PCI-X supriria as necessidades dos periféricos atuais, o problema é que, devido ao grande número de contatos e ao tamanho físico dos slots, ele acaba sendo um barramento muito dispendioso e imprático, que ficou relegado aos servidores parrudos. Aqui temos três slots PCI-X, ao lado de slots PCI “normais” em uma workstation da HP:

Slots PCI-X, em comparação com slots PCI comuns

Slots PCI-X, em comparação com slots PCI comuns

O PCI Express, ou PCIe, é um barramento serial, que tem pouco em comum com os barramentos anteriores. Graças a isso, ele acabou se tornando o sucessor não apenas do PCI, mas também do AGP.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X