Tecnologia PCI Express

Introdução

O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade de evolução é incentivada principalmente por aplicações como jogos, vídeos em alta definição e internet em banda larga. No que se refere às áreas gráficas, os avanços são incríveis, porém exigem e geram maior volume de dados. Para lidar com essa realidade, uma das medidas da indústria foi a criação do barramento PCI Express, o substituto dos barramentos PCI (Peripheral Component Interconnect) e AGP (Accelerated Graphics Port) - saiba mais sobre estas tecnologias neste link. O objetivo deste artigo é mostrar as principais características dessa tecnologia, além de alguns de seus detalhes técnicos, de forma que você possa conhecer os seus benefícios e os motivos de sua adoção.


Tecnologia PCI Express

O padrão PCI surgiu no início da década de 1990 e, por mais de 10 anos, foi o barramento mais utilizado para a conexão de dispositivos ao computador, principalmente placas de vídeo, placas de som, placas de rede e placas de modem. O barramento PCI trabalha com 32 bits por vez na transferência de dados (mas há alguns slots PCI que funcionam a 64 bits), o que permite ao padrão atingir a velocidade (teórica) de até 132 MB por segundo.

Logotipo PCI ExpressComo as aplicações em 3D exigem, cada vez mais, taxas de transferências maiores, o barramento AGP foi inserido no mercado, oferecendo velocidades que vão de 266 MB por segundo (no padrão AGP 1X) à 2128 MB por segundo (no padrão AGP 8X). Praticamente todas as placas-mãe com suporte a AGP só possuem um slot desse tipo, já que este padrão é usado exclusivamente por placas de vídeo.

O problema é que, mesmo oferecendo velocidades acima de 2 GB por segundo, a indústria percebeu que o slot AGP 8X não suportaria os avanços seguintes em aplicações gráficas, não só por limitações na taxa de transferência de dados, mas também pelo uso de recursos que a tecnologia não suporta. Ainda, é necessário considerar que, apesar do AGP ter vantagens bastante razoáveis, seu uso é destinado apenas às aplicações de vídeo. Acontece que aplicações de áudio e rede, por exemplo, também evoluem.

Na busca de uma solução para esses problemas, a indústria de tecnologia trabalhou (e trabalha) no barramento PCI Express, cujo nome inicial era 3GIO. Trata-se de um padrão que proporciona altas taxas de transferência de dados entre o computador em si e um dispositivo - por exemplo, entre a placa-mãe e uma placa de vídeo 3D.

A tecnologia PCI Express conta com um recurso que permite o uso de uma ou mais conexões seriais, isto é, "caminhos" (também chamados de lanes) para transferência de dados. Se um determinado dispositivo usa um caminho, então diz-se que este utiliza o barramento PCI Express 1X. Se utiliza 4 conexões, sua denominação é PCI Express 4X e assim por diante. Cada lane pode ser bidirecional, ou seja, pode receber e enviar dados.

Cada conexão usada no PCI Express trabalha com 8 bits por vez, sendo 4 bits em cada direção. A freqüência usada é de 2,5 GHz, mas esse valor pode variar. Assim sendo, o PCI Express 1X consegue trabalhar com taxas de cerca 250 MB por segundo, um valor bem mais alto que os 132 MB do padrão PCI.

Atualmente, o padrão PCI Express trabalha com até 16X, o equivalente a 4000 MB por segundo. Possivelmente, com o passar do tempo, esse limite aumentará. Já se sabe inclusive que a implementação de um barramento com 32 bits é possível. A tabela abaixo mostra os valores das taxas do PCI Express comparadas às taxas do padrão AGP:

AGP
PCI Express
AGP 1X: 266 MB por segundo PCI Express 1X: 250 MB por segundo
AGP 4X: 1064 MB por segundo PCI Express 2X: 500 MB por segundo
AGP 8X: 2128 MB por segundo PCI Express 8X: 2000 MB por segundo
  PCI Express 16X: 4000 MB por segundo

É importante frisar que o padrão 1X é pouco utilizado e, devido a isso, há empresas que chamam o PCI Express 2X de PCI Express 1X. Assim sendo, o padrão PCI Express 1X pode representar também taxas de transferência de dados de 500 MB por segundo.


Como surgiu o PCI Express

A Intel é uma das grandes precursoras de inovações tecnológicas. No início de 2001, em um evento próprio, a empresa mostrou a necessidade de criação de uma tecnologia capaz de substituir o padrão PCI: tratava-se do 3GIO (Third Generation I/O - 3a geração de Entrada e Saída). Em agosto desse mesmo ano, um grupo de empresas chamado de PCI-SIG (composto por companhias como IBM, AMD e Microsoft) aprovou as primeiras especificações do 3GIO.

Entre os quesitos levantados nessas especificações, estão os que se seguem: suporte ao barramento PCI, possibilidade de uso de mais de uma lane, suporte a outros tipos de conexão de plataformas, melhor gerenciamento de energia, maior proteção contra erros, entre outros.

Em abril de 2002, o PCI-SIG aprovou um conjunto de especificações mais completas. Foi nessa época que a tecnologia 3GIO mudou seu nome para PCI Express. Em julho de 2002, o grupo de empresas aprovou as especificações finais do padrão e então surgiu oficialmente no mercado o PCI Express 1.0, que posteriormente foi revisto e se tornou PCI Express 1.1.

Em novembro de 2003, os primeiros dispositivos com a tecnologia PCI Express passaram a ser desenvolvidos e, em 2004, esses produtos começaram a chegar ao mercado, principalmente por força das empresas que trabalham com chips gráficos.


Aspectos de arquitetura

A arquitetura básica do padrão PCI Express é dividida em 4 camadas: physical (física), data link (ligação), software e transaction (transação):

Camada physical (física) - a camada física é o caminho, isto é, a conexão conhecida como lane. Ela possui 2 pares de sinais (especificados através de voltagens diferentes), sendo um utilizado para transmissão de dados e outro usado na recepção destes. Essa atividade é feita de maneira serial (como se os dados "trafegassem em fila"), porém de forma ponto-a-ponto (do dispositivo diretamente para o chipset);

Camada data link (ligação) - essa camada é responsável por garantir o envio e o recebimento correto dos dados. Para isso, são usados, essencialmente, protocolos de detecção de erros. Um ponto interessante é que essa camada trabalha com uma técnica conhecida como Flow Control Protocol, que faz com que os pacotes de dados sejam transmitidos apenas se houver espaço disponível no buffer do receptor. Assim, evita-se o reenvio de dados;

Camada software - é essa a camada responsável pela comunicação com o sistema operacional. É por ela, por exemplo, que o sistema sabe onde há um dispositivo utilizando o PCI Express;

Camada transaction (transação) - a camada transaction é responsável, basicamente, pelo tratamento de solicitações entre as camadas de software e de ligação. Para lidar com isso, os pacotes de dados podem receber atributos - como o de prioridade - que definem a otimização da transmissão.

É importante frisar que cada camada pode trabalhar de maneira individual, ou seja, sem interferir na outra. Além disso, há um recurso no PCI Express chamado Virtual Channels (canais virtuais), que permite até 8 diferentes canais de comunicação em uma única conexão. Através de atributos especiais, o barramento consegue determinar quais os pacotes prioritários na transmissão. Assim, aplicações em tempo real, por exemplo, são pouco ou nada prejudicadas.


PCI Express 2.0

No início de 2007, o grupo PCI-SIG apresentou O PCI Express 2.0. Em sua essência, as mudanças nas especificações da tecnologia refletem no aumento de sua capacidade de transmissão de dados. Com o PCI Express 2.0, cada lane é capaz de transmitir até 500 MB por segundo, ou seja, o dobro de velocidade da versão 1.1. Com isso, um slot de 16X, por exemplo, passa a ser capaz de trabalhar com uma taxa de transferência de dados de até 8 GB por segundo.

É importante frisar que o PCI Express 2.0 é compatível com as especificações anteriores. Isso significa que você poderá utilizar, por exemplo, uma placa de vídeo desenvolvida para funcionar no PCI Express 1.1 em uma placa-mãe com a versão 2.0, mesmo porque o slot não muda.

Por sua vez, alguns dispositivos fabricados para trabalhar com o PCI Express 2.0 podem executar com as versões anteriores da tecnologia, mas isso não é regra: se o dispositivo exigir uma taxa de transferência de dados superior à suportada pelo PCI Express 1.1, obviamente, só funcionará em PCI Express 2.0.


Conectores do PCI Express

O conector (slot) do padrão PCI Express em placas-mãe pode variar conforme a velocidade usada, como mostra a imagem abaixo (retirada do site www.pcisig.com):

Tipos de conectores

A imagem a seguir mostra uma placa de vídeo 3D da Asus, modelo Extreme AX800XT PE/2DHTV, que usa o barramento PCI Express 16X:

Placa de vídeo PCI Express

Já a figura seguinte mostra em uma placa-mãe diferentes slots PCI Express. O encaixe branco é um PCI Express 16X, enquanto que o slot preto e menor é um slot PCI Express 1X:

Placa-mãe com PCI Express


Finalizando

Antes de encerrar este texto, uma observação relativamente importante: apesar de ser comum - inclusive em sites de informática - tratar a tecnologia PCI Express como um barramento, essa denominação não é necessariamente correta. Em um barramento, entende-se ser possível a conexão de vários dispositivos simultaneamente. Isso significa que tais dispositivos dividem o mesmo meio de comunicação. Com o PCI Express, no entanto, isso não acontece, já que a conexão ocorre entre dois dispositivos, de modo ponto-a-ponto. Em outras palavras, cada slot PCI Express utiliza um caminho exclusivo para se comunicar com o chipset da placa-mãe.

Mas o que realmente importa é que o padrão PCI Express tem conseguido atender à evolução das tecnologias computacionais, especialmente nos segmentos gráficos, que exigem cada vez mais recursos de hardware. E vem mais por aí: o grupo SIG-PCI pretende lançar em 2009 a versão 3.0 do PCI Express. É esperar para aproveitar :)

Para saber mais detalhes da tecnologia PCI Express, visite o seu site oficial, em www.pcisig.com.

Escrito por - Publicado em 06_03_2005 - Atualizado em 25_08_2008