O desenvolvimento de computadores cada vez mais rápidos e eficientes é realidade há muito tempo. No que se refere aos PCs (Personal Computer), um dos principais incentivadores da busca pela inovação são as aplicações multimídia (jogos, vídeo em boa definição, etc). Cada vez mais tais aplicações dependem de hardware mais poderoso. Um dos frutos dessa evolução é o barramento PCI Express, o substituto do barramento PCI (Peripheral Component Interconnect) e do barramento AGP (Accelerated Graphics Port). Este estudo mostra as principais características e alguns detalhes técnicos.
Barramento 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 modems. O barramento PCI trabalha com 32 bits por vez (mas há alguns slots PCI que funcionam a 64 bits), o que permite atingir a velocidade de 132 MBps.
Como as aplicações em 3D exigiam taxas maiores, o barramento AGP foi inserido no mercado, oferecendo taxas que vão de 266 MBps (no padrão AGP 1x) a 2128 MBps (no padrão AGP 8x). Praticamente todas as placas-mãe com suporte a AGP só possuem um slot desse tipo, já que é usado exclusivamente por placas de vídeo.
O problema é que, mesmo oferecendo velocidades acima de 2 GBps, o slot AGP 8x não suportará aplicações que estão para surgir e que precisam de taxas ainda maiores. Além disso, tais aplicações poderão ter outros requisitos que o AGP não oferece. 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 som 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 ele 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, recebe e envia dados.
Cada conexão usada no PCI Express trabalha com 8 bits por vez, sendo 4 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 250 MBps, um valor bem maior que os 132 MB do padrão PCI.
Atualmente, o padrão PCI Express trabalha com até 16x, o equivalente a 4000 MBps. Certamente, com o passar do tempo, esse limite aumentará. A tabela abaixo mostra os valores das taxas do PCI Express comparadas às taxas do padrão AGP:
Figura 5 - Comparação entre as taxas AGP e PCI Express
É 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 MBps.
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 - 3ª 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, entre outros, 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, melhor proteção contra erros.
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.
Em novembro de 2003, os primeiros dispositivos com a tecnologia PCI Express passaram a ser desenvolvidos e, em 2004, tais produtos começaram a chegar ao mercado, principalmente por força das empresas que trabalham com chips gráficos.
Aspectos de arquitetura
A arquitetura essencial do padrão PCI Express é dividida em 4 camadas:
● Camada physical (física) - a camada física é o barramento de conexão conhecido como lane. Ela possui 2 pares de sinais (especificados através de níveis de tensão diferentes), sendo um utilizado para transmissão de dados e outro, na recepção.
● 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 (pequeno espaço de memória no dispositivo) do receptor. Assim, evita-se o reenvio de dados.
● Camada software - essa 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 ser trabalhada 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.
Conectores do PCI Express
O conector do barramento PCI Express em placas-mãe pode variar conforme a velocidade usada, como mostra a figura abaixo :
Figura 6 - Variação da velocidade conforme diferentes conectores (retirada do site www.pcisig.com)
A figura a seguir mostra uma placa de vídeo 3D da Asus que usa o barramento PCI Express 16x:
Figura 7 - Placa de vídeo 3D da Asus, modelo Extreme AX800XT PE/2DHTV
Já a figura seguinte mostra uma placa-mãe da Asus com suporte a diferentes slots PCI Express:
Figura 8 - Placa-mãe da Asus com suporte a diferentes slots PCI Express
Finalizando
A tecnologia PCI Express se mostra muito promissora e certamente será um padrão em pouco tempo. Dos assuntos já tratados, esse é um dos que mais impressionam. Isso por que o PCI Express pode ser flexível ao ponto de aumentar ainda mais velocidade ou ao ponto de criar novos tipos de conexão. Com o aumento na velocidade dos chips de memória e com a elevação da capacidade de processamento, principalmente com o surgimento de processadores de 64 bits, máquinas cada vez mais poderosas estão por vir. É esperar e aproveitar.