Barramento PCI Express

Slots PCI Express

O  processador  se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PCem 1981 até os dias de hoje, uma série de tipos de barramentos foram desenvolvidos para permitir a comunicação dos periféricos de entrada e saída com o processador: ISA, EISA, MCA, VLB, PCI, AGP, PCI Express, USB, Firewire.

 A principal diferença entre os diversos tipos de barramentos está na quantidade de bits que podem ser transmitidos por vez e na freqüência de operação utilizada. Atualmente, os dois tipos de barramentos de expansão mais rápidos do micro são os barramentos PCI e AGP. Na tabela abaixo listamos as taxas de transferência desses barramentos. O barramento PCI-X é uma extensão do barramento PCI .

Barramento

Clock

Número de bits

Dados por pulso de clock

Taxa de Transferência

PCI

33 MHz

32

1

133 MB/s

PCI

66 MHz

32

1

266 MB/s

PCI

33 MHz

64

1

266 MB/s

PCI

66 MHz

64

1

533 MB/s

PCI-X 64

66 MHz

64

1

533 MB/s

PCI-X 133

133 MHz

64

1

1.066 MB/s

PCI-X 266

133 MHz

64

2

2.132 MB/s

PCI-X 533

133 MHz

64

4

4.266 MB/s

AGP x1

66 MHz

32

1

266 MB/s

AGP x2

66 MHz

32

2

533 MB/s

AGP x4

66 MHz

32

4

1.066 MB/s

AGP x8

66 MHz

32

8

2.133 MB/s

O barramento PCI foi lançado pela Intel em junho de 1992. Desde então, praticamente todos os periféricos de expansão do micro, tais como discos rígidos, placas de som, placas de rede e placas de vídeo utilizam o barramento PCI. Acontece que a taxa de transferência máxima do barramento PCI, 133 MB/s, mostrou-se insuficiente para aplicações 3D modernas e estava limitando o desenvolvimento de placas de vídeo mais sofisticadas. Para resolver esse problema, a Intel criou um novo barramento, chamado AGP, com o intuito de aumentar a taxa de transferência das placas de vídeo e fazer com que elas não fossem mais instaladas no barramento PCI, e sim no barramento AGP, que é mais rápido. Com isso, o barramento PCI ficou mais “folgado”, já que as placas de vídeo eram grandes responsáveis pelo intenso tráfego no barramento PCI.

Para mais informações sobre o barramento AGP leia nosso tutorial Barramento AGP.

Com o advento de chips gráficos mais rápidos e de novas tecnologias de rede, como a Gigabit Ethernet, e da tecnologia RAID, novamente a taxa de transferência máxima do barramento PCI mostrou ser insuficiente para suportar essas novas aplicações. Algo precisava ser feito e a resposta veio com o lançamento do barramento PCI Express.

Neste tutorial explicaremos em detalhes o funcionamento do barramento PCI Express e suas diferenças para o barramento PCI.

Obs: Tecnicamente falando, o PCI Express não é um barramento. Barramento é um caminho de dados onde você pode ligar vários dispositivos ao mesmo tempo, compartilhando este caminho de dados. O PCI Express é uma conexão ponto-a-ponto, isto é, ele conecta somente dois dispositivos e nenhum outro dispositivo pode compartilhar esta conexão. Para clarificar: em uma placa-mãe com slots PCI comuns, todos os slots PCI são conectados ao barramento PCI e todos compartilham o mesmo caminho de dados. Em uma placa-mãe com slots PCI Express, cada slot PCI Express é conectado ao chipset da placa-mãe usando uma pista dedicada, não compartilhando esta pista (caminho de dados) com nenhum outro slot PCI Express. Em nome da simplificação, estamos chamando o PCI Express de “barramento”, visto que para usuários comuns o termo “barramento” é facilmente reconhecido como “caminho de dados entre dispositivos”.

De Paralelo para Serial

O barramento PCI Express (originalmente conhecido como 3GIO) representa um avanço extraordinário na forma como os dispositivos periféricos se comunicam com o micro. Ele diferencia-se do barramento PCI em vários aspectos, mas o principal deles é a forma com que os dados são transferidos. O barramento PCI Express é mais um exemplo de como as transferências de dados com o micro estão migrando da comunicação paralela para a comunicação em série.

Praticamente todos os barramentos do micro (ISA, EISA, MCA, VLB, PCI e AGP) utilizam comunicação paralela. A comunicação paralela diferencia-se da serial por transmitir vários bits por vez, enquanto que na comunicação em série é transmitido apenas um bit por vez. Isso faz com que, em princípio, a comunicação paralela seja mais rápida do que a serial, já que quanto maior for o número de bits transmitidos por vez, mais rápida será a comunicação.

Como comentamos anteriormente, cada bit na comunicação paralela é transmitido em um fio separado. Acontece que, em uma placa-mãe, é quase impossível fazer com que esses 32 fios tenham exatamente o mesmo comprimento. Nos PCs mais antigos esta diferença no comprimento dos fios não alterava o funcionamento do barramento, mas com o aumento na velocidade com que os dados são transmitidos (clock), dados transmitidos em fios mais curtos começaram a chegar antes do restante dos dados, transmitidos em fios mais longos. Ou seja, os bits da comunicação paralela começaram a chegar fora de ordem.

Acontece que a comunicaçãoparalela sofre de alguns problemas que impedem que clocks maiores sejam alcançados nas transmissões. Quanto maior for o clock, maiores serão os problemas de interferência magnética e de atraso de propagação.

 Quando a corrente elétrica passa por um fio, é criado um campo eletromagnético ao redor. Se o campo eletromagnético criado pelo fio for muito forte, será gerado um ruído no fio adjacente, corrompendo a informação que estiver sendo transmitida. Como na transmissão paralela vários bits são transmitidos por vez, cada bit envolvido na transmissão utiliza um fio. Por exemplo, em uma comunicação de 32 bits (como é o caso do slot PCI) são necessários 32 fios só para transmitir os dados, fora sinais adicionais de controle que são necessários. Quanto maior o clock, maior é o problema de interferência eletromagnética.

 

 Como conseqüência, o dispositivo receptor tem que aguardar a chegada de todos os bits para que o dado completo seja processado, o que representa uma queda significativa no desempenho. Esse problema é conhecido como atraso de propagação e, como comentamos, é agravado com o aumento da freqüência de operação (clock).

 O projeto de um barramento usando comunicação em série é muito mais simples de ser implementado do que usando comunicação paralela, já que apenas dois fios são necessários para transmissão dos dados (um fio para a transmissão dos dados e um terra). Além disso, a comunicação em série permite operar com clocks muito maiores do que na comunicação paralela, já que nesta última os problemas de interferência eletromagnética e atraso de propagação aparecem com maior incidência, o que impede que clocks elevados sejam alcançados nas transmissões.

 Outra diferença na comunicação paralela para a comunicação em série é que, por causa da alta quantidade de fios necessária para a sua implementação, a comunicação paralela normalmente é half-duplex (os mesmos fios são usados tanto para a transmissão quanto para a recepção de dados), enquanto que a comunicação em série, por precisar de apenas dois fios, é full-duplex (há um conjunto separado de fios para a transmissão e outro para a recepção).

 Por esses motivos que os engenheiros adotaram a comunicação em série no barramento PCI Express em vez da comunicação paralela.

 Você pode estar se perguntando: mas a comunicação em série não é mais lenta? Não necessariamente, e o barramento PCI Express é um bom exemplo: se for usado um clock maior, a comunicação em série é mais rápida do que a paralela. 

Funcionamento



O barramento PCI Express foi desenvolvidopara substituir os barramentos PCI e AGP. Ele é compatível em termos de software com o barramento PCI, o que significa que os sistemas operacionais e drivers antigos não precisam sofrer modificações para suportar o barramento PCI Express.

 O barramento PCI Express é um barramento serial trabalhando no modo full-duplex. Os dados são transmitidos nesse barramento através de dois pares de fios chamados pista utilizando o sistema de codificação 8b/10b, o mesmo sistema usado em redes Fast Ethernet (100BaseT, 100 Mbps). Cada pista permite obter taxa de transferência máxima de 250 MB/s em cada direção, quase o dobro da do barramento PCI. O barramento PCI Express pode ser construído combinando várias pistas de modo a obter maior desempenho.

 Podemos encontrar sistemas PCI Express com 1, 2, 4, 8, 16 e 32 pistas. Por exemplo, a taxa de transferência de um sistema PCI Express com 8 pistas (x8) é de 2 GB/s (250 * 8). 

 Na tabela abaixo comparamos as taxas de transferências dos barramentos PCI, AGP e PCI Express.

 

Barramento

Taxa de Transferência

PCI

133 MB/s

AGP 2x

533 MB/s

AGP 4x

1.066 MB/s

AGP 8x

2.133 MB/s

PCI Express x1

250 MB/s

PCI Express x2

500 MB/s

PCI Express x4

1.000 MB/s

PCI Express x16

4.000 MB/s

PCI Express x32

8.000 MB/s

 

 

OBS.: O barramento PCI Express é hot plug, ou seja, é possível instalarmos e removermos placas PCI Express mesmo com o micro ligado.

 Tipos de Slots

 

O barramento PCI Express define um tipo diferente de slot baseado na quantidade de pistas do sistema. Por exemplo, o tamanho físico do slot do barramento PCI Express x1 é diferente da do barramento PCI Express x4. Na Figura abaixo se pode perceber a diferença entre os slots do barramento PCI Express.

 

 

Tipos de Slots

Veja Abaixo Placa-mãe e os disverentes tipos de Slots PCI Express.

 
 

 

 

Slots PCI Express