Les bus PCI (Peripheral Component Interconnect)
1. Historique et définition du PCI
1.1 Origine du PCI
Le bus PCI (Peripheral Component Interconnect) est apparu au début des années 1990, conçu par Intel, pour remplacer les bus ISA et EISA plus anciens. Il avait pour objectif d'offrir un bus plus rapide, plus flexible et indépendant du processeur (contrairement au VLB -- VESA Local Bus -- par exemple).
Quelques dates-clés :
- 1992 : Spécification PCI 1.0 (internal).
- 1993 : Spécification PCI 2.0, véritable lancement commercial.
- Milieu des années 1990 : Adoption massive par les constructeurs de cartes mères.
1.2 Qu'est-ce qu'un bus d'extension ?
Un bus d'extension relie les périphériques internes (cartes graphiques, cartes réseau, contrôleurs de stockage...) à la carte mère et au processeur. Il définit :
- La vitesse de transfert des données.
- La largeur (32 bits, 64 bits, etc.).
- Le type de connecteur (brochage, tension d'alimentation).
Le bus PCI a été, durant les années 1990 et 2000, un standard universel pour les cartes d'extension sur PC et serveurs. Il a été progressivement supplanté par le PCI Express (PCIe), plus rapide et plus modulable.
2. Les évolutions du PCI
2.1 PCI (Parallel PCI)
La première génération est un bus parallèle :
- Largeur de bus : 32 bits ou 64 bits.
- Fréquence : 33 MHz (puis 66 MHz sur certaines versions).
- Débit :
- 33 MHz × 32 bits → ~133 Mo/s.
- 66 MHz × 64 bits → ~533 Mo/s (dans le meilleur des cas).
Il s'agissait d'un bus partagé : plusieurs périphériques utilisent la même ligne de communication, ce qui peut limiter la bande passante disponible pour chacun.
2.2 PCI-X
Le PCI-X (PCI eXtended) est une évolution du PCI parallèle, introduite principalement sur des cartes mères de serveurs :
- Largeur : 64 bits.
- Fréquences : 66 MHz, 100 MHz, 133 MHz (et des variantes jusqu'à 533 MHz en théorie).
- Débits : potentiellement jusqu'à ~4,26 Go/s en PCI-X 2.0 (266 MHz ou 533 MHz en DDR).
Malgré l'augmentation des performances, le fonctionnement reste parallèle et partagé. PCI-X est resté surtout dans le domaine des serveurs professionnels jusqu'à l'arrivée de PCI Express.
2.3 PCI Express (PCIe)
Le PCI Express (ou PCI-E) est apparu au début des années 2000 comme une rupture technologique :
- Architecture série point-à-point (et non parallèle). Chaque périphérique a un lien dédié, évitant les collisions.
- Liaisons en « lignes » (lanes), notées ×1, ×2, ×4, ×8, ×16, etc. Plus il y a de lignes, plus le débit maximal est élevé.
- Évolution progressive des débits via différentes générations (PCIe 1.0, 2.0, 3.0, 4.0, 5.0, 6.0...).
2.3.1 Vitesse selon les générations
- PCIe 1.0 (2003) : 2,5 GT/s (Gigatransfers par seconde) → ~2 Gb/s par ligne, soit ~250 Mo/s (unidirectionnel) par ligne.
- PCIe 2.0 (2007) : 5 GT/s → ~500 Mo/s par ligne (unidirectionnel).
- PCIe 3.0 (2010) : 8 GT/s → ~1 Go/s par ligne (unidirectionnel).
- PCIe 4.0 (2017) : 16 GT/s → ~2 Go/s par ligne.
- PCIe 5.0 (2019) : 32 GT/s → ~4 Go/s par ligne.
- PCIe 6.0 (2022) : 64 GT/s → ~8 Go/s par ligne (avec une modulation PAM4 au lieu du NRZ).
(Attention : Les débits théoriques bruts sont souvent supérieurs à la bande passante réellement utilisable (il faut retirer les overheads de codage, contrôle, etc.).)
2.3.2 Lanes et slots
Un slot PCIe peut être physiquement ×16, ×8, ×4 ou ×1, etc. En pratique :
- Une carte graphique haut de gamme utilise généralement un slot ×16.
- Une carte réseau 10 Gb/s peut fonctionner en ×8 ou ×4 selon le modèle.
- Une carte d'extension basique (USB, SATA) se contente souvent d'un ×1 ou ×2.
La génération (version 3.0, 4.0, etc.) est également importante : une carte mère PCIe 4.0 ×16 offre le double de la bande passante par ligne par rapport à une carte mère PCIe 3.0 ×16. Si une carte PCIe 3.0 est branchée sur un slot PCIe 4.0, elle fonctionnera, mais à la vitesse 3.0. Il y a une rétro-compatibilité (à la fois au niveau du nombre de lignes et de la génération).
3. Spécificités techniques
3.1 Architecture parallèle vs. architecture série
- PCI et PCI-X utilisent un bus parallèle partagé, où tous les périphériques connectés communiquent via la même ligne (bus) avec un arbitre.
- PCI Express est un bus série point-à-point : chaque appareil a sa propre connexion full-duplex avec le contrôleur (généralement intégré au processeur ou au chipset). Cela permet :
- Des débits plus élevés et plus scalables.
- Une simplification du câblage sur la carte mère (moins de signaux parallèles).
- Moins de conflits et de contentions.
3.2 Fréquences et transferts
- Sur les bus parallèles (PCI), la fréquence (33, 66, 100, 133 MHz) détermine le débit.
- Sur le bus série (PCIe), on parle en « GT/s » (gigatransfers par seconde). À chaque cycle de transfert, on envoie un symbole (NRZ ou PAM4 selon la génération).
3.3 Alimentation et tensions
- PCI (classique) fonctionne en 5 V ou 3,3 V selon les détrompeurs et les générations.
- PCI-X est souvent en 3,3 V pour la partie signal.
- PCI Express fournit différentes tensions (3,3 V et 12 V) via le slot, et des connecteurs d'alimentation supplémentaires peuvent exister sur la carte (par exemple sur une carte graphique).
4. Formats de slots sur une carte mère
4.1 Slots PCI (legacy)
Les anciens PC ou cartes mères serveurs peuvent encore disposer de slots PCI (blancs, généralement) avec un détrompeur, permettant d'y insérer des cartes 32 bits/33 MHz ou 64 bits/66 MHz. Ces slots sont quasiment absents des conceptions modernes, sauf dans des systèmes industriels ou spécifiques nécessitant une rétrocompatibilité.
4.2 Slots PCI-X (serveurs anciens)
On peut trouver des slots PCI-X (souvent plus longs que le PCI 32 bits) sur des cartes mères de serveurs d'ancienne génération. Ils permettent d'accueillir des cartes 64 bits à fréquences plus élevées (jusqu'à 133 MHz ou plus). Aujourd'hui, c'est une technologie en voie de disparition, remplacée par le PCI Express.
4.3 Slots PCI Express
Les slots PCIe existent en différentes longueurs physiques :
- ×1 : petit slot, souvent quelques centimètres.
- ×4 : plus grand que ×1.
- ×8 : encore plus grand.
- ×16 : le plus long, souvent réservé aux cartes graphiques et cartes d'extension à fort débit (réseau 40Gb/s, 100Gb/s, etc.).
En général, on les reconnaît à leur connectique noire (ou d'une autre couleur), plus récente, avec un détrompeur en bout.
4.3.1 Différence entre la largeur physique et la largeur électrique
Il arrive qu'un slot ×16 soit physiquement au format ×16, mais ne soit câblé qu'en ×8 ou ×4 « électriques ». Cela signifie que même s'il a la taille d'un slot ×16, seules 8 ou 4 lignes sont effectivement reliées au chipset/CPU. On dit alors qu'il fonctionne « en mode ×8 » ou « en mode ×4 ».
C'est souvent un compromis pour des cartes mères offrant plusieurs slots, car le processeur ou chipset n'a pas suffisamment de lignes PCIe pour tous les slots en ×16.
5. Domaines d'utilisation et compatibilité
5.1 Cartes graphiques (GPU)
PCI Express ×16 est la norme pour les cartes graphiques. Les générations récentes (PCIe 4.0, 5.0) permettent des performances de plus en plus élevées, notamment pour le jeu vidéo, l'infographie, et le calcul GPGPU.
5.2 Cartes réseau et stockage
- Cartes réseau 1 GbE, 10 GbE, 25 GbE, 100 GbE... Elles peuvent utiliser un slot ×4, ×8 ou ×16 selon le débit requis.
- Contrôleurs RAID, cartes HBA (Host Bus Adapter) pour disques SSD NVMe ou SAS → utilisent souvent ×8 ou ×16 pour avoir suffisamment de bande passante.
5.3 Cartes diverses
- Cartes d'acquisition vidéo, cartes son professionnelles, cartes d'extension USB, etc.
- On trouve aussi des adaptateurs M.2/SATA vers PCIe pour installer des SSD NVMe sur un slot PCIe.
5.4 Rétrocompatibilité
- PCIe offre une compatibilité ascendante et descendante sur le nombre de lignes et la génération.
- Une carte PCIe 3.0 fonctionnera dans un slot PCIe 4.0 (mais à vitesse 3.0).
- Une carte ×1 peut être mise dans un slot ×4, ×8, ou ×16 (éventuellement en laissant le connecteur ouvert, ou s'il est mécaniquement prévu pour).
- PCI/PCI-X n'est pas compatible avec PCI Express (format différent, protocole différent).
6. Bonnes pratiques pour l'installation de cartes d'extension
- Vérifier la génération PCIe supportée par la carte mère et le processeur.
- Par exemple, si votre carte mère est en PCIe 4.0, vous pouvez tirer parti de cartes PCIe 4.0.
- Bien choisir la largeur (×1, ×4, ×8, ×16) dont vous avez réellement besoin.
- Une carte network 10 Gb/s aura besoin au moins d'un slot ×4 (PCIe 3.0 ou 4.0).
- Tenir compte du câblage électrique du slot : il peut être physiquement ×16 mais câblé en ×8 (ou moins).
- Attention à la consommation électrique :
- Certaines cartes (particulièrement les GPU ou accélérateurs) nécessitent des connecteurs d'alimentation externes (6 broches, 8 broches, etc.).
- Mettre à jour le BIOS/UEFI :
- Des problèmes de compatibilité PCIe peuvent parfois être résolus par une mise à jour du firmware.
- Surveiller la longueur de la carte :
- Dans un boîtier compact ou un serveur 1U/2U, les cartes pleines longueurs peuvent ne pas rentrer. Il existe des cartes low-profile/half-height.
- Répartir les cartes pour éviter de saturer un seul CPU ou un seul contrôleur :
- Sur certaines cartes mères multi-processeurs, les slots PCIe sont répartis sur plusieurs sockets (NUMA).
- Considérer la ventilation :
- Les cartes hautes performances (GPU, cartes réseau rapides) chauffent et nécessitent un flux d'air correct.
7. Résumé
Le PCI et ses dérivés (PCI-X, PCI Express) constituent la colonne vertébrale de la connectivité interne d'un ordinateur ou d'un serveur. L'évolution technologique a amené une transition des bus parallèles (PCI, PCI-X) vers un bus série point-à-point (PCI Express), permettant :
- Une augmentation considérable des débits et de la flexibilité.
- Des slots adaptables à toutes sortes de cartes (de ×1 à ×16, et plusieurs générations).
- Une rétrocompatibilité assez large (au sein du standard PCIe).
Aujourd'hui, c'est clairement PCI Express qui domine, déclinée en différentes versions (3.0, 4.0, 5.0, et bientôt 6.0) et dans la plupart des catégories de cartes mères : PC de bureau, stations de travail, serveurs haute performance, etc.
Les principaux points à retenir :
- PCI/PCI-X sont des standards plus anciens, désormais rares hors de contextes spécifiques ou industriels.
- PCIe apporte une architecture série point-à-point, une bande passante scalée par le nombre de lignes et la génération, et une rétrocompatibilité interne.
- Il est important de bien choisir la carte (largeur et génération) en fonction du slot disponible et des besoins en bande passante.