Cette unité couvre les bus et interconnexions haute performance : PCIe dans sa dimension électrique et ses générations de 3.0 à 7.0, le Root Complex et la gestion DMA/IOMMU, CXL (Compute Express Link) avec ses trois sous-protocoles, et NVLink/NVSwitch pour les architectures multi-GPU.
PCIe — la couche électrique
PCIe transmet chaque bit sur une paire de fils en signalisation différentielle : l’information est portée par la différence de tension entre les deux fils, ce qui annule une grande partie du bruit électromagnétique capté en commun. Chaque lane comporte une paire TX et une paire RX

pour une communication bidirectionnelle simultanée.
Diaphonie et couche physique du PCB
La diaphonie (crosstalk) est le phénomène par lequel le signal d’une lane induit un courant parasite dans une lane adjacente, par couplage capacitif ou inductif. Sur les cartes mères PCIe 5.0 (32 GT/s) et au-delà, la marge de tolérance au bruit est si faible que le moindre défaut de routage peut corrompre le signal. La solution est l’usage d’un prepreg à faible constante diélectrique (Dk <0,005) combiné à un plan de masse multicouche, maintenant une impédance différentielle contrôlée (85 Ω ou 100 Ω).
Bande passante PCIe par génération
Génération | Débit/lane | Encodage | x16 (1 sens) | x16 (bidir.)
PCIe 3.0 | 8 GT/s | 128b/130b | 15,75 Go/s | 31,5 Go/s
PCIe 4.0 | 16 GT/s | 128b/130b | 32 Go/s | 64 Go/s
PCIe 5.0 | 32 GT/s | 128b/130b | 64 Go/s | 128 Go/s
PCIe 6.0 | 64 GT/s | PAM4 + FLIT | 128 Go/s | 256 Go/s
PCIe 7.0 |128 GT/s | PAM4 + FLIT | 256 Go/s | 512 Go/s
PCIe 6.0 abandonne le PAM2 (NRZ) pour le PAM4 (4 niveaux de tension, 2 bits par symbole) avec un encodage FLIT de 256 octets intégrant la FEC (correction d’erreur). PCIe 7.0 (finalisée juin 2025, produits attendus 2027-2029) porte la fréquence à 32 GHz.
Root Complex, TLP et IOMMU
Le Root Complex est le pont entre le CPU et l’ensemble du sous-système PCIe. Il gère les TLP (Transaction Layer Packets), l’unité de base de toute transaction PCIe

: lecture, écriture, message. Dans un système multi-GPU, le Root Complex arbitre les requêtes DMA concurrentes

selon la Traffic Class (TC) et le Virtual Channel (VC).
L’IOMMU agit comme un MMU dédié aux périphériques : elle traduit les adresses bus en adresses physiques réelles et rejette toute transaction sortant des tampons mémoire alloués au périphérique. Cela bloque les attaques DMA (un périphérique PCIe compromis lisant ou écrivant arbitrairement en mémoire noyau).
CXL — Compute Express Link
CXL réutilise la couche PHY du PCIe 5.0/6.0 (mêmes connecteurs), mais superpose un protocole de cohérence de cache

. Il définit trois sous-protocoles :
- CXL.io : équivalent fonctionnel du PCIe classique (découverte, configuration, DMA non cohérent)
- CXL.cache : permet à un accélérateur ou FPGA de mettre en cache des lignes mémoire de l’hôte de façon cohérente avec les caches CPU
- CXL.mem : permet au CPU d’accéder à la mémoire physiquement attachée à un périphérique CXL comme s’il s’agissait de sa propre mémoire locale (memory pooling)
NVLink et NVSwitch
NVIDIA NVLink est une interconnexion propriétaire GPU-GPU offrant une bande passante bidirectionnelle bien supérieure au PCIe (NVLink 4.0 : 900 Go/s bidirectionnel entre deux GPU H100, vs ≈128 Go/s pour PCIe 5.0 x16). NVSwitch est un fabric de commutation connectant tous les GPU d’un serveur en full-mesh : chaque GPU communique directement avec tous les autres sans passer par le CPU. Dans un DGX H100 (8 GPU), la bande passante totale du fabric NVSwitch atteint 7,2 To/s.
- PCIe utilise la signalisation différentielle pour immuniser le signal contre le bruit commun
- PCIe 6.0/7.0 passent au PAM4 + encodage FLIT pour doubler la bande passante
- L’IOMMU protège la RAM contre les attaques DMA par des périphériques malveillants
- CXL.mem permet d’étendre le pool mémoire d’un serveur via PCIe avec cohérence de cache
- NVSwitch crée un fabric full-mesh entre GPU, éliminant le CPU comme intermédiaire

NVIDIA DGX H100 : 8 GPU H100 SXM5 interconnectés via 4 NVLink Switch Chips en full-mesh (900 Go/s bidirectionnel par GPU), reliés aux CPU via PCIe x16.

-
Add a note