O PCI Express , abreviado PCI-E ou PCIe (anteriormente 3GIO, 3rd Generation Input / Output ) é um padrão desenvolvido pela Intel e introduzido em 2004. Ele especifica um barramento serial local ("barramento PCI Express") e um conector que é usado para conectar placas de expansão à placa - mãe de um computador. Destina-se a substituir todos os slots de expansão em um PC, incluindo PCI e AGP .
A especificação 4.0 foi lançada em 2017 e a versão 5.0 está prevista para 2019.
Uma vantagem notável do barramento PCIe é que duas placas PCIe podem se comunicar sem passar pelo processador.
Uma vantagem do PCI Express é que ele é derivado do padrão PCI ( Peripheral Component Interconnect ), que permite aos fabricantes simplesmente adaptar suas placas de expansão existentes, já que apenas a camada de hardware precisa ser alterada. Por outro lado, é rápido o suficiente para substituir não apenas o PCI convencional, mas também o AGP, uma porta rápida para placas de vídeo.
PCI Ao invés do que está ligado ao southbridge da placa-mãe, PCI Express é frequentemente disponíveis em ambos os northbridge e southbridge , foi ainda integrado nodezembro de 2015para alguns microprocessadores .
Enquanto o PCI usa um único barramento bidirecional alternado ( half duplex ) de 32 bits para todos os periféricos, o PCI Express usa uma interface serial (1 bit de largura) baseada em linhas bidirecionais distribuídas em 8 pinos. Podemos então falar de uma placa-mãe com 20 pistas PCIe. Uma linha teoricamente permite trocas full duplex a 250 MB / s para a versão 1.1 do protocolo. Os vários periféricos então se comunicam trocando pacotes e a arbitragem do barramento PCI é substituída por um switch. O princípio de operação é semelhante à comutação de pacotes de acordo com um modelo de quatro camadas:
Falamos de portas PCIe × 1, × 2, × 4, × 8, × 16 e × 32 para diferenciar as portas de acordo com o número de conectores de linha que possuem (respectivamente 1, 2, 4, 8, 16 ou 32 linhas no máximo ) Uma porta × 32 pode teoricamente atingir uma velocidade de 8 Gb / s ou 4 vezes a velocidade das portas AGP .
Uma porta × 16, por exemplo, só pode ser conectada a 8 pistas PCIe; ainda deve haver um fornecimento de energia elétrica necessária para as placas × 16 . Uma placa de expansão × 16 funcionará nesta porta (mas provavelmente com desempenho abaixo do ideal), porque o protocolo PCIe fornece negociação mútua do número máximo de linhas suportadas pelas duas entidades relacionadas. Da mesma forma, um cartão (exemplo: × 1) pode ser conectado e funcionará corretamente em uma porta maior (exemplo: × 2,…, × 32) ....
Em 2007, surgiu a segunda geração do PCIe (gen 2.0), permitindo, entre outras coisas, aumentar a velocidade de 250 para 500 MB / s por direção por link (a velocidade da primeira geração gen 1.0 é dobrada). Em fevereiro do mesmo ano, foi publicado o padrão “ External PCI Express 1.0 ” ( ePCIe 1.0 , Cabled PCIe 1.0 ), que permite a conexão de periféricos externos ao barramento PCIe, utilizando uma placa que permite o redirecionamento para um conector. externo. A velocidade de cada linha é limitada a 250 MB / s. Existem conectores e cabos para as versões 1x, 4x, 8x e 16x do barramento. Uma evolução para linhas a 500 MB / s (como PCIe 2.0) está planejada, mas nenhuma data anunciada.
Em 2010, PCI-SIG publicou as especificações para PCIe (gen 3.0), cuja velocidade é dobrada 1000 MB / s graças a um aumento de 60% na frequência que vai de 5 a 8 GHz para gen 2.0, mas também por 128- codificação bit / 130 bits. Em vez de consumir 20% da taxa de bits para geração 2.0, esta codificação perde apenas 1,6% da largura de banda total. Os primeiros periféricos PCIe 3.0 chegaram em meados de 2011, mas as placas gráficas que usam essa interface não chegaram até o início de 2012.
A especificação PCIe 4.0 foi lançada em outubro de 2017. Isso dobra a largura de banda. A primeira placa de vídeo a fazer uso total dessa nova especificação é a placa AMD Radeon RX 5700 XT em 2019.
A especificação PCIe 5.0 foi lançada em Maio de 2019 com uma nova duplicação da largura de banda.
Os slots PCI Express permitem a conexão de uma placa x8 (8 vias) a um slot x16 (16 vias), o inverso não é verdadeiro; idem para as outras variantes. O tamanho do conector limita o número máximo de pistas PCIe usadas pela placa, mas não garante isso. O tamanho de um conector em uma placa-mãe especifica a velocidade máxima, mas não necessariamente a velocidade em que a placa inserida nele irá operar. O número de linhas usadas é negociado automaticamente entre os dispositivos.
Para um dispositivo x16 em um slot "fisicamente" x16, seu modo de operação dependerá da fiação elétrica da placa-mãe, do número de placas X16 utilizadas, bem como do processador, sua frequência e o chipset (processador de comunicações) utilizado. As outras placas PCIe no barramento podem, dependendo do caso, limitar o número de linhas que podem ser usadas neste barramento no modo x16.
DimensõesTipo PCI | Dimensões (mm) |
Placa PCI de comprimento total | 106,68 mm (altura) X 312 mm (comprimento) |
Placa PCI de meio comprimento | 106,68 mm (altura) X 175,26 mm (comprimento) |
Placa PCI Low-Profile / Slim | 64,41 mm (altura) X
de 119,91 mm a 167,64 mm (comprimento) |
Linhas | Broches | Comprimento | ||
---|---|---|---|---|
Total | Variável | Total | Variável | |
0× 1 | 2 × 18 = 036 | 2 × 07 = 014 | 25 mm | 07,65 mm |
0× 4 | 2 × 32 = 064 | 2 × 21 = 042 | 39 mm | 21,65 mm |
0× 8 | 2 × 49 = 098 | 2 × 38 = 076 | 56 mm | 38,65 mm |
× 16 | 2 × 82 = 164 | 2 × 71 = 142 | 89 mm | 71,65 mm |
A largura de banda varia dependendo da geração de PCI Express e do número de pistas usadas, cada geração de PCIe pode praticamente dobrar a largura de banda da anterior:
Geração | x1 | x4 | x8 | x16 |
---|---|---|---|---|
PCIe 1.1 | 250 MB / s | 1 GB / s | 2 Gb / s | 4 GB / s |
PCIe 2.0 | 500 MB / s | 2 Gb / s | 4 GB / s | 8 GB / s |
PCIe 3.0 | 1 GB / s | 4 GB / s | 8 GB / s | 16 GB / s |
PCIe 4.0 | 2 Gb / s | 8 GB / s | 16 GB / s | 32 GB / s |
PCIe 5.0 | 4 GB / s | 16 GB / s | 32 GB / s | 64 GB / s |
A tabela a seguir mostra os condutores em cada lado de um slot de placa PCI Express:
Broche | Lado B | Lado a | Descrição | Broche | Lado B | Lado a | Descrição | |
---|---|---|---|---|---|---|---|---|
1 | +12 V | PRSNT1 # | Deve se conectar ao pino PRSNT2 # mais distante | 50 | HSOp (8) | Reservado | Canal 8 envia dados, + e - | |
2 | +12 V | +12 V | Pinos de energia principais | 51 | HSOn (8) | Terra | ||
3 | +12 V | +12 V | 52 | Terra | HSIp (8) | Recepção de dados do canal 8, + e - | ||
4 | Terra | Terra | 53 | Terra | HSIn (8) | |||
5 | SMCLK | TCK | pinos para portas SMBus e JTAG | 54 | HSOp (9) | Terra | Canal 9 envia dados, + e - | |
6 | SMDAT | TDI | 55 | HSOn (9) | Terra | |||
7 | Terra | TDO | 56 | Terra | HSIp (9) | Recepção de dados do canal 9, + e - | ||
8 | +3,3 V | TMS | 57 | Terra | HSIn (9) | |||
9 | TRST # | +3,3 V | 58 | HSOp (10) | Terra | Canal 10 envia dados, + e - | ||
10 | +3,3 V aux | +3,3 V | Energia em espera | 59 | HSOn (10) | Terra | ||
11 | ACORDAR # | PERST # | Link de reativação; fundamental para o reset | 60 | Terra | HSIp (10) | Recepção de dados do canal 10, + e - | |
Entalhe | 61 | Terra | HSIn (10) | |||||
12 | CLKREQ # | Terra | Pedido de relógio em execução | 62 | HSOp (11) | Terra | Canal 11 envia dados, + e - | |
13 | Terra | REFCLK + | Par de relógio de referência diferencial | 63 | HSOn (11) | Terra | ||
14 | HSOp (0) | REFCLK− | Canal 0 envia dados, + e - | 64 | Terra | HSIp (11) | Recepção de dados do canal 11, + e - | |
15 | HSOn (0) | Terra | 65 | Terra | HSIn (11) | |||
16 | Terra | HSIp (0) | Recepção de dados do canal 0, + e - | 66 | HSOp (12) | Terra | Canal 12 envia dados, + e - | |
17 | PRSNT2 # | HSIn (0) | 67 | HSOn (12) | Terra | |||
18 | Terra | Terra | 68 | Terra | HSIp (12) | Recepção de dados do canal 12, + e - | ||
Placas PCI Express × 1 terminam no pino 18 | 69 | Terra | HSIn (12) | |||||
19 | HSOp (1) | Reservado | Canal 1 enviando dados, + e - | 70 | HSOp (13) | Terra | Canal 13 envia dados, + e - | |
20 | HSOn (1) | Terra | 71 | HSOn (13) | Terra | |||
21 | Terra | HSIp (1) | Recepção de dados do canal 1, + e - | 72 | Terra | HSIp (13) | Recepção de dados do canal 13, + e - | |
22 | Terra | HSIn (1) | 73 | Terra | HSIn (13) | |||
23 | HSOp (2) | Terra | Canal 2 envia dados, + e - | 74 | HSOp (14) | Terra | Canal 14 envia dados, + e - | |
24 | HSOn (2) | Terra | 75 | HSOn (14) | Terra | |||
25 | Terra | HSIp (2) | Recepção de dados do canal 2, + e - | 76 | Terra | HSIp (14) | Recepção de dados do canal 14, + e - | |
26 | Terra | HSIn (2) | 77 | Terra | HSIn (14) | |||
27 | HSOp (3) | Terra | Canal 3 envia dados, + e - | 78 | HSOp (15) | Terra | Canal 15 envia dados, + e - | |
28 | HSOn (3) | Terra | 79 | HSOn (15) | Terra | |||
29 | Terra | HSIp (3) | Recepção de dados do canal 3, + e - | 80 | Terra | HSIp (15) | Recepção de dados do canal 15, + e - | |
30 | Reservado | HSIn (3) | 81 | PRSNT2 # | HSIn (15) | |||
31 | PRSNT2 # | Terra | 82 | Reservado | Terra | |||
32 | Terra | Reservado | ||||||
Placas PCI Express × 4 terminam no pino 32 | ||||||||
33 | HSOp (4) | Reservado | Canal 4 envia dados, + e - | |||||
34 | HSOn (4) | Terra | ||||||
35 | Terra | HSIp (4) | Recepção de dados do canal 4, + e - | |||||
36 | Terra | HSIn (4) | ||||||
37 | HSOp (5) | Terra | Canal 5 envia dados, + e - | |||||
38 | HSOn (5) | Terra | ||||||
39 | Terra | HSIp (5) | Recepção de dados do canal 5, + e - | |||||
40 | Terra | HSIn (5) | ||||||
41 | HSOp (6) | Terra | Canal 6 envia dados, + e - | |||||
42 | HSOn (6) | Terra | ||||||
43 | Terra | HSIp (6) | Recepção de dados do canal 6, + e - | Legendas | ||||
44 | Terra | HSIn (6) | Pino de aterramento | Referência zero volt | ||||
45 | HSOp (7) | Terra | Canal 7 envia dados, + e - | Pino de energia | Alimentação da placa PCIe | |||
46 | HSOn (7) | Terra | Pino de saída | Sinal do cartão para a placa-mãe | ||||
47 | Terra | HSIp (7) | Recepção de dados do canal 7, + e - | Pino de entrada | Sinal da placa-mãe para a placa | |||
48 | PRSNT2 # | HSIn (7) | Dreno aberto | Pode ser definido como baixo ou detectado por vários cartões | ||||
49 | Terra | Terra | Pinho sentido | Vinculados no cartão para permitir a detecção do tipo de cartão | ||||
Placas PCI Express × 8 terminam no pino 49 | Reservado | Não usado atualmente, não conecte |
Dois links diferenciais permitem a troca de dados na transmissão (direta) e recepção (reversa) entre dois pontos A e B.
'n' desses links constituem os caminhos de troca (via): PCIe 1x 2x 4x 8x.
Um sinal de transmissão ou recepção é, portanto, composto por dois fios em modo diferencial.
A combinação dos sinais de transmissão e recepção, ou seja, 4 fios, constitui um caminho (pista).
O agrupamento do caminho 'n' representa o link PCIe nX.
O componente raiz permite acesso à CPU, memória ou qualquer outro dispositivo.
O componente de switch que é opcional permite a transferência PCIe entre o ponto final sem passar pela raiz.
O ponto final são os dispositivos de troca.
Os dados são produzidos na forma de pacotes.
PCIe permite controle de fluxo, QoS, virtualização de canal, latência previsível ...
Taxa de transferência e largura de banda:
Um par diferencial permite uma taxa de transferência de 2,5 Gbit / s
PCIe 1x terá, portanto, uma taxa de transferência útil de (2,5 * 1000 * 2 * 8/10) / 8 = 500 MB / s
O fator 2 vem do modo de transmissão + recepção full duplex.
O fator 8/10 é introduzido pela codificação 8B10B usada.
PCIe segue o modelo OSI :
Um cálculo de CRC é realizado no nível do enlace de dados, permitindo verificar a integridade das trocas neste nível.
Um segundo cálculo é executado no nível transacional, é um cálculo CRC de ponta a ponta (ECRC).
Se ECRC for falso, é possível solicitar o reenvio do pacote.
Isso é gerenciado no nível do link de dados por um pacote DLLP (pacote da camada de link de dados) específico.
Os pacotes do tipo DLLP são transparentes para o usuário que só vê os pacotes TLP em geral.
DLLP são, portanto, pacotes de gerenciamento (conclusão, configuração).
Software layer *data* +-------------------+ | Transaction layer | **Header,*data*,ecrc** +-------------------+ | Data Link Layer | | | ***Sequence,**Header,*data*,ecrc**,lcrc*** +-------------------+ | PHYsical LAyer | | | Start,***Sequence,**Header,*data*,ecrc**,lcrc***,End +-------------------+O cabeçalho do pacote PCIe é de 3 a 4 palavras de 32 bits.
A área de carga útil, dados, é de 0 a 1.024 palavras de 32 bits.
Uma palavra de 32 bits é chamada de Palavra Dupla (DW), sabendo que uma palavra é um byte duplo e um byte é composto de 8 bits.
O nível físico é composto pelos seguintes elementos:
O nível do link de dados tem um "Buffer de reprodução" no lado da transmissão, permitindo que o pacote seja enviado de volta quando o receptor detectar erros.
Existem diferentes tipos de transações:
Dois tipos de transações são possíveis: lançada ou não lançada.
A transação do tipo postado envia um pacote e não espera nada em troca: é como uma carta pelo correio.
A transação do tipo não postado que espera um pacote de conclusão em troca: é como uma carta registrada.
Uma gravação de memória será do tipo postado, enquanto uma leitura de memória será do tipo não postado.
Se o uso do PCIe for simples, o usuário pode fazer o login no nível transacional.
Será então necessário gerenciar os pacotes TLP (pacote da camada de transação) na recepção da transmissão.
Para usos mais avançados, existem IPs (caso de um design FPGA).
Esta sobreposição irá gerenciar, por exemplo, acessos diretos à memória DMA no modo "scatter reúne" se necessário.
PCI 2.2 (32 bits) | PCI-Express 1.x | PCI-Express 2.x | PCI-Express 3.x | PCI-Express 4.x | PCI-Express 5.x | PCI-Express 6.x | |
---|---|---|---|---|---|---|---|
Ano de introdução | 1992 | 2003 | 2007 | 2012 | 2017 | 2019 | 2021 (planejado) |
Frequência | 33 MHz | 100 MHz | 100 MHz | 100 MHz | 100 MHz | 100 MHz | 100 MHz |
Potência máxima fornecida (12V + 3V3) | 25 watts | 75 watts | 75 watts | 75 watts | 75 watts | 75 watts | 75 watts |
Largura de banda | 133 MB / s | 2,5 GT / s | 5 GT / s | 8 GT / s | 16 GT / s | 32 GT / s | 64 GT / s |
Débito por linha | Não aplicável | 250 MB / s | 500 MB / s | 984,6 MB / s | 1969,2 MB / s | 3938 MB / s | |
Velocidade para 16 linhas | Não aplicável | 4 GB / s | 8 GB / s | 15,754 GB / s | 31,508 GB / s | 63,02 GB / s | |
Compatibilidade | PCIe incompatível | PCIe xx | PCIe xx | PCIe xx | PCIe xx | PCIe xx | PCIe xx |