4. Bus et interconnexions : PCIe, CXL et NVLink

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

 

Fonctions des bus informatiques
Récapitulatif des types de bus d’un système informatique (interne, données, adresses, contrôle, système, expansion, I/O) et de leurs fonctions.

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

 

Structure d'un TLP PCIe (Transaction Layer Packet)
Structure d’un TLP PCIe : Start, Sequence (2B), Header (3-4 DW), Data Payload (0-1024 DW), ECRC, LCRC, End.

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

 

Schéma Root Complex PCIe : CPU, M.2 NVMe SSD, SATA, GPU
Le Root Complex centralise les connexions PCIe 4.0 : vers le M.2 NVMe SSD (x4), le contrôleur SATA (x1 via bridge) et le GPU (x16).

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

 

CXL Device Types
Les trois types CXL : Type 01 (Smart NIC), Type 02 (accélérateur), Type 03 (extension mémoire).

. 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.

Points clé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/HGX H100 – Architecture NVLink Switch
    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.
SEE ALL Add a note
YOU
Add your Comment