Le PCI Express (Peripheral Component Interconnect Express) écrit aussi PCIe, est un standard de bus d’extension utilisé pour les échanges de données entre les cartes d’extension et la carte mère d’un ordinateur. Il a été introduit en 2004 par Intel et remplace les standards antérieurs PCI, PCI-X et AGP.
Le standard PCI Express est composé de trois couches : la couche physique, la couche liaison de données et la couche de transaction. La couche physique est représentée par un bus local, communément appelé « bus PCI Express ». La couche liaison de données est responsable de l’organisation des données en paquets, tandis que la couche de transaction s’occupe de la transmission des paquets de données.
à partir de l’année 2015, Intel a commencé à intégrer le contrôleur PCIe directement dans ses processeurs (CPU). Avant cela, le PCIe était souvent connecté à la fois au northbridge et au southbridge de la carte mère. Cette intégration directe du PCIe dans les CPU a permis d’améliorer les performances et l’efficacité énergétique des ordinateurs, en réduisant le nombre de composants et de connexions nécessaires pour la gestion des périphériques PCIe. Cette évolution a également permis l’augmentation du nombre de lignes PCIe disponibles, ce qui a conduit à une plus grande flexibilité pour la connexion de périphériques très gourmand en bande passante, comme les cartes graphiques, les disques durs et les cartes réseau.
Le groupe de travail en charge du développement et du maintien du standard PCI Express est le PCI-SIG (Special Interest Group), qui représente pour rappel, plus de 800 sociétés.
Un héritage issue de la norme PCI
L’un des avantages du PCI Express est qu’il est dérivé de la norme PCI, ce qui a permis aux fabricants de cartes d’extension de s’adapter facilement en ne modifiant que la couche matérielle. De plus, le PCI Express était suffisamment rapide et prometteur pour remplacer non seulement le PCI classique, mais également l’AGP.
Contrairement au PCI, qui utilise un unique bus de largeur 32 bits bidirectionnel alterné (half duplex), le PCI Express utilise une interface série (de largeur 1 bit) à base de lignes bidirectionnelles réparties sur 8 broches. On peut ainsi parler d’une carte mère possédant 20 lignes PCIe. Une ligne permet théoriquement des échanges full duplex à 250 Mo/s par exemple pour la version 1.1 du protocole. Les différents périphériques communiquent alors par échange de paquets et l’arbitrage du bus PCI est remplacé par un commutateur. Le principe de fonctionnement est semblable à de la commutation de paquets selon un modèle à quatre couches : la couche logicielle, la couche transaction, la couche liaison et la couche physique.
Les différentes versions du PCI Express
Depuis sa première version en 2003, le PCIe a subi plusieurs révisions, chaque version doublant pratiquement la bande passante de son prédécesseur. La première génération du protocole, la version 1.1, permettait théoriquement des échanges full duplex à 250 Mo/s. En 2007, la deuxième génération, le PCIe gen 2.0, est apparue, doublant le débit de la première génération à 500 Mo/s par sens par lien. En 2010, le PCIe gen 3.0 a été publié, doublant à nouveau le débit à 1 000 Mo/s grâce à une augmentation de la fréquence et à un codage amélioré. La spécification PCIe 4.0, publiée en 2017, a doublé à nouveau la bande passante. La dernière version, le PCIe 6.0, a été publiée en janvier 2022, avec un nouveau doublement de la bande passante à 64 GT/s par canal. La version 7.0 du protocole est en cours de développement.
les différents types
Les ports PCI Express (PCIe) sont également désignés par leur nombre de lignes connectées, généralement noté ×1, ×2, ×4, ×8, ×16 ou ×32. Cette désignation permet de différencier les ports en fonction de leur capacité de transfert de données, qui est liée au nombre de lignes utilisées. Par exemple, un port ×32 offre une capacité théorique de transfert de 8 Go/s, soit quatre fois supérieure à celle des ports AGP.
Cependant, il est important de noter que même un port ×16 peut ne pas utiliser toutes les lignes PCIe disponibles. Par exemple, un port ×16 peut n’être relié qu’à huit lignes PCIe, mais il doit toujours fournir suffisamment de puissance électrique pour permettre le fonctionnement de cartes PCIe ×16. De plus, le protocole PCIe permet une négociation automatique du nombre de lignes maximum supportées par les deux entités en relation. Ainsi, une carte d’extension PCIe ×1 peut être connectée et fonctionner correctement sur un port plus grand, comme un port ×2, ×4, ×8, ×16 ou même ×32.