← Outils

Cours de remédiation · Structure des ordinateurs

De l'électron au pixel : comment un ordinateur est construit

Un support qui reprend chaque notion du cours depuis zéro, définit chaque terme, et surtout montre comment tout s'emboîte — des bits et des volts jusqu'aux ports USB, aux caches et aux câbles d'écran.

Fondationsvon NeumannMicroprocesseurCaches & BusMémoires : ROM → virtuelleDisques et cartes : SATA · SAS · PCIeDisques : HDD · SSD · M.2 · NVMeCPU vs GPUUSB / ThunderboltÉcrans : VGA → DisplayPort

Ce cours part d'un principe : tu ne connais rien, et c'est normal. Chaque mot technique est défini la première fois qu'il apparaît. Trois types d'encadrés reviennent partout :

Définition

La signification précise d'un terme. À retenir tel quel.

Image mentale

Une analogie du quotidien pour « sentir » l'idée avant de la comprendre formellement.

Partie 1

Les fondations : information, électricité, vitesse

Avant de parler de processeur ou d'USB, il faut trois briques : comment on représente l'information, comment on la mesure, et avec quoi elle circule physiquement — de l'électricité.

1.1 — Le bit et l'octet : coder l'information

Un ordinateur ne sait manipuler qu'une seule chose : des 0 et des 1. Pourquoi ? Parce qu'un fil électrique n'a que deux états simples à distinguer de façon fiable : il y a du courant (1) ou il n'y en a pas (0).

Définition — Bit

Le bit (binary digit) est la plus petite unité d'information : il vaut soit 0, soit 1. Symbole : b (minuscule).

Définition — Octet (byte)

Un octet = un groupe de 8 bits. En anglais : byte. Symbole : B (majuscule). Avec 8 bits on peut former 28 = 256 combinaisons différentes (par exemple, un caractère de texte).

Piège classique

b minuscule = bit. B majuscule = Byte = octet = 8 bits. Une connexion « 100 Mb/s » transfère donc 100 mégabits par seconde, soit seulement ~12,5 mégaoctets par seconde (on divise par 8).

Les unités de stockage

On regroupe les octets par paquets de 1024 (soit 210, une puissance de 2 « ronde » en binaire) :

UnitéNomVaut
1 KBKilo-octet1024 octets
1 MBMéga-octet1024 KB
1 GBGiga-octet1024 MB
1 TBTéra-octet1024 GB
1 PBPéta-octet1024 TB
Rigueur — Mo vs Mio (le cours simplifie)

Le cours compte par 1024 et écrit « 1 KB = 1024 octets ». En toute rigueur, ×1024 correspond aux préfixes binaires : Kio, Mio, Gio, Tio (kibi/mébi/gibi-octet). Les préfixes « normaux » Ko, Mo, Go, To sont du SI et valent ×1000.

👉 En pratique : la mémoire/RAM se compte en binaire (×1024), les débits réseau en SI (×1000). C'est précisément ce qui fait qu'un disque vendu « 500 Go » (SI) n'affiche que ~465 Gio (binaire) dans le système. (Entraîne-toi là-dessus dans l'app « Calcul ».)

1.2 — La bande passante : débit de l'information

Définition — Bande passante

La bande passante (bandwidth) est la quantité de données qui passe par un canal par seconde. L'unité de base est le bit par seconde (bit/s ou bps).

Image mentale

Un tuyau d'eau. Le stockage (Go), c'est la taille du réservoir. La bande passante (Gbit/s), c'est le diamètre du tuyau : combien d'eau passe chaque seconde. Un gros réservoir avec un fin tuyau se vide lentement.

UnitéVaut
1 Kbit/s1000 bit/s
1 Mbit/s1000 Kbit/s
1 Gbit/s1000 Mbit/s
1 Tbit/s1000 Gbit/s
Détail subtil

Pour le stockage on compte par 1024 ; pour les débits réseau on compte souvent par 1000. Le cours te donne les deux conventions : ne les mélange pas.

1.3 — L'électricité : ce qui fait tout marcher

Les 0 et les 1 ne sont pas abstraits : ce sont des tensions électriques dans des fils. Il faut donc quelques notions d'électricité.

Courant (I)

Un déplacement d'électrons libres dans un conducteur (un fil). Se mesure en ampères (A). 1 A ≈ 6,24 × 1018 électrons qui passent en un point chaque seconde. Il faut un circuit fermé pour qu'il circule.

Tension (V)

La différence de potentiel qui « pousse » les électrons. Se mesure en volts (V). Créée par une source (batterie, alimentation).

Résistance (R)

Ce qui freine le courant. Se mesure en ohms (Ω).

Puissance (P)

L'énergie consommée par seconde. Se mesure en watts (W).

Image mentale — la rivière

La tension = la hauteur de la chute d'eau (ce qui pousse). Le courant = le débit d'eau qui descend. La résistance = des rochers qui gênent le passage. Plus les rochers sont gros (R ↑), moins il passe d'eau (I ↓) pour une même hauteur.

Les deux formules à connaître

Loi d'Ohm : V = I × R — la tension est égale au courant multiplié par la résistance.

Puissance : P = V × I — la puissance est égale à la tension multipliée par le courant.

Puissance dissipée : quand le courant traverse un composant, une partie de l'énergie se transforme en chaleur à cause de la résistance. C'est pour ça qu'un processeur chauffe et a besoin d'un ventilateur.

1.4 — La fréquence : le rythme

Définition — Fréquence

La fréquence est le nombre de fois qu'un phénomène se répète par seconde. Unité : le hertz (Hz). 1 Hz = 1 cycle par seconde. 1 GHz = 1 milliard de cycles par seconde.

Partie 2

L'architecture von Neumann : le plan de tout ordinateur

En 1945, le mathématicien John von Neumann (1903–1957) décrit dans un rapport (le « First Draft of a Report on the EDVAC ») un plan général d'ordinateur. Presque tous les ordinateurs d'aujourd'hui suivent encore ce plan. C'est LA base du cours.

2.1 — Les 4 composants

Mémoirestocke données et programme
↔
MicroprocesseurALU + Unité de contrôle
↔
Entrées / Sortiesclavier, écran… (nous)

Mémoire

Stocke à la fois les données à manipuler et les instructions du programme.

ALU — Arithmetic and Logic Unit

L'unité de calcul. Fait les opérations arithmétiques (+, −, ×) et logiques (ET, OU, comparaisons). À l'intérieur du CPU.

CU / CCU — (Central) Control Unit

L'unité de contrôle : le chef d'orchestre. Va chercher les instructions, les décode, et commande l'ALU. À l'intérieur du CPU.

Entrées / Sorties (I/O)

Les périphériques qui nous permettent d'interagir avec la machine.

2.2 — Les 5 principes fondamentaux

  1. Mémoire unique : pas de séparation entre la mémoire des instructions et celle des données — tout est dans la même RAM. C'est l'idée centrale de von Neumann.
  2. Exécution séquentielle : les instructions sont exécutées dans l'ordre, une par une.
  3. Cycle d'instruction : chaque instruction passe par fetch → decode → execute (voir plus bas).
  4. Registres internes : le CPU utilise de minuscules mémoires internes (les registres) pour stocker les valeurs pendant les calculs.
  5. Unité centrale : les registres sont branchés sur l'ALU qui réalise les calculs.
Définition — RAM

Random Access Memory (« mémoire à accès aléatoire ») : la mémoire de travail de l'ordinateur. « Accès aléatoire » signifie qu'on peut lire n'importe quelle case directement, sans parcourir les précédentes. Elle est rapide mais volatile : son contenu s'efface à l'extinction.

2.3 — Le cycle d'instruction : fetch, decode, execute

C'est le battement de cœur du processeur. Il le répète des milliards de fois par seconde, sans jamais s'arrêter.

FETCH (chercher)

Le CPU va chercher en mémoire la prochaine instruction à exécuter.

DECODE (décoder)

Il traduit cette instruction pour comprendre quelle opération faire.

EXECUTE (exécuter)

Il réalise l'opération (un calcul dans l'ALU, une lecture, une écriture…), puis recommence au fetch.

2.4 — Un mini-ordinateur en action

Le cours illustre tout ça avec un modèle simplifié : une mémoire de 10 cases, et des instructions à 3 chiffres. Voici le « jeu d'instructions » :

CodeNomAction
1xxADDadditionne le contenu de l'adresse xx à l'ALU
3xxSTOREstocke le résultat à l'adresse xx
901INPUTlit l'entrée (clavier) et l'écrit dans l'ALU
902OUTPUTlit l'ALU et l'écrit sur la sortie (écran)
000BREAKarrête l'exécution
Image mentale

Ce modèle (type « Little Man Computer ») montre l'essentiel : un programme n'est que des nombres rangés en mémoire, et le CPU les lit un par un. « Programmer », au fond, c'est écrire la bonne suite de nombres.

Partie 3

Le microprocesseur en détail

Définition — Microprocesseur (CPU)

Central Processing Unit. Un circuit intégré (une puce) qui regroupe l'unité de calcul (ALU), l'unité de contrôle (CU), un peu de mémoire interne (registres) et les connexions d'entrée/sortie. C'est le « cerveau » qui exécute le cycle fetch-decode-execute.

Un peu d'histoire pour situer : le premier microprocesseur est l'Intel 4004 (1974, 4 bits) ; l'Intel 8080 (1974) est le premier « tout usage » (horloge ≈ 2 MHz). Aujourd'hui un AMD Ryzen 7 tourne à ~5 GHz avec 8 cœurs — soit ~2500× plus vite en fréquence, et plusieurs cerveaux en parallèle.

3.1 — Les registres : la mémoire ultra-rapide du CPU

Définition — Registre

Un registre est une toute petite zone de mémoire à l'intérieur du processeur. Minuscule (quelques octets) mais extrêmement rapide. C'est là que le CPU garde les valeurs qu'il manipule en ce moment même.

Certains registres ont un rôle précis :

RegistreNom completRôle
PCProgram CounterContient l'adresse de la prochaine instruction à exécuter. C'est lui qui fait avancer le programme.
IRInstruction RegisterContient l'instruction en cours (son code / opcode).
ACCAccumulatorStocke les résultats temporaires des calculs de l'ALU.
SPStack PointerSuit le sommet de la « pile » (utile pour les appels de fonctions : call & return).
PSWProgram Status WordContient les flags (drapeaux) : indicateurs comme Zero, Negative, Carry, Overflow, posés après un calcul.
Image mentale

L'ALU est un cuisinier. Les registres sont le petit plan de travail juste devant lui : il n'y a de la place que pour les 2–3 ingrédients qu'il utilise à l'instant. La RAM, c'est le frigo au fond de la cuisine ; le disque dur, c'est le supermarché. Plus c'est près du cuisinier, plus c'est rapide… mais plus c'est petit.

3.2 — L'horloge (clock)

Un signal d'horloge cadence le processeur : à chaque « tic », le CPU avance d'un pas. Sa fréquence (en GHz, cf. partie 1.4) détermine sa vitesse. Repère du cours : 1 GHz ⇒ un cycle dure 1 ns (une nanoseconde, un milliardième de seconde).

3.3 — Les caches : combler le fossé CPU / RAM

Voici un problème central du cours. Depuis 1980, la vitesse des processeurs a explosé, mais celle de la mémoire RAM a progressé beaucoup plus lentement. Résultat : un écart énorme, le « Processor-Memory Performance Gap ». Le CPU passe son temps à attendre la RAM.

Définition — Cache

Un cache est une mémoire petite mais très rapide, placée entre le CPU et la RAM, qui garde sous la main les données les plus susceptibles d'être réutilisées. Objectif : éviter d'aller chercher en RAM (lente) le plus souvent possible.

Il y a plusieurs niveaux (levels). Plus le niveau est bas, plus il est proche du cœur, plus il est petit et rapide :

NiveauPositionVitesse / Taille
L1Le plus proche du cœur (chaque cœur a le sien)Le plus rapide, le plus petit
L2Secondaire, proche du cœurUn peu plus lent, plus gros
L3Partagé entre tous les cœursLe plus lent des caches, le plus gros

Le trajet d'une donnée : Disque/RAM → L3 → L2 → L1 → cœur. Les niveaux intermédiaires servent de tampons. Règle à retenir : plus un cache est gros, plus il est lent ; donc plus on s'approche du cœur, plus le cache est petit et rapide.

Exemple concret (Intel Core i7-14700K)

  • L1 : propre à chaque cœur, divisé en deux (32 Ko instructions + 32 Ko données = 64 Ko par cœur de performance).
  • L2 : 2 Mo dédié par cœur de performance ; les cœurs « efficaces » le partagent en clusters (4 Mo).
  • L3 (Intel Smart Cache) : 33 Mo partagé par tout le processeur.

3.4 — Cœurs (cores) & architectures hybrides

Définition — Cœur

Un cœur est un processeur complet (ALU + CU + registres) gravé sur la puce. Un CPU « 8 cœurs » peut donc exécuter 8 suites d'instructions en parallèle.

Les CPU modernes sont parfois hybrides : des P-cores (Performance, puissants) pour les tâches lourdes et des E-cores (Efficient, sobres) pour les tâches de fond. Idée qui prépare directement la partie suivante : beaucoup de petits cœurs vs peu de gros cœurs.

Partie 4

Les bus : les autoroutes de l'information

C'est le plus gros chapitre du cours, et le plus transversal : le bus relie tout à tout. On part du problème qu'il résout, puis on dissèque ses trois faisceaux, son cycle, ses performances, et enfin l'architecture d'un PC réel.

4.1 — Pourquoi un bus ? Le problème du câblage point-à-point

Imagine qu'on relie chaque composant à tous les autres par un fil dédié. Le nombre de liaisons explose selon la formule n(n−1)/2 :

ComposantsLiaisons nécessaires
46
828
16120
32496

Et encore, ça ne compte qu'un fil par liaison — il en faudrait 8 pour transporter un octet ! Trop de pistes, trop de broches, coût prohibitif. La solution : mutualiser les conducteurs et faire parler les composants à tour de rôle.

Définition — Bus

Un bus est un ensemble de conducteurs électriques partagés par plusieurs composants, qui les utilisent à tour de rôle pour échanger des informations selon un protocole commun.

Image mentale — le couloir

Un couloir unique dessert tous les bureaux d'un bâtiment, plutôt qu'une passerelle entre chaque paire de bureaux. C'est économique, flexible et extensible. Mais : une seule conversation à la fois dans le couloir — d'où la contention (les demandes se bousculent) et la nécessité d'un arbitrage (décider qui parle).

Avantages

  • Coût réduit (peu de fils à router)
  • Standardisation (toute carte conforme se connecte)
  • Extensibilité (ajouter un composant ne change pas le câblage)

Inconvénients

  • Bande passante partagée entre tous
  • Arbitrage nécessaire dès qu'il y a plusieurs maîtres
  • Le bus devient le goulot d'étranglement
  • Limites physiques à la montée en fréquence

4.2 — Le goulot de von Neumann

Rappel de la partie 2 : dans l'architecture von Neumann, le CPU et la mémoire unique (instructions + données) partagent un seul bus. Problème : les processeurs ont progressé bien plus vite que la RAM, donc le CPU passe l'essentiel de son temps à attendre la mémoire (il reçoit l'instruction, puis attend la donnée qui va avec). Trois réponses :

RéponsePrincipe
Architecture HarvardDeux bus séparés : un pour les instructions, un pour les données (en parallèle). Peu adapté aux PC, mais courant en embarqué.
Mémoire cacheRapproche les données fréquentes du processeur. Solution adoptée sur PC.
Élargir & accélérerPlus de bits par transfert, plus de transferts par seconde.

4.3 — Les trois faisceaux

Un bus est composé de trois faisceaux, chacun répondant à une question :

Bus d'adresses — OÙ ?

Désigne la case mémoire (ou le registre de périphérique) concernée. Unidirectionnel : du maître vers les esclaves.

Bus de données — QUOI ?

Transporte la valeur lue ou écrite. Bidirectionnel : le seul des trois à l'être franchement.

Bus de contrôle — QUAND & COMMENT ?

Un ensemble de signaux individuels (read, write, horloge…) qui orchestrent l'échange.

À retenir

L'adresse dit OÙ, la donnée dit QUOI, le contrôle dit QUAND et COMMENT. (C'est la livraison postale : adresse = la maison, donnée = le colis, contrôle = déposer ou relever.)

4.4 — Le bus d'adresses : OÙ ?

Seul le maître émet des adresses (sauf en bus mastering/DMA, cf. 4.9). Point capital :

Formule — Espace adressable

Avec un bus d'adresses de n bits, le nombre de cases adressables = 2n. C'est la largeur du bus d'adresses — et non celle des données — qui limite la RAM installable.

LargeurCases (2ⁿ)Espace (1 octet/case)Exemple
16 bits65 53664 KioZ80, 6502
20 bits1 048 5761 MioIntel 8086/8088
32 bits4 294 967 2964 Gio80386 → Pentium
48 bits≈ 2,8 × 10¹⁴256 Tiox86-64 (canonique)
La fameuse limite des 4 Gio

Un système 32 bits ne peut adresser que 2³² = 4 Gio de RAM : c'est une conséquence directe de la largeur du bus d'adresses. (Entraîne-toi au calcul 2ⁿ dans l'app « Calcul ».)

Le décodage d'adresse

Les adresses sont physiquement réparties dans plusieurs boîtiers mémoire. Le décodeur utilise les bits de poids fort pour activer le signal CS (Chip Select) du seul boîtier concerné ; les bits de poids faible désignent la case à l'intérieur de ce boîtier. Exemple : un espace de 64 Kio (A0–A15) réparti en 4 boîtiers de 16 Kio → A0–A13 en interne, A14 et A15 servent au décodage. Le résultat s'appelle la cartographie mémoire (memory map) — visible sur un PC via msinfo32.

Image mentale — l'adresse postale

Une adresse mémoire, c'est comme « immeuble 3, appartement 42 ». Les bits de poids fort = le numéro d'immeuble (quel boîtier : le facteur va au bon bâtiment grâce au Chip Select). Les bits de poids faible = le numéro d'appartement (quelle case à l'intérieur). On coupe le gros nombre en deux morceaux : « où globalement » + « où précisément ».

Définition — MMIO vs espace d'E/S

Deux façons d'adresser les périphériques. MMIO (Memory-Mapped I/O) : les registres du périphérique occupent des adresses de l'espace mémoire (modèle dominant : PCIe, GPU, NVMe). Espace d'E/S séparé : un espace distinct, avec des instructions dédiées (IN/OUT sur x86) — usage résiduel, héritage x86.

4.5 — Le bus de données : QUOI ?

Bidirectionnel : le sens effectif est imposé à chaque instant par le bus de contrôle (RD ou WR). Sa largeur détermine la quantité de données par transaction, donc les performances.

Définition — Haute impédance (3 états)

Un composant non sélectionné place ses sorties en haute impédance : il se « déconnecte » électriquement du bus (ni 0/masse, ni 1/tension) pour ne pas le court-circuiter. Il reste branché mais ne « gêne » pas. Une seule paire de composants « parle » à la fois ; tous les autres sont en haute impédance.

Image mentale — la conférence téléphonique

Tout le monde est connecté à la même ligne, mais pour qu'une conversation soit audible, il faut que tous se taisent sauf deux personnes. La haute impédance, c'est « être en ligne mais en sourdine ». Si deux composants parlaient en même temps (l'un mettant un 0, l'autre un 1 sur le même fil), ce serait un court-circuit — d'où la règle d'or : un seul émetteur à la fois.

Bus interne ≠ bus externe : à l'intérieur de la puce, il n'y a ni broche ni connecteur à alimenter, donc le bus interne est souvent plus large. L'Intel 8088 raisonnait sur 16 bits en interne mais ne dialoguait que sur 8 bits en externe (bridé pour réduire le coût des cartes). Un Pentium : 64 bits externe, 32 interne ; un CPU + DDR5 : 64 bits/canal externe, 256–512 interne.

Boutisme (endianness) & alignement

Pour ranger la valeur 0x12345678 en mémoire : little-endian met l'octet de poids faible à l'adresse basse (78, 56, 34, 12) — c'est x86 et ARM par défaut ; big-endian fait l'inverse (ordre « réseau »). Alignement : un accès à un mot de 4 octets est optimal si son adresse est un multiple de 4 ; sinon le contrôleur fait deux transactions au lieu d'une. Piège classique en dépannage : lire un dump hexadécimal sans savoir dans quel ordre les octets sont rangés.

4.6 — Le bus de contrôle : QUAND & COMMENT ?

Ce n'est pas un faisceau homogène mais une collection de signaux individuels, chacun avec sa fonction et son sens. Les principaux :

SignalÉmetteurFonction
CLKHorlogeCadence tout le système
RESETCircuit d'init.Réinitialise tous les composants
RD / MEMRMaîtreLecture : l'esclave place la donnée sur le bus
WR / MEMWMaîtreÉcriture : l'esclave mémorise la donnée
MREQ / IORQMaîtreL'adresse vise la mémoire ou un port d'E/S
READY / WAITEsclave« Je ne suis pas prêt » → états d'attente
INT / IRQPériphériqueDemande d'interruption
BUSRQ / BUSAKPériph. / MaîtreDemande / accord de prise de contrôle (DMA)
Convention « actif bas »

La plupart des signaux de contrôle sont actifs à l'état bas et se notent avec une barre ou un dièse : RD#, WR#, MREQ#, CS#. Un signal « actif » correspond alors à une tension proche de 0 V (contre-intuitif !).

4.7 — Le cycle de bus

Un accès mémoire se déroule en plusieurs états d'horloge (T1, T2, …). Ordre à retenir : d'abord OÙ (adresse), puis QUAND (contrôle), enfin QUOI (donnée). Le bus de données est le dernier servi.

T1 — L'adresse se stabilise

Le CPU émet l'adresse (ALE actif). Données en haute impédance.

T2 — L'esclave démarre

MREQ + RD deviennent actifs.

Tw — États d'attente (facultatif)

Si l'esclave est trop lent, WAIT est actif et le CPU fige le cycle.

T3 — Le CPU échantillonne

L'esclave présente la donnée ; le CPU la lit.

T4 — Libération

RD et MREQ sont relâchés, le bus redevient disponible.

Le cycle d'écriture suit la même chronologie, à deux différences : c'est le CPU qui place la donnée dès T2 (pour laisser à l'esclave le temps de la capturer), et c'est WR (au lieu de RD) qui est activé. Conséquence : en écriture, le bus de données est occupé plus longtemps → les écritures sont souvent plus coûteuses.

Formule — États d'attente (wait states)

W = ⌈t ÷ T⌉ − p
avec W = nombre d'états d'attente, t = temps d'accès de la mémoire, T = période d'horloge, p = états déjà prévus par le cycle (⌈ ⌉ = arrondi à l'entier supérieur).
Exemple : bus à 33 MHz (période 30,3 ns), EPROM à 120 ns → ⌈120/30,3⌉ = 4 périodes nécessaires → 3 états d'attente insérés (débit −43 %). C'est exactement la raison d'être du cache : empêcher le CPU de passer son temps en états d'attente. (Calcul disponible dans l'app « Calcul ».)

4.8 — Performances : débit, latence, MT/s

Formule — Débit d'un bus parallèle

D = (L ÷ 8) × f × n
avec D = débit en octets/s, L = largeur du bus en bits, f = fréquence en Hz, n = transferts par cycle.
Exemple : bus 64 bits à 400 MHz en DDR → (64÷8) × 400×10⁶ × 2 = 6,4 Go/s.

Définition — SDR / DDR / QDR (MHz ≠ MT/s)

SDR (Single Data Rate) : 1 transfert par cycle (front montant). DDR (Double) : 2 par cycle (fronts montant ET descendant). QDR (Quad) : 4 par cycle. D'où la distinction : MHz = fréquence réelle de l'horloge ; MT/s = transferts effectifs par seconde.

Erreur à éviter

« La DDR5-6400 tourne à 6400 MHz » → FAUX. L'horloge tourne à 3200 MHz et le bus effectue 6400 méga-transferts par seconde (6400 MT/s), grâce au mode DDR (×2).

Bus série : le débit utile

Sur une liaison série (PCIe…), on annonce un débit brut en GT/s et un nombre de voies ; il faut retrancher le codage de ligne. PCIe 1.0/2.0 utilisent le codage 8b/10b (rendement 80 %) ; PCIe 3.0+ le 128b/130b (98,5 %).

Calcul type — PCIe 3.0 (par voie)

8 × 10⁹ bits/s × (128/130) ÷ 8 bits/octet ≈ 985 Mo/s par voie → ×16 ≈ 15,8 Go/s. (Dans l'app « Calcul ».)

Définition — Débit ≠ Latence

Débit (bandwidth) = combien d'octets par seconde (le nombre de voies de l'autoroute) ; détermine le temps de copie des gros fichiers. Latence = le temps avant le premier octet (le temps pour rejoindre l'autoroute) ; détermine la sensation de réactivité. Un SSD NVMe (~50 µs de latence) face à un disque dur (~10 ms) : facteur 10 sur le débit, mais facteur 1000 sur la latence — c'est la latence qui explique la sensation de rapidité.

4.9 — Topologie & arbitrage

LE grand basculement des années 2000

On est passé du bus partagé (multipoint : tous sur les mêmes fils, bande passante partagée, arbitrage indispensable — ISA, PCI, PATA, FSB) à la liaison point-à-point (une liaison dédiée par périphérique, bande passante dédiée, pas d'arbitrage — PCIe, SATA, USB, DMI, QPI). C'est le standard actuel.

Définition — Arbitrage

Puisqu'un bus partagé n'autorise qu'une conversation à la fois, il faut décider qui obtient le bus. Trois familles : chaîne (daisy chain) — simple, priorité figée par la position ; requêtes indépendantes — chaque maître a sa paire REQ/GNT vers un arbitre central (modèle du bus PCI) ; décentralisé — chaque composant observe le bus et applique une règle commune (ex. SCSI). Politiques : priorité fixe, tourniquet (round-robin), ou hybride.

Définition — Bus mastering & DMA

Bus mastering : la capacité d'un composant autre que le CPU à prendre le contrôle du bus pour effectuer lui-même ses transferts. Déroulé : le contrôleur active BUSRQ → le CPU finit son cycle, met ses sorties en haute impédance et active BUSAK → le contrôleur devient maître et transfère les données → il relâche BUSRQ, le CPU reprend la main. Le CPU n'est plus le seul maître du bus : c'est le principe du DMA (Direct Memory Access). Sans lui, aucun SSD NVMe ni carte graphique moderne ne serait exploitable — le CPU passerait son temps à recopier des octets un par un.

Pourquoi le parallèle a disparu

Envoyer 32 bits sur 32 fils en même temps pose quatre problèmes à haute fréquence : décalage d'horloge (clock skew : les bits partis ensemble n'arrivent pas ensemble, les pistes n'ayant pas la même longueur), diaphonie (crosstalk : chaque piste parasite ses voisines), réflexions (les connecteurs inutilisés forment des antennes parasites), coût en broches. La réponse du série : une paire différentielle par sens, une horloge récupérée depuis les données (8b/10b…), une liaison point-à-point, et le parallélisme reporté par agrégation de voies (×1, ×4, ×8, ×16). Illustration : PATA (80 conducteurs, 133 Mo/s) vs SATA (4 conducteurs utiles, 600 Mo/s). On n'a pas abandonné le parallélisme : on l'a déplacé du fil vers la voie.

4.10 — Le bus interne (dans la puce)

À l'intérieur du processeur, le chemin de données (datapath) relie le banc de registres à l'ALU : deux bus d'opérandes (Bus A, Bus B) et un bus de résultat. D'autres bus internes relient l'IR au décodeur, le PC au registre d'adresse (MAR). Ce bus interne est plus large et bien plus rapide que l'externe (ni broche, ni connecteur).

L'ATmega328P (Arduino Uno) illustre le Harvard interne : deux mémoires distinctes, donc deux bus en parallèle — Flash 32 Ko (bus 16 bits, instructions) et SRAM 2 Ko (bus 8 bits, données). Le CPU peut charger l'instruction suivante pendant qu'il exécute la courante (pipeline à deux étages). Ici, le goulot de von Neumann est résolu par la topologie des bus, pas par du cache.

Définition — Interconnexions multicœurs

Avec plusieurs cœurs, plusieurs niveaux de cache et des contrôleurs intégrés, il faut un vrai réseau sur puce : Ring Bus (anneau, Intel grand public), Mesh (grille 2D, Xeon), Infinity Fabric (AMD, entre chiplets), AMBA/AXI (ARM, embarqué). Ces réseaux transportent aussi le trafic de cohérence de cache : quand un cœur modifie une donnée présente dans le cache d'un autre, il faut l'en informer.

4.11 — Le PC d'aujourd'hui : 40 ans de hiérarchisation

L'histoire des bus du PC est une suite de goulots déplacés : chaque étape supprime un goulot d'étranglement… et en crée un nouveau, un cran plus loin.

AnnéeArchitectureGoulot atteint
1981Un bus unique (ISA pour tout)Disque et carte vidéo se disputent 8 Mo/s
1993Deux niveaux (PCI + ISA par un pont)Le PCI partagé sature avec la 3D
1998FSB + ponts (Northbridge / Southbridge)Le FSB devient le goulot : tout y passe
2009Intégration (Northbridge absorbé par le CPU)Il ne reste qu'un PCH relié par un lien série

Sur un PC actuel, le CPU (qui intègre le contrôleur mémoire IMC et le contrôleur PCIe) relie directement les éléments les plus gourmands : barrettes RAM DDR5 (≈102 Go/s), carte graphique (PCIe 5.0 ×16, ≈63 Go/s), premier SSD M.2 (PCIe 4.0 ×4, ≈8 Go/s). Tout le reste (SATA, USB, réseau, autres SSD) pend au PCH (le chipset), relié au CPU par un seul lien DMI (≈16 Go/s) partagé.

Trois conséquences concrètes (dépannage)

1. Lignes PCIe limitées : un SSD Gen4 ×4 (≈7,9 Go/s) placé derrière le DMI, qui héberge aussi réseau/USB/SATA, ne délivrera pas son débit nominal en charge simultanée.
2. Partage de lignes : occuper le 2ᵉ port M.2 désactive souvent 2 ports SATA ; le 3ᵉ fait passer le port graphique de ×16 à ×8. Toujours lire le manuel de la carte mère.
3. Voies & générations : chaque génération double le débit par voie, donc PCIe 4.0 ×2 ≈ PCIe 3.0 ×4. Inutile de payer un SSD Gen5 si le port est Gen3 ×4 (il sera bridé). En cas de lenteur, vérifier la liaison réellement négociée (LnkSta), pas celle annoncée sur la boîte.

Partie 5

Les mémoires : de la ROM à la mémoire virtuelle

Un ordinateur passe son temps à retenir des informations : le firmware qui le démarre, le programme en cours, la donnée que le processeur réclame tout de suite. Ce chapitre fait le tour complet : les mémoires qui n'oublient jamais (mortes), celles qui oublient dès qu'on coupe le courant (vives), la barrette de RAM que tu peux tenir en main, et les mécanismes invisibles (cache, mémoire virtuelle) qui font que tout ça semble rapide et fiable.

5.1 — Les deux grandes familles : morte et vive

Définition — Volatile / non volatile

Une mémoire volatile perd son contenu dès que l'alimentation est coupée : c'est le cas de la RAM. Une mémoire non volatile conserve son contenu sans courant : c'est le cas de la mémoire morte (ROM et ses descendantes, dont la Flash). « Morte » ne veut pas dire inutile : ça veut dire figée (ou presque) — on la lit beaucoup, on l'écrit rarement.

Image mentale — le cahier et le livre

La mémoire vive, c'est un cahier de brouillon au crayon : on y écrit et on y gomme sans arrêt, mais si on le passe à la machine à laver (coupure de courant), tout s'efface. La mémoire morte, c'est un livre imprimé : impossible (ou difficile) d'y changer un mot, mais il survit à tout. L'histoire des mémoires mortes, c'est l'invention de livres de plus en plus faciles à réimprimer — jusqu'à la Flash, un livre qu'on réimprime d'une pression de bouton.

5.2 — La mémoire morte : ROM → PROM → EPROM → EEPROM → Flash

Chaque génération répond au même besoin : garder un contenu sans courant, tout en devenant plus simple à (re)programmer. Surtout utilisées en informatique embarquée.

TypeEffacementGranularitéÉcritureUsage actuel
ROMimpossible—à l'usine (masque)très grandes séries
PROM / OTPimpossible—une seule fois (claquage de fusibles)codes de série
EPROMUV, ~20 min, puce entièrepuce entièrelente, hors circuitobsolète
EEPROMélectriqueoctetlente, in situSPD, EDID, capteurs
Flash NORélectriqueblocmoyennefirmware UEFI
Flash NANDélectriqueblocrapideSSD, clés USB, cartes SD
  • ROM (Read Only Memory) : contenu fixé à la fabrication, non modifiable.
  • PROM (Programmable ROM), dite aussi OTP (One Time Programmable) : programmable électriquement une seule fois, par claquage de fusibles internes. Plus de retour en arrière.
  • EPROM (Erasable Programmable ROM — « E » pour effaçable, pas « électrique ») : effaçable par rayons UV (~20 min à travers une petite fenêtre en quartz), mais il faut l'extraire de son support pour la reprogrammer. Obsolète.
  • EEPROM (Electrically Erasable Programmable ROM) : effaçable et reprogrammable électriquement, en place, octet par octet — mais l'écriture est très lente. Rétention ~10 ans. C'est elle qui stocke le SPD des barrettes de RAM et l'EDID des écrans (voir partie 10).
  • Flash : l'évolution des EEPROM — plus rapide, mais effacement par blocs entiers et nombre de cycles d'effacement limité. Rétention ~10 ans. Usage : clés USB, SSD, BIOS.
Définition — Flash NOR vs Flash NAND

Deux familles, deux métiers. NOR : adressable à l'octet, lecture aléatoire rapide, permet l'exécution en place (XIP) — mais faible densité et coût élevé au Go → firmware UEFI (petite puce SPI à 8 broches), microcontrôleurs. NAND : organisée en pages (~4 Ko) et blocs (~256 Ko), lecture/écriture par page et effacement par bloc entier — très forte densité, faible coût → SSD, clés USB, cartes SD. À retenir : le firmware d'un PC vit en NOR, ton SSD est en NAND.

5.3 — La mémoire vive : SRAM vs DRAM, et le secret du « D »

La RAM (Random Access Memory) a déjà été définie dans partie 2 : accès « aléatoire » = on lit n'importe quelle case directement, sans parcourir les précédentes. Il en existe deux réalisations physiques très différentes :

  • SRAM (Static RAM) : chaque bit est tenu par une petite bascule à plusieurs transistors. L'état, une fois fixé, se conserve tout seul (tant qu'il y a du courant) : pas de rafraîchissement. Très rapide mais onéreuse et peu dense → c'est la matière première des caches du processeur (partie 3).
  • DRAM (Dynamic RAM) : chaque bit = 1 transistor + 1 condensateur. Minuscule et bon marché → grandes capacités → c'est la mémoire centrale. Mais les condensateurs fuient…
Image mentale — les seaux percés

Une puce de DRAM est un immense mur de seaux percés : seau plein = 1, seau vide = 0. Comme ils fuient, un gardien passe recharger chaque rangée au moins toutes les 64 ms (une commande REFRESH part toutes les ~7,8 µs — le paramètre tREFI), sinon l'information s'évapore d'elle-même. C'est le « D » de DRAM : dynamique = il faut agir en permanence pour que rien ne se perde. Ce gardiennage a un coût : la banque en cours de rafraîchissement est indisponible (~2 à 5 % de bande passante perdue), et au-delà de 85 °C les seaux fuient deux fois plus vite — il faut rafraîchir deux fois plus souvent.

Autre conséquence physique : une puce n'est pas une liste de cases mais une matrice de lignes (rows) et de colonnes (columns). Lire une ligne la recopie entièrement dans une rangée de tampons (les amplificateurs de lecture, sense amplifiers) — et cette lecture vide les condensateurs : elle est destructrice. Il faut donc réécrire la ligne avant d'en ouvrir une autre. C'est cette contrainte physique qui explique TOUS les timings qu'on va voir.

5.4 — RAS, CAS et les timings : pourquoi la latence stagne

Une adresse complète demanderait trop de broches : on l'envoie en deux temps sur les mêmes broches (adressage multiplexé). Séquence d'une lecture :

  1. RAS (Row Address Strobe) : on ouvre la ligne → attente tRCD.
  2. CAS (Column Address Strobe) : on choisit la colonne → attente CL.
  3. La donnée sort sur le bus.
  4. Precharge : on referme la ligne → attente tRP.

Accès suivant dans la même ligne : seul CAS est nécessaire → bien plus rapide. Les timings d'une barrette se lisent dans l'ordre CL – tRCD – tRP – tRAS (ex. 16-16-16-39) :

TimingDe … à …Ce qu'il mesure
tRCDRAS → CASOuverture de la ligne
CLCAS → donnéeSortie de la colonne sur le bus
tRPPrecharge → RAS suivantFermeture de la ligne
tRASRAS → PrechargeDurée minimale d'ouverture d'une ligne

(tRC = tRAS + tRP : le cycle complet d'une ligne.) Ces timings se comptent en cycles d'horloge ; pour les convertir en temps réel :

Définition — Latence réelle d'une barrette

Latence (ns) = CL × 2000 ÷ (taux de transfert en MT/s). Le 2000 vient du fait qu'en DDR l'horloge vaut la moitié des MT/s (partie 4) et qu'on convertit en nanosecondes. Exemple : DDR5-6400 CL34 → 34 × 2000 ÷ 6400 = 10,6 ns. Et une DDR4-3200 CL16 → 16 × 2000 ÷ 3200 = 10,0 ns : la latence absolue stagne autour de 10 ns depuis quinze ans. Un CL40 n'est donc pas « deux fois pire » qu'un CL16 — il faut toujours regarder CL et MT/s ensemble.

Mais alors, comment le débit explose-t-il de génération en génération ? Grâce aux banques : une puce contient plusieurs matrices indépendantes (DDR4 : 16 banques en 4 groupes ; DDR5 : 32 en 8 groupes), chacune avec ses propres amplificateurs. Pendant qu'une banque se précharge, une autre est déjà lue : c'est l'entrelacement (interleaving) — le bus ne reste jamais inoccupé. C'est ainsi que le DÉBIT progresse alors que la LATENCE stagne — la distinction débit ≠ latence vue dans partie 4.

5.5 — La barrette : générations DDR, formats et double canal

La SDRAM (Synchronous DRAM) a synchronisé la mémoire sur l'horloge du système (66–133 MHz à l'époque) ; la DDR SDRAM (Double Data Rate) effectue deux opérations par cycle d'horloge — principe déjà vu dans partie 4. Les générations :

CaractéristiqueDDRDDR2DDR3DDR4DDR5
Année20002003200720142021
Tension2,5–2,6 V1,8 V1,5 V1,2 V1,1 V
Taux de transfert266–400 MT/s533–800800–16001600–32004800–6400
Prefetch2 bits4 bits8 bits8 bits16 bits
Bande passante max (par canal)3,2 Go/s6,4 Go/s12,8 Go/s25,6 Go/s51,2 Go/s
Capacité max par module1 Go2 Go8 Go64 Go512 Go
Timings typiques2.5-3-3-65-5-5-159-9-9-2416-16-16-3936-36-36-76
  • Formats physiques : DIMM (Dual In-line Memory Module, 288 broches en DDR4 comme en DDR5) pour postes fixes et serveurs ; SO-DIMM (260 broches en DDR4, 262 en DDR5) pour portables, mini-PC, NAS ; CAMM2, nouveau format plat et vissé des portables récents (meilleure intégrité de signal, peu répandu). Mémoire soudée = aucune évolution possible — à vérifier AVANT l'achat.
  • Pas d'erreur possible au montage : le détrompeur (l'encoche) change de position à chaque génération — on ne peut pas insérer une DDR4 dans un socket DDR5. Les tensions sont de toute façon incompatibles (DDR3 : 1,5 V, DDR4 : 1,2 V, DDR5 : 1,1 V — où le régulateur de tension, le PMIC, est passé SUR le module).
  • UDIMM / RDIMM / LRDIMM : grand public (signal direct) / serveur (un registre tamponne adresses et commandes) / serveur (tamponne aussi les données). Pourquoi ? Plus il y a de puces, plus le bus est chargé électriquement et le signal dégradé ; le tampon permet d'installer beaucoup plus de capacité. Un module serveur ne fonctionne pas sur une carte grand public, et inversement. Le rang (rank) : un ensemble de puces formant 64 bits (1R, 2R, 4R).
  • ECC RAM (Error Correcting Code) : une puce supplémentaire détecte et corrige les erreurs. Serveurs et stations de travail ; légèrement plus lente. Reconnaissable au nombre de puces : 9, 18 ou 36 au lieu de 8, 16 ou 32 (en DDR5 : 10 ou 20, à cause des deux sous-canaux).
  • Lire une étiquette : KF560C36BBE-16 (Kingston Fury) = KF gamme · 5 = DDR5 · 60 = 6000 MT/s · C36 = CL36 · 16 = 16 Go. À relever systématiquement : génération · capacité · MT/s · CL · kit ou module seul · ECC ou non.
  • Le double canal : le contrôleur mémoire (partie 4) dispose de plusieurs canaux de 64 bits. 1 barrette = 64 bits ; 2 barrettes bien placées = 128 bits → 2 × 8 Go sont plus rapides que 1 × 16 Go à capacité identique. Les emplacements à peupler sont repérés par la couleur (souvent A2 et B2) ; vérification : CPU-Z → onglet Memory → champ Channel. En DDR5, chaque module est déjà scindé en deux sous-canaux de 32 bits.
Piège — la vitesse achetée n'est pas la vitesse obtenue

Le SPD (Serial Presence Detect) est une petite EEPROM sur la barrette — retour à la mémoire morte du début du chapitre ! — qui déclare au firmware : capacité, organisation, timings garantis. Son profil standard (JEDEC) est volontairement prudent : une barrette vendue « DDR5-6000 » démarre en réalité à 4800 MT/s. Les profils d'overclocking XMP (Intel) et EXPO (AMD), stockés dans le SPD, doivent être activés manuellement dans l'UEFI — sinon la vitesse achetée est perdue. C'est la première chose à vérifier sur un montage neuf jugé « lent ».

5.6 — Les mémoires graphiques : GDDR et HBM

Pourquoi pas de DDR classique sur une carte graphique ? Parce que le GPU (partie 8) traite des milliers de pixels en parallèle : il a besoin de DÉBIT, pas d'une latence faible. D'où des mémoires spécialisées :

  • GDDR6 / GDDR7 : bus très large (256 à 384 bits), puces soudées au plus près du GPU. Latence plus élevée, débit plusieurs fois supérieur à la DDR.
  • HBM (High Bandwidth Memory) : puces empilées verticalement, bus de 1024 bits par pile. Calcul scientifique et accélérateurs d'intelligence artificielle.

Toujours le même compromis : débit / latence / coût.

5.7 — La hiérarchie mémoire et le cache en détail

Les CPU modernes sont beaucoup plus rapides que la RAM (le Processor-Memory Gap, vu dans partie 3) : sans étages intermédiaires, le processeur attendrait constamment. La hiérarchie de la mémoire organise les types de mémoire selon vitesse, capacité et coût :

NiveauVitesseCapacitéCoût/bitTemps d'accès typique
Registrestrès rapidetrès faibletrès élevé< 0,3 ns (dans l'instruction)
Cache L1/L2/L3rapidefaibleélevé~0,5 ns (L1)
RAMmoyennemoyennemodéré~50 ns
Secondaire (SSD, HDD)lentegrandefaible~100 µs (SSD), ~5 ms (HDD)
Tertiaire (bandes, cloud)très lentetrès grandetrès faiblearchivage

Elle fonctionne grâce à deux régularités du comportement des programmes : la localité temporelle (une donnée récemment utilisée a de bonnes chances de resservir) et la localité spatiale (les données voisines d'une donnée utilisée vont souvent servir aussi). La hiérarchie L1/L2/L3 elle-même (tailles, L3 partagé, trajet RAM → L3 → L2 → L1) est détaillée dans partie 3 ; voici ce qui se passe dedans :

  • La ligne de cache : le cache ne transfère jamais un octet isolé — l'unité d'échange est la ligne de 64 octets (x86 et ARM). Lire 1 octet en RAM en charge donc 64. C'est l'exploitation concrète de la localité spatiale : parcourir un tableau dans l'ordre = 1 défaut de cache pour 64 octets ; le parcourir en désordre = jusqu'à 1 défaut par octet. D'où l'importance de l'ordre des boucles sur un tableau 2D, et le faux partage entre cœurs.
  • L'associativité : où ranger une ligne qui arrive ? Direct (1 voie) : une seule place possible — rapide mais conflits fréquents. Associatif par ensembles (N voies) : N places — le compromis réel (L1 : 8–12 voies, L2 : 8–16, L3 : 12–16). Totalement associatif : n'importe où — idéal mais trop coûteux. L'algorithme de remplacement (LRU — Least Recently Used — ou pseudo-LRU) choisit la ligne à évincer.
  • Les politiques d'écriture : write-through = on écrit dans le cache ET en RAM (simple, cohérent, mais trafic élevé) ; write-back = on écrit seulement dans le cache, la ligne est marquée « modifiée » (dirty) et recopiée à son éviction — bien plus rapide, c'est le choix actuel. Conséquence : à un instant donné, la RAM n'est pas à jour — d'où l'espionnage de bus (snooping) pour la cohérence entre cœurs, et le risque de perte de données lors d'une coupure brutale.
Définition — Temps d'accès moyen

T moyen = T succès + (taux de défaut × pénalité). Exemple : L1 à 1 ns, RAM à 60 ns. À 99 % de succès : 1 + 0,01 × 60 = 1,6 ns. À 95 % : 1 + 0,05 × 60 = 4,0 ns. Passer de 99 % à 95 % de succès multiplie le temps d'accès par 2,5 : quelques pour cent de taux de succès valent très cher — c'est tout l'enjeu de la conception des caches.

5.8 — La mémoire virtuelle : MMU, pages et TLB

Dernier étage : le gestionnaire de mémoire du système d'exploitation, qui alloue et libère la mémoire entre les programmes. Il distingue la mémoire physique (la RAM installée) de la mémoire virtuelle : chaque processus voit un espace d'adresses à lui, traduit vers la RAM réelle.

Nuance — la mémoire virtuelle ne sert pas (d'abord) à agrandir la RAM

« Étendre la RAM avec le disque » était l'objectif des années 1990 ; avec 16 ou 32 Go de RAM c'est devenu secondaire. Les quatre rôles réels, par ordre d'importance : isolation (chaque processus a son espace et ne peut pas atteindre celui des autres), relocation (un programme s'exécute là où il y a de la place), partage (une bibliothèque chargée une fois, vue par vingt processus), protection (pages marquées non exécutables — bit NX). C'est ce qui fait qu'un plantage de navigateur ne fait pas tomber Windows.

  • La MMU (Memory Management Unit), intégrée au processeur, traduit chaque adresse virtuelle en adresse physique, à chaque accès, de façon transparente.
  • La page est l'unité de traduction : 4 Kio par défaut (2 Mio et 1 Gio pour les grandes pages). Une adresse virtuelle = numéro de page + déplacement dans la page. Sur x86-64, la table des pages a 4 niveaux (parfois 5) ; chaque entrée porte aussi les droits : lecture, écriture, exécution.
  • Le TLB (Translation Lookaside Buffer) : traverser 4 niveaux de table à chaque accès serait ruineux (un accès mémoire en coûterait cinq). Le TLB est un petit cache des traductions récentes (quelques dizaines à quelques milliers d'entrées, > 99 % de succès). Un défaut de TLB oblige à parcourir la table ; les grandes pages servent surtout à réduire la pression sur le TLB.
  • Le défaut de page est une EXCEPTION, pas une erreur : mineur = la page est en RAM, il suffit de mettre la table à jour ; majeur = elle est sur le disque, il faut aller la chercher.
Image mentale — l'écroulement (thrashing)

Quand la RAM manque, le système passe son temps à échanger des pages entre RAM et disque — comme un cuisinier dont le plan de travail est trop petit : il passe plus de temps à ranger et ressortir ses ingrédients du frigo qu'à cuisiner. La machine ne ralentit pas progressivement : elle s'effondre d'un coup. Symptôme typique : disque à 100 %, processeur à 5 %, interface figée. C'est le diagnostic le plus fréquent de « l'ordinateur qui rame ».

Partie 6

SATA, SAS, PCI Express : brancher disques et cartes

Le chapitre des Bus (partie 4) a expliqué comment un bus fonctionne. Ici on regarde les bus concrets qu'on retrouve dans un PC ou un serveur, avec trois objectifs du cours : identifier chaque type de bus, connaître leurs différences techniques majeures, et savoir choisir le bon bus selon l'usage.

Définition — Interface de stockage / bus d'extension

Une interface de stockage est le bus (fils + connecteur + protocole) qui relie la carte mère à un disque : disque dur (HDD, Hard Disk Drive, à plateaux qui tournent), SSD (Solid State Drive, à mémoire Flash), lecteur optique (CD/DVD). Exemples : PATA, SATA, SAS. Un bus d'extension relie la carte mère à une carte qu'on enfiche dans un emplacement (slot) : carte son, réseau, graphique. Exemples : PCI, PCI Express.

Image mentale — les routes d'une ville

La carte mère est une ville. SATA, c'est l'allée privée qui relie chaque maison (un disque) au réseau : simple, pas chère, une maison par allée. SAS, c'est la zone industrielle : routes renforcées, contrôles de chargement à chaque livraison, des centaines d'entrepôts desservis par un même dépôt. PCI Express, c'est l'autoroute à plusieurs voies (×1, ×4, ×16) qui mène aux gros clients (la carte graphique). Et PATA/PCI, ce sont les vieilles routes partagées où tout le monde roulait sur la même chaussée.

6.1 — L'ancêtre : PATA / IDE

  • PATA (Parallel ATA), aussi appelé IDE (Integrated Drive Electronics) : l'ancienne interface des disques, parallèle.
  • Connecteur 40 broches et câble plat large (la « nappe ») qui relie la carte mère à deux appareils.
  • Les deux appareils partagent la même nappe : l'un est réglé en maître (master, primaire), l'autre en esclave (slave, secondaire), généralement par un petit cavalier (jumper) sur le disque.
  • Reconnaître un disque PATA : il a un connecteur à broches (pin connector) ; un disque SATA a un connecteur à languette (card-edge connector), des contacts plats sur le bord de la carte.

6.2 — SATA : le disque passe au série

Définition — SATA

SATA = Serial ATA, où ATA = Advanced Technology Attachment. C'est l'interface standard pour brancher HDD, SSD et lecteurs optiques. Contrairement à son ancêtre PATA, c'est un bus série : les bits passent l'un après l'autre sur une paire de fils, et chaque port SATA ne relie qu'un seul appareil (point-à-point, plus de maître/esclave).

Le connecteur d'un disque SATA a deux parties côte à côte :

  • 7 broches pour les données (data) : deux paires différentielles (une par sens) + 3 masses.
  • 15 broches pour l'alimentation, qui fournissent trois tensions : 3,3 V, 5 V et 12 V (le 12 V fait tourner le moteur d'un disque dur, le 5 V alimente l'électronique). Les tensions sont expliquées dans partie 1.3.

Les révisions (versions successives de la norme) :

RévisionAnnéeDébit brut (sur le fil)Débit utile (8b/10b)Remarque
120031,5 Gbit/s150 Mo/s« SATA I »
220043 Gbit/s300 Mo/s« SATA II »
320096 Gbit/s600 Mo/s« SATA III », la norme actuelle
3.2201316 Gbit/s≈ 2 Go/sSATA Express (en réalité 2 voies PCIe 3.0)
Correction du cours — les débits SATA

Le tableau du cours indique 3,2 Gbps pour la révision 2 et 6 GBps pour la révision 3. Deux petites coquilles : la révision 2 tourne à 3 Gbit/s (pas 3,2), et la révision 3 à 6 Gbit/s — avec un b minuscule (bits), pas un B majuscule (octets). La différence est énorme : 6 Go/s serait 8 fois plus rapide que la réalité ! Rappel : b = bit, B = octet (byte), 1 octet = 8 bits (partie 1.1).

De plus, le débit « sur le fil » n'est pas le débit utile : SATA utilise le codage 8b/10b (10 bits envoyés pour 8 bits de données, rendement 80 %). Donc 6 Gbit/s × 0,8 ÷ 8 = 600 Mo/s réellement disponibles (partie 4.8 explique ce codage). (Calcul disponible dans l'app « Calcul ».)

Nuance — SATA Express

La « révision 3.2 / SATA Express » ne fait pas tourner SATA plus vite : elle fait passer le disque par 2 voies PCI Express (d'où les 16 Gbit/s). Elle a été très peu utilisée et a vite été remplacée par les SSD M.2 NVMe, branchés directement en PCIe. Retiens : au-delà de 600 Mo/s, un SSD ne passe plus par SATA mais par PCIe.

6.3 — SAS : le SATA des entreprises

Définition — SAS / SCSI

SAS = Serial Attached SCSI. SCSI (Small Computer System Interface, prononcé « scuzzy ») est une ancienne famille de normes parallèles pour serveurs ; SAS en est la version série, comme SATA l'est pour ATA. On le trouve dans les serveurs et les data centers (centres de données).

  • Contrôle d'intégrité par CRC (Cyclic Redundancy Check, code de vérification calculé sur chaque paquet) : une donnée abîmée en route est détectée. Le principe du CRC est expliqué dans partie 9.11.
  • Adapté aux environnements d'entreprise : conçu pour tourner 24 h/24, avec des disques plus robustes (et plus chers).
  • Débit : jusqu'à 24 Gbit/s en SAS-4 (appelé « 24G » ; le débit exact sur le fil est 22,5 Gbit/s).
  • Beaucoup d'appareils par contrôleur : le cours indique 128 périphériques.
Compatibilité à sens unique

On peut brancher un disque SATA sur un contrôleur SAS : le contrôleur SAS sait « parler SATA ». L'inverse n'est pas vrai : un disque SAS ne fonctionne pas sur un contrôleur SATA. C'est même rendu physiquement impossible : sur un disque SATA, il y a une encoche entre la partie données et la partie alimentation ; sur un disque SAS, cette encoche est comblée, donc il ne rentre pas dans une prise SATA.

Image mentale — le lecteur DVD

Un lecteur DVD lit aussi les CD (le plus évolué comprend l'ancien), mais un lecteur CD ne lit pas les DVD. Le contrôleur SAS, c'est le lecteur DVD : il accepte les disques SATA. Le contrôleur SATA, c'est le lecteur CD : il refuse les disques SAS.

Nuance — « 128 périphériques »

Un port SAS, comme un port SATA, ne relie qu'un appareil (point-à-point). Pour en brancher beaucoup, on ajoute des expandeurs (expanders) : des boîtiers-aiguillages qui multiplient les ports, un peu comme un hub USB. Le chiffre de 128 correspond aux anciennes limites d'un expandeur ; avec plusieurs expandeurs en cascade, la norme SAS permet en théorie jusqu'à 65 535 appareils. Retiens surtout l'idée : SAS se partage entre beaucoup de disques, SATA non.

6.4 — PCI puis PCI Express : les cartes d'extension

Définition — PCI / PCI Express

PCI = Peripheral Component Interconnect (1992) : bus qui permet de connecter des cartes à la carte mère (son, réseau, graphique). Bus parallèle partagé, bande passante max 133 Mo/s. PCI Express (PCIe, 2004) : son successeur, bus série point-à-point, organisé en voies (lanes) qu'on additionne : ×1, ×4, ×8, ×16.

D'où viennent les 133 Mo/s du PCI ? C'est la formule du débit d'un bus parallèle (partie 4.8) : 32 bits de large ÷ 8 = 4 octets, × 33,33 MHz × 1 transfert par cycle ≈ 133 Mo/s — à partager entre toutes les cartes du bus.

Correction du cours — « 63 Gb/s max (PCIe 4.0 16x) »

Le chiffre est en réalité en octets, et il additionne les deux sens. Un PCIe 4.0 ×16 transporte ≈ 31,5 Go/s dans chaque sens (≈ 252 Gbit/s), soit ≈ 63 Go/s si on additionne l'aller et le retour. Écrit « 63 Gb/s », le PCIe semble à peine 10 fois plus rapide que le SATA (6 Gb/s) ; en réalité c'est plus de 50 fois (31,5 Go/s contre 0,6 Go/s). Et ce n'est plus le maximum : PCIe 5.0 ×16 atteint ≈ 63 Go/s par sens (partie 4.11). Le calcul « débit par voie × nombre de voies » est détaillé dans partie 4.8.

Nuance — la « rétrocompatibilité » PCI

Le cours dit qu'on peut connecter des cartes PCI sur un bus PCIe « avec adaptateur ». C'est vrai, mais il faut bien comprendre le mot : les prises PCI et PCIe sont physiquement et électriquement différentes (parallèle contre série). La compatibilité est surtout logicielle : PCIe a gardé la même façon d'identifier et de configurer les cartes, donc les systèmes d'exploitation et pilotes s'y retrouvent. L'« adaptateur » est une puce-pont (bridge) qui traduit entre les deux bus — pas un simple câble.

6.5 — Choisir le bon bus selon l'usage

CritèreSATASASPCIe
CoûtÉconomique (grand public)Élevé (entreprises)Variable
Débit max6 Gbit/s (600 Mo/s utiles)24 Gbit/s≈ 31,5 Go/s par sens (4.0 ×16)
Connectivité1 appareil par portJusqu'à 128 appareils (expandeurs)1 carte par liaison, de 1 à 32 voies
Fiabilité (disques)≈ 700 000 h MTBF≈ 1,6 million h MTBFN/A
Cas d'usageStockage de masseData centers / virtualisationCartes d'extension (et SSD NVMe)
Correction du cours — « PCIe : 1-32 périphériques »

Le chiffre « 1 à 32 » ne compte pas des périphériques mais des voies : une liaison PCIe peut faire ×1, ×2, ×4, ×8, ×16 (et ×32 en théorie, jamais utilisé en pratique). Comme SATA, PCIe est point-à-point : une liaison = une seule carte. Plus de voies = plus de débit pour cette carte, pas plus de cartes.

Définition — MTBF

MTBF = Mean Time Between Failures, temps moyen entre deux pannes, en heures. C'est une statistique sur un grand nombre de disques, pas la durée de vie d'un disque : 700 000 h (≈ 80 ans) ne veut pas dire que ton disque vivra 80 ans ! On le traduit plutôt en taux de panne annuel : taux ≈ 8 760 ÷ MTBF (8 760 = nombre d'heures dans une année). Pour 700 000 h : 8 760 ÷ 700 000 ≈ 1,25 % des disques tombent en panne chaque année ; pour 1,6 million h : ≈ 0,55 %. (Calcul disponible dans l'app « Calcul ».) Note : le MTBF est une qualité du disque (les disques SAS sont construits plus robustes), pas du câble — d'où le « N/A » pour PCIe.

Image mentale — la grille de décision

Un PC de bureau qui veut beaucoup de place pas cher → SATA (le disque dur de 4 To). Un serveur qui fait tourner des dizaines de machines virtuelles jour et nuit → SAS (fiable, partageable, cher). Une carte graphique, une carte réseau rapide, un SSD très rapide → PCIe (le seul qui offre des dizaines de Go/s).

Partie 7

Les disques : HDD, SSD, mSATA, M.2 et NVMe

Le chapitre précédent (partie 6) parlait des câbles et des bus. Celui-ci parle de ce qu'on branche au bout : les disques. Trois objectifs du cours : savoir identifier le type de disque, connaître ses caractéristiques techniques, et savoir choisir un disque en fonction de l'ordinateur dans lequel il doit aller.

Définition — Interface vs facteur de forme

Pour décrire un disque, il faut deux informations, à ne jamais confondre. Le facteur de forme (form factor) = sa taille et sa forme physique : 3,5 pouces, 2,5 pouces, mSATA, M.2… C'est ce qui décide s'il rentre dans l'emplacement. L'interface = la langue que parle le disque pour échanger les données avec l'ordinateur : SATA ou NVMe. C'est ce qui décide de sa vitesse et de sa compatibilité avec la carte mère.

Image mentale — la prise et la langue

Imagine un interprète. Sa taille (facteur de forme) décide s'il passe la porte du bureau. La langue qu'il parle (interface) décide s'il peut discuter avec ton patron. Un interprète qui passe la porte mais ne parle que japonais ne sert à rien : un SSD M.2 qui rentre dans l'emplacement mais parle NVMe alors que la carte mère n'attend que du SATA ne fonctionnera pas.

7.1 — HDD vs SSD : des plateaux contre des puces

  • HDD = Hard Disk Drive (disque dur) : les données sont écrites magnétiquement sur des plateaux qui tournent, lues par une tête montée sur un bras mobile.
  • SSD = Solid State Drive (disque « à l'état solide ») : les données sont stockées dans des puces de mémoire Flash NAND, sans aucune pièce mobile.

La différence fondamentale, c'est le support sur lequel les données sont sauvegardées. Tout le reste en découle :

CritèreHDDSSD (SATA)
SupportPlateaux magnétiques qui tournentPuces Flash NAND
Pièces en mouvementOui (moteur, bras, tête)Aucune
Débit max (cours)≈ 160 Mo/s≈ 550 Mo/s
ChocsSensible (la tête peut rayer le plateau)Résistant
ConsommationPlus importante (il faut faire tourner le moteur)Plus faible
Récupération des donnéesAssez facile après une panneDifficile
Image mentale — le tourne-disque et l'interrupteur

Le HDD, c'est un tourne-disque : pour écouter une chanson, il faut attendre que le disque tourne jusqu'au bon endroit et poser le bras dessus. Un coup dans le meuble, et l'aiguille saute. Le SSD, c'est un mur d'interrupteurs : on regarde directement l'interrupteur voulu, rien ne bouge, rien n'attend.

À bien lire — trois précisions

1. Le slide liste « consommation d'énergie plus importante » à la suite des défauts du HDD : c'est bien le HDD qui consomme le plus, pas le SSD.
2. Les 160 Mo/s correspondent au disque dur 2,5 pouces de la photo (format portable). Un gros disque 3,5 pouces de PC de bureau va un peu plus vite, mais reste loin derrière un SSD.
3. « Données facilement récupérables » : sur un HDD, effacer un fichier ne fait souvent que l'oublier dans l'index ; le contenu reste sur le plateau et un spécialiste peut le relire. Un SSD, lui, nettoie activement ses blocs libérés (pour pouvoir réécrire vite, voir plus bas) : les données disparaissent vraiment.

7.2 — Les facteurs de forme : 2,5", mSATA, M.2

  • 3,5 pouces et 2,5 pouces : les boîtiers classiques. Le 3,5" est réservé aux disques durs de bureau ; le 2,5" accueille les disques durs de portable et les SSD SATA. Ils se branchent par câble avec le connecteur SATA données + alimentation (partie 6.2).
  • mSATA (mini-SATA) : une petite carte nue, version compacte d'un SSD SATA, avec la même performance (550 Mo/s). Deux tailles : pleine taille (full-size, 50,8 × 29,85 mm) et demi-taille (half-size, 26,8 × 29,85 mm). Format ancien, remplacé par le M.2.
  • M.2 (anciennement appelé NGFF, Next Generation Form Factor) : une barrette fine qui se visse directement sur la carte mère. Sa taille est écrite dans son nom.
Définition — Lire la taille d'un M.2 (22xx)

Le code à 4 ou 5 chiffres = largeur puis longueur, en millimètres. Les deux premiers chiffres valent toujours 22 (22 mm de large) ; la suite est la longueur : 2230 (30 mm), 2242 (42 mm), 2260 (60 mm), 2280 (80 mm, le plus courant dans les PC), 22110 (110 mm, surtout en serveur). Avant d'acheter, on vérifie quelle longueur l'emplacement de la carte mère accepte (la vis de fixation est à une position précise).

Piège classique — M.2 ne veut pas dire NVMe

M.2 est une forme, pas une interface. Un SSD M.2 peut parler SATA (550 Mo/s max) ou NVMe (jusqu'à 14 000 Mo/s). Deux barrettes identiques à l'œil peuvent donc avoir des vitesses qui varient d'un facteur 25 ! Et une carte mère peut avoir un emplacement M.2 qui n'accepte que l'un des deux : toujours lire le manuel.

7.3 — Les SSD SATA : 550 Mo/s et des adaptateurs

Un SSD SATA (2,5", mSATA ou M.2 SATA) est plafonné par le bus SATA. Le cours retient 550 Mo/s. La norme est compatible avec les anciennes versions : un SSD SATA III fonctionne sur un port SATA II, mais à la vitesse du SATA II.

Correction du cours — « vitesse théorique max : 550 MB/s »

550 Mo/s n'est pas le maximum théorique : c'est le maximum réel qu'atteignent les meilleurs SSD SATA. Le maximum théorique du SATA III est 600 Mo/s : 6 Gbit/s sur le fil, moins le codage 8b/10b (rendement 80 %), divisé par 8 (calcul détaillé en partie 6.2). Les ≈ 50 Mo/s manquants partent dans la gestion du protocole (commandes, accusés de réception). Retiens les deux : 600 = théorique, 550 = réel.

Les adaptateurs (utiles en dépannage) :

  • On peut monter un M.2 SATA dans un boîtier d'adaptation 2,5" : il devient un SSD 2,5" classique, branché par câble SATA.
  • On peut monter un mSATA sur un adaptateur SATA (petite carte avec un connecteur SATA standard).
  • Ces adaptateurs acceptent les M.2 à encoche B ou B+M (SATA), mais refusent les M.2 NVMe à encoche M seule : l'adaptateur ne fait que du SATA, il ne sait pas parler NVMe.

7.4 — Les SSD NVMe : le disque passe sur PCI Express

Définition — NVMe

NVMe = Non-Volatile Memory Express. C'est le protocole (la langue) conçu spécialement pour les SSD, qui les branche directement sur le bus PCI Express au lieu de passer par SATA. Un SSD M.2 NVMe utilise 4 voies PCIe (×4). Le SATA avait été pensé pour des disques durs lents ; le NVMe enlève ce goulot. Résultat : jusqu'à 14 000 Mo/s sur PCIe 5.0.

Génération PCIeVoiesDébit par voieVitesse max d'un SSD (cours)
Gen 3×4≈ 1 Go/s≈ 3 500 Mo/s
Gen 4×4≈ 2 Go/s≈ 7 000 Mo/s
Gen 5×4≈ 4 Go/s≈ 14 000 Mo/s

Comment reconnaître un M.2 SATA d'un M.2 NVMe ? Par les encoches (keys) du connecteur doré. Un M.2 SATA a généralement deux encoches (B et M). Un M.2 NVMe n'a qu'une encoche, M. C'est un détrompeur, comme l'encoche des barrettes de RAM.

Nuance — « le taux de transfert est fixé par le bus PCIe de la carte mère »

Plus exactement : la vitesse est fixée par le plus lent des deux, le SSD ou l'emplacement. Chaque génération est rétrocompatible : un SSD Gen 5 fonctionne dans un emplacement Gen 3, mais à ≈ 3 500 Mo/s. Et un SSD Gen 3 dans un emplacement Gen 5 reste à ≈ 3 500 Mo/s. Le calcul exact du débit théorique (≈ 3,94 / 7,88 / 15,75 Go/s en ×4) est dans partie 4.8 ; les chiffres du tableau sont ceux des SSD réels, un peu en dessous. Le partage de lignes PCIe sur la carte mère est expliqué en partie 4.11.

7.5 — À l'intérieur d'un SSD : contrôleur, cache et cellules

Un SSD M.2 contient trois types de puces : la mémoire Flash NAND (où dorment les données), le contrôleur (le petit processeur qui gère tout : où écrire, l'usure, la correction d'erreurs) et souvent un cache DRAM (de la mémoire vive rapide qui garde la « carte » indiquant où se trouve chaque donnée). La Flash NAND elle-même (pages, blocs, effacement par bloc) est expliquée en partie 5.2.

Définition — SLC, MLC, TLC, QLC

Une cellule de Flash stocke de l'information sous forme d'une quantité de charge électrique. Si on distingue seulement « vide / plein », la cellule stocke 1 bit : c'est le SLC (Single-Level Cell). Si on distingue plus de niveaux de charge, on range plus de bits : MLC (Multi, 2 bits), TLC (Triple, 3 bits), QLC (Quad, 4 bits). Avec n bits, il faut distinguer 2ⁿ niveaux : 2, 4, 8 puis 16.

TypeBits / celluleNiveaux à distinguerÉcritureCycles d'écritureUsage
SLC12La plus rapide≈ 100 000Entreprise
MLC24Rapide≈ 10 000Stations de travail pro
TLC38Moyenne≈ 3 000Grand public, jeu
QLC416Lente≈ 1 000SSD économiques, archivage
Image mentale — le verre d'eau

Une cellule, c'est un verre d'eau. En SLC, on regarde juste « vide ou plein » : facile, rapide, et même un verre un peu abîmé reste lisible. En QLC, il faut distinguer 16 niveaux de remplissage : il faut verser lentement et précisément, et dès que le verre s'use un peu (chaque écriture l'abîme), on confond deux niveaux voisins. D'où la règle : plus de bits par cellule = moins cher au Go, mais plus lent et moins durable.

Définition — 3D NAND / V-NAND

Au lieu de poser les cellules à plat sur la puce, on les empile en hauteur, en dizaines voire centaines de couches : c'est la 3D NAND. V-NAND (Vertical NAND) est simplement le nom commercial que Samsung donne à sa 3D NAND. Comme un immeuble plutôt qu'une maison de plain-pied, on loge bien plus de cellules sur la même surface : plus de capacité, et une meilleure vitesse et durée de vie. La correction d'erreurs, que le cours cite aussi, est assurée par le contrôleur (code ECC) ; elle existe sur tous les SSD, mais elle compte d'autant plus que les cellules sont denses.

7.6 — Durée de vie : TBW, température et espace libre

Définition — TBW

TBW = Terabytes Written, téraoctets écrits. C'est la quantité totale de données que le fabricant garantit pouvoir écrire sur le SSD pendant toute sa vie. Elle découle du nombre limité de cycles d'écriture des cellules (tableau ci-dessus). On la trouve dans la fiche technique (datasheet). Pour la rendre parlante, on la convertit en volume d'écriture par jour sur la durée de garantie.

Correction du cours — convertir des TBW : 1 To = 1 000 Go

Le slide calcule « 1 TB = 1024 GB, donc 1200 TB × 1024 = 1 228 800 GB ». C'est le piège déjà rencontré en partie 1.1 : les fabricants de disques comptent en unités SI, donc 1 To = 1 000 Go. Le ×1024 sert pour les Tio/Gio (binaires), pas ici. Calcul juste :

1 200 To × 1 000 = 1 200 000 Go ; 10 ans × 365 = 3 650 jours ; 1 200 000 ÷ 3 650 ≈ 328,77 Go/jour (et non 336,65). L'écart n'est que de 2,4 %, mais la méthode doit être juste. (Calcul disponible dans l'app « Calcul ».) En pratique, un particulier écrit rarement plus de quelques dizaines de Go par jour : ce SSD a de la marge.

Prolonger la vie d'un SSD M.2 :

  • Gérer la température du contrôleur. C'est la puce qui chauffe le plus : sur la photo thermique du cours, un Samsung 970 EVO Plus atteint 101 °C. Trop chaud, le contrôleur ralentit volontairement pour se protéger (throttling), et la chaleur use les composants. Solution : un dissipateur (radiateur) sur le M.2, que beaucoup de cartes mères fournissent, et un boîtier bien ventilé. Rappel : toute puissance consommée finit en chaleur (partie 1.3).
  • Laisser 10 à 20 % d'espace libre pour garder de bonnes performances. Pourquoi ? La Flash ne s'efface que par bloc entier (partie 5.2) : pour réécrire, le contrôleur a besoin de blocs vides d'avance. Un SSD presque plein doit sans cesse déménager des données pour libérer des blocs, ce qui ralentit et use davantage les cellules.

Partie 8

CPU vs GPU : deux philosophies de calcul

Définition — GPU

Graphical Processing Unit. Un processeur spécialisé, conçu au départ pour calculer l'affichage (les pixels), et aujourd'hui aussi pour l'IA et le calcul scientifique.

CPU et GPU font tous deux des calculs, mais avec des stratégies opposées :

CPUGPU
CœursPeu de cœurs, puissants et polyvalentsBeaucoup de cœurs (des centaines/milliers), simples et spécialisés
Point fortTâches séquentielles, variées et complexesNombreuses opérations simples en parallèle
MémoireGrand cache pour accès rapide aux données fréquentesHiérarchie orientée gros débit de données
UsageSystème d'exploitation, applicationsRendu graphique, calcul matriciel/vectoriel, IA
Image mentale

Le CPU = 4 professeurs d'université. Chacun peut résoudre un problème très compliqué, mais ils sont peu nombreux. Le GPU = 1000 élèves de primaire. Chacun ne sait que faire des additions, mais si tu dois faire 1000 additions en même temps, l'armée d'élèves écrase les professeurs. Afficher une image (= le même calcul sur des millions de pixels) est exactement ce genre de tâche.

8.1 — Les termes du chapitre

Définition — SIMD

Single Instruction, Multiple Data. Une seule instruction appliquée à plein de données à la fois. C'est le principe même du GPU : « ajoute 1 » exécuté simultanément sur des milliers de valeurs.

Définition — API

Application Programming Interface. Une interface logicielle : un ensemble de fonctions qu'un programme utilise pour commander un composant ou un service, sans connaître ses détails internes.

Définition — CUDA

Compute Unified Device Architecture. Plateforme + API créée par Nvidia (2006) qui permet d'utiliser le GPU pour des calculs généraux (pas seulement graphiques). Bibliothèque pour C++, Python… C'est l'un des moteurs du boom de l'IA.

Pourquoi le GPU est roi pour l'IA : entraîner une IA = faire d'énormes quantités d'opérations matricielles et vectorielles, toutes semblables. C'est du SIMD pur — le GPU traite ces données massivement en parallèle, ce qui accélère énormément l'apprentissage et les applications temps réel (conduite autonome, reconnaissance vocale).

Partie 9

L'USB, de A à Z

Définition — USB

Universal Serial Bus. Un bus (cf. partie 4) standardisé pour brancher des périphériques. « Serial » (série) : les données sont transmises un bit après l'autre sur le même fil (par opposition au « parallèle » où plusieurs bits partent en même temps sur plusieurs fils).

9.1 — Comment un bus USB est organisé

  • Topologie en étoile : un point central (le concentrateur / hub) avec les périphériques autour.
  • Un seul hôte par bus : un seul maître gère tout (la demande de courant, la vitesse, les transferts). Pas de multi-maître.
  • Jusqu'à 127 périphériques sur un même bus.
  • Plug'n'play : les pilotes se chargent/déchargent dynamiquement au branchement.
Définition — Hôte / Esclave (master / slave)

Quand deux appareils sont reliés, l'un donne les ordres (maître / hôte) et l'autre les exécute (esclave). En USB, le maître est l'hôte : le contrôleur USB dans l'ordinateur, unique par bus. L'esclave fait une demande, l'hôte l'accorde ou non.

Le cours simplifie — hub ≠ maître

Le slide dit « le concentrateur est le maître ». En réalité le hub n'est qu'un relais : il transmet les ordres de l'hôte et surveille l'alimentation, mais il ne décide rien. Le seul vrai maître du bus reste l'hôte (le contrôleur). (Teste-toi : questions usb-19 et usb-20 du quiz.)

Définition — Concentrateur (hub)

Le point central de l'étoile. Il peut surveiller et même couper l'alimentation d'un périphérique en cas de surintensité sans perturber les autres, et faire cohabiter des appareils de vitesses différentes.

Image mentale

Un rond-point (le hub) au centre, et des routes qui partent vers chaque maison (périphérique). Toutes les voitures (données) passent par le rond-point : impossible d'aller directement d'une maison à l'autre. « Les données ne circulent jamais directement entre deux équipements. »

9.2 — Connecteurs et broches (pins)

Il existe plusieurs formes : Type A (le rectangle classique), Type B (carré, pour imprimantes), Mini et Micro (anciens téléphones), et Type C (réversible, moderne).

USB Type A : 4 broches

BrocheNomRôle
1VccAlimentation +5 V
2D−Donnée (paire différentielle, négative)
3D+Donnée (paire différentielle, positive)
4GNDMasse (ground), le retour du circuit

Soit 2 fils d'alimentation (Vcc + GND) et 2 fils de données (D+ / D−). Le Type C, lui, a 24 broches (A1–A12 et B1–B12), ce qui lui permet d'être réversible et de gérer bien plus de débit et de puissance.

9.3 — Identifier un périphérique : VID & PID

Définition — VID / PID

Chaque périphérique est identifié par un couple : VID (Vendor ID = identifiant du fabricant) et PID (Product ID = identifiant du produit). Le système choisit le bon pilote grâce à cette combinaison VID/PID. Le VID est attribué par l'USB Implementers Forum (moyennant paiement).

9.4 — Que se passe-t-il au branchement ? (énumération)

Détection

Le hub détecte une nouvelle connexion.

Reset

L'hôte demande au hub de réinitialiser le périphérique.

Énumération

L'hôte attribue une adresse au périphérique, qui s'identifie ensuite : fabricant, produit, classe de matériel (via VID/PID).

9.5 — Les vitesses et comment elles sont détectées

Astuce physique maligne : la vitesse est signalée en portant la ligne D+ ou D− à 3,3 V via une résistance (ce qui sert aussi à détecter la présence du périphérique) :

  • D+ à 3,3 V → périphérique pleine vitesse / haute vitesse.
  • D− à 3,3 V → périphérique faible vitesse.

Pour les normes récentes, le périphérique tente d'emblée sa vitesse la plus haute ; si le hub n'arrive pas à lire les paquets, il réduit progressivement jusqu'à trouver la vitesse commune. (Ex. très haute vitesse : il se connecte d'abord en pleine vitesse à 480 Mbit/s, puis négocie.)

9.6 — Alimentation (puissance)

Les appareils sont alimentés par le bus. Un périphérique déclare sa consommation dans son configuration descriptor et ne peut pas la dépasser. Repères de puissance :

Norme / modePuissance maxDétail
USB 2.0 (Type A)2,5 W5 V × 0,5 A
USB 3.0 (Type A)4,5 W5 V × 0,9 A
Type C standard15 W5 V × 3 A
USB-PD 2.0100 W20 V × 5 A
USB-PD 3.1 (Type C)240 W48 V × 5 A
Définition — USB Power Delivery (USB-PD)

Une spécification qui permet au Type C de négocier des tensions/courants élevés pour transporter beaucoup de puissance (jusqu'à 240 W) — de quoi charger un ordinateur portable par un simple câble USB-C.

9.7 — Économie d'énergie : suspension & keep alive

  • Mode suspension : s'il n'y a pas d'activité pendant 3 ms, le périphérique passe en veille ; il a ensuite 7 ms pour s'éteindre et ne plus tirer que le courant de suspension. Il doit garder alimentées ses résistances de sélection de vitesse pour rester reconnu.
  • Mode keep alive : un petit paquet est envoyé périodiquement sur le bus pour éviter qu'il ne tombe en « global suspend ».

9.8 — Les interfaces de contrôleur

L'« interface de contrôleur » désigne la façon dont le matériel/logiciel gère le bus USB :

InterfaceNormeQui gère ?
UHCIUSB 1.1 (Intel)Le logiciel (l'OS) → matériel moins cher
OHCIUSB 1.1 (Microsoft, Compaq…)Le matériel gère l'essentiel
EHCIUSB 2.0Version améliorée (Intel, Microsoft, NEC…)

9.9 — USB OTG (On-The-Go)

Définition — USB OTG

Une norme qui introduit la négociation du rôle d'hôte. Chaque appareil peut jouer maître ou esclave selon le contexte, sans passer par un ordinateur intermédiaire.

Exemple du cours

Un appareil photo branché au PC : le PC est maître. Mais branche une clé USB sur l'appareil photo pour y copier les photos : cette fois, l'appareil photo devient maître. OTG permet cette bascule de rôle.

9.10 — Les 4 types de transferts

Contrôle

Opérations de commande et d'état (configurer un appareil, énumération). Paquets de 8 à 64 octets.

Interruption

Le périphérique doit attendre que l'hôte l'interroge avant de signaler sa demande (ex. clavier, souris).

Isochrone

Données sensibles au temps (audio, vidéo). Bande passante garantie, unidirectionnel, pas de détection d'erreur (mieux vaut une image un peu dégradée qu'un blocage).

En vrac (bulk)

Gros volumes en rafale (impression, scanner). Correction d'erreur (CRC16), mais pas de bande passante garantie (utilise ce qui reste).

9.11 — Le CRC16 : vérifier l'intégrité

Définition — CRC

Cyclic Redundancy Check. Un code de détection d'erreur basé sur un polynôme binaire. On calcule, avec des opérations XOR, un « checksum » (ici sur 16 bits) qu'on envoie avec le message. À la réception, on refait le calcul : si ça ne correspond pas, il y a eu une erreur de transmission. Le CRC détecte les erreurs mais ne les corrige pas.

9.12 — Longueur des câbles & Thunderbolt

Un câble USB fait ~5 m max (au-delà, le signal se déforme, la tension chute, le délai de propagation gêne). On peut chaîner jusqu'à 5 hubs pour aller plus loin.

Définition — Thunderbolt

Une norme qui combine données + vidéo + alimentation sur un même câble (connecteur USB-C sur les versions récentes). Elle réunit PCI Express et DisplayPort. Débits très élevés : 40 Gbit/s (TB 3/4), jusqu'à 80 Gbit/s (TB 5). USB4 reprend d'ailleurs la technologie Thunderbolt.

9.13 — Récapitulatif des normes

NormeAnnéeVitesse maxConnecteurs
USB 1.0 / 1.11996–981,5–12 Mbit/sA, B
USB 2.02000480 Mbit/sA, B, mini, micro
USB 3.020085 Gbit/sA, B, micro (bleu)
USB 3.1 Gen 2201310 Gbit/sA, C
USB 3.2 Gen 2×2201720 Gbit/sC
USB4201940 Gbit/sC (compatible Thunderbolt 3)
USB4 v2.0202280 Gbit/sC
À savoir

Les noms USB 3.x sont un vrai casse-tête : USB 3.0, « 3.1 Gen 1 » et « 3.2 Gen 1 » désignent tous la même vitesse de 5 Gbit/s (ils ont juste été renommés). Fie-toi à la vitesse annoncée, pas au numéro.

9.14 — Les outils du cours

  • USB Tree : logiciel pour voir quel périphérique est branché sur quel port/hub.
  • Wireshark (avec l'option usbpcap) : logiciel qui capture et affiche le protocole de communication réel entre les appareils.

Partie 10

Les connexions écrans : VGA → DisplayPort

Comment l'image voyage de la carte graphique vers l'écran. Le grand fil conducteur de ce chapitre : le passage de l'analogique au numérique.

Définition — Analogique vs Numérique

Analogique : le signal est une tension qui varie en continu (comme une vague). Fragile : il se dégrade sur un long câble. Numérique : le signal est une suite de 0 et 1. Beaucoup plus robuste et fidèle, car on n'a qu'à distinguer « 0 ou 1 », pas une nuance exacte de tension.

Image mentale — le téléphone

Transmettre en analogique, c'est fredonner une mélodie au téléphone : le moindre grésillement déforme la note, et plus la ligne est longue, pire c'est. Transmettre en numérique, c'est épeler la partition note par note : même avec de la friture sur la ligne, « do » reste « do ». C'est exactement pourquoi VGA (la mélodie) a cédé la place à DVI/HDMI/DisplayPort (la partition).

10.1 — VGA (analogique, l'ancêtre)

  • Video Graphics Array, introduit par IBM en 1987. Longtemps le standard des écrans PC.
  • Connexion analogique, connecteur D-sub 15 (15 broches), signaux RVB (Rouge, Vert, Bleu).
  • Pas de support audio natif. Encore utilisé en milieu industriel.
  • Déclinaisons par résolution croissante : VGA (640×480) → SVGA (800×600) → XGA (1024×768) → SXGA (1280×1024) → UXGA (1600×1200). Plus la résolution monte, plus le câble doit être court.
Définition — DDC / EDID

DDC (Display Data Channel) permet une communication bidirectionnelle entre l'ordi et l'écran. Grâce à elle, l'écran envoie son EDID (Extended Display Identification Data) : résolutions supportées, fréquences de rafraîchissement, fabricant/modèle. L'ordinateur ajuste alors ses réglages tout seul — c'est le Plug-and-Play (PnP).

10.2 — DVI (la transition)

  • Digital Visual Interface, 1999. Interface principalement numérique. Trois variantes :
TypeSignalUsage
DVI-AAnalogiqueCompatible VGA, rare
DVI-DNumériqueLe plus courant, existe en dual-link
DVI-IIntégré (les deux)Analogique + numérique, rare
Définition — Single link / Dual link

Le single link utilise un jeu de fils de données ; le dual link en double le nombre, ce qui double la bande passante et permet des résolutions plus élevées (jusqu'à 2560×1600 @ 60 Hz contre 1920×1200 en single).

Avantages sur le VGA : transmission numérique = meilleure qualité, pas de conversion analogique↔numérique (donc moins de perte), résolutions plus hautes. Pas d'audio intégré ; câble ~5 m max.

10.3 — HDMI (le grand public)

  • High-Definition Multimedia Interface, 2003. Numérique, transporte audio ET vidéo sur un seul câble (c'est sa grande nouveauté).
  • Évolutif : jusqu'à la 8K en version 2.1. Câble 15 m max (mais la qualité du câble influe beaucoup).
VersionRésolution maxHDR
1.4b4K @ 30 HzNon
2.04K @ 60 HzDolby Vision
2.18K @ 30 HzHDR10, HDR10+, HLG, Dolby Vision
Quelques sigles HDMI

HDCP (High-bandwidth Digital Content Protection) = protection anti-copie du contenu. ARC (Audio Return Channel) = renvoie l'audio d'un téléviseur vers un ampli ; eARC en est la version améliorée (plus de bande passante audio).

10.4 — DisplayPort (le standard moderne du PC)

  • Interface numérique audio/vidéo, 2006, développée par la VESA (Video Electronics Standards Association). Conçue pour remplacer VGA, DVI et LVDS.
  • Plus évolutive et flexible que le HDMI, sans licence (normes ouvertes), connexion à chaud (hot-plug).
VersionAnnéeBande passanteRésolution max
1.2200917,28 Gbit/s4K @ 60 Hz
1.3201425,92 Gbit/s8K @ 30 Hz
2.0—77,37 Gbit/s16K @ 60 Hz (avec DSC)
Fonctionnalités avancées

MST (Multi-Stream Transport) : brancher plusieurs écrans en série (daisy-chain) sur un seul port. DSC (Display Stream Compression) : compression pour les très hautes résolutions. Adaptive-Sync (ex. AMD FreeSync) : synchronise l'écran avec le GPU pour éviter le déchirement d'image.

10.5 — À l'intérieur d'un portable : eDP & LVDS

Définition — eDP / LVDS

eDP (Embedded DisplayPort) : la version interne du DisplayPort qui relie la carte mère à la dalle d'un ordinateur portable (30 broches pour un écran classique, 40 pour un tactile). LVDS (Low-Voltage Differential Signaling) : l'ancienne technologie équivalente, qu'eDP remplace.

Choisir une dalle de remplacement (dépannage) implique de vérifier : taille/diagonale, résolution native, ratio d'aspect (16:9, 16:10, 3:2), type de connecteur (eDP ou LVDS), position/dimension du connecteur, et points de fixation.

Mémo

Glossaire express des acronymes

ALU
Arithmetic and Logic Unit — l'unité de calcul du CPU
API
Application Programming Interface — interface logicielle
ARC
Audio Return Channel (HDMI) — retour audio vers un ampli
ATA
Advanced Technology Attachment — famille d'interfaces de disques
CL
CAS Latency — cycles entre la demande d'une colonne et la sortie de la donnée
CPU
Central Processing Unit — le microprocesseur
CRC
Cyclic Redundancy Check — détection d'erreur
CU / CCU
(Central) Control Unit — unité de contrôle
CUDA
Compute Unified Device Architecture — calcul général sur GPU (Nvidia)
DDC
Display Data Channel — communication écran ↔ ordinateur
DDR
Double Data Rate — 2 transferts par cycle d'horloge (MHz ≠ MT/s)
DIMM
Dual In-line Memory Module — format de barrette (fixe/serveur)
DMA
Direct Memory Access — un périphérique transfère en mémoire sans le CPU (bus mastering)
DMI
Direct Media Interface — lien (partagé) entre le CPU et le chipset (PCH)
DRAM
Dynamic RAM — 1 transistor + 1 condensateur par bit, à rafraîchir
DSC
Display Stream Compression (DisplayPort)
DVI
Digital Visual Interface — connexion écran
ECC
Error Correcting Code — RAM qui détecte et corrige les erreurs (serveurs)
EDID
Extended Display Identification Data — fiche d'identité de l'écran
eDP
Embedded DisplayPort — liaison interne vers la dalle
EEPROM
Electrically Erasable PROM — mémoire morte reprogrammable électriquement
EHCI
Enhanced Host Controller Interface — contrôleur USB 2.0
EPROM
Erasable Programmable ROM — mémoire morte effaçable par UV (obsolète)
Flash NAND
Flash dense et bon marché, par pages/blocs — SSD, clés USB
Flash NOR
Flash adressable à l'octet, exécution en place — firmware UEFI
GDDR
Graphics DDR — mémoire de carte graphique (débit avant latence)
GPU
Graphical Processing Unit — processeur graphique
HBM
High Bandwidth Memory — puces empilées, bus de 1024 bits par pile
HDCP
High-bandwidth Digital Content Protection — anti-copie
HDD
Hard Disk Drive — disque dur à plateaux
HDMI
High-Definition Multimedia Interface — connexion audio/vidéo
IDE
Integrated Drive Electronics — autre nom du PATA
IR
Instruction Register — registre d'instruction
LVDS
Low-Voltage Differential Signaling — ancienne liaison dalle
M.2
Facteur de forme de SSD en barrette (22 mm de large, longueur variable)
MLC
Multi-Level Cell — 2 bits par cellule Flash
MMIO
Memory-Mapped I/O — registres d'un périphérique vus comme des adresses mémoire
MMU
Memory Management Unit — traduit les adresses virtuelles en physiques
mSATA
mini-SATA — SSD SATA compact sur carte nue
MST
Multi-Stream Transport — chaînage d'écrans (DisplayPort)
MTBF
Mean Time Between Failures — temps moyen entre pannes
NGFF
Next Generation Form Factor — ancien nom du M.2
NVMe
Non-Volatile Memory Express — protocole des SSD sur PCI Express
OHCI / UHCI
Open / Universal Host Controller Interface — contrôleurs USB 1.1
OTG
On-The-Go — négociation du rôle d'hôte en USB
PATA
Parallel ATA — ancienne interface de disques, parallèle
PATA / SATA
Parallel / Serial ATA — anciennes/actuelles liaisons de stockage
PC
Program Counter — pointeur d'instruction
PCH
Platform Controller Hub — le chipset moderne (SATA, USB, réseau…), relié par DMI
PCI
Peripheral Component Interconnect — bus d'extension (partagé, historique)
PCIe
PCI Express — liaison série point-à-point par voies (×1, ×4, ×16)
PID / VID
Product ID / Vendor ID — identifiants produit/fabricant
PROM
Programmable ROM (OTP) — programmable une seule fois, par fusibles
PSW
Program Status Word — registre des flags
QLC
Quad-Level Cell — 4 bits par cellule Flash
RAM
Random Access Memory — mémoire de travail
RAS / CAS
Row/Column Address Strobe — adressage en deux temps d'une DRAM
ROM
Read Only Memory — mémoire morte figée à la fabrication
SAS
Serial Attached SCSI — interface de disques pour serveurs
SATA
Serial ATA — interface de disques grand public
SCSI
Small Computer System Interface — ancienne famille de normes serveur
SIMD
Single Instruction, Multiple Data — calcul parallèle
SLC
Single-Level Cell — 1 bit par cellule Flash
SP
Stack Pointer — pointeur de pile
SPD
Serial Presence Detect — EEPROM de la barrette (capacité, timings)
SRAM
Static RAM — bascules sans rafraîchissement, rapide et chère (caches)
SSD
Solid State Drive — disque à mémoire Flash
TBW
Terabytes Written — volume total garanti en écriture d'un SSD
thrashing
Écroulement — la machine ne fait plus qu'échanger des pages RAM ↔ disque
TLB
Translation Lookaside Buffer — cache des traductions d'adresses de la MMU
TLC
Triple-Level Cell — 3 bits par cellule Flash
USB
Universal Serial Bus — bus série universel
USB-PD
USB Power Delivery — transport de puissance élevée
V-NAND
Vertical NAND — nom Samsung de la 3D NAND (cellules empilées)
VESA
Video Electronics Standards Association — créateur de DisplayPort
VGA
Video Graphics Array — connexion écran analogique
write-back
Politique d'écriture : on écrit dans le cache, la RAM est mise à jour plus tard
XMP / EXPO
Profils d'overclocking (Intel/AMD) stockés dans le SPD, à activer dans l'UEFI

Pour finir

Le fil rouge : tout se tient

Le cours saute d'un sujet à l'autre, mais il n'y a en réalité qu'une seule histoire. La voici en une phrase par maillon :

  1. Toute information est une suite de bits (0/1), portés par des tensions électriques dans des fils (V = I × R, P = V × I).
  2. Un ordinateur suit le plan von Neumann : une mémoire unique, un processeur, des entrées/sorties.
  3. Le processeur répète sans fin fetch → decode → execute, en s'appuyant sur ses registres et son horloge.
  4. Comme la RAM est trop lente, on intercale des caches (L1/L2/L3) : une hiérarchie vitesse ↔ capacité.
  5. Tous ces composants dialoguent par des bus (memory, SATA, PCI) transportant adresse + data + contrôle.
  6. Entre les deux, la mémoire retient tout : la Flash garde le firmware sans courant, la DRAM jongle avec ses condensateurs qui fuient, et cache + mémoire virtuelle font croire au CPU que tout est rapide et infini.
  7. Les données dorment sur des disques reliés en SATA (grand public) ou SAS (serveurs), et les cartes d'extension parlent en PCI Express : toujours du série point-à-point, où l'on distingue débit brut et débit utile.
  8. Au bout de ces bus, les disques : plateaux magnétiques (HDD) ou puces Flash (SSD), en SATA ou en NVMe sur PCIe — où l'on retrouve la vitesse fixée par le plus lent maillon et le piège des unités Go/Gio.
  9. Pour les calculs massivement parallèles, on ajoute un GPU (beaucoup de petits cœurs, SIMD), relié par PCI Express.
  10. Les périphériques se branchent via le bus USB (série, étoile, hôte/esclave) — avec sa propre gestion de puissance et de vitesse.
  11. Et l'image ressort vers l'écran par VGA/DVI/HDMI/DisplayPort, où l'enjeu redevient une affaire de bande passante et d'analogique vs numérique.
La bonne question à se poser

Chaque fois qu'un terme du cours te semble isolé, demande-toi : « C'est de l'information, de la vitesse, de l'électricité, ou un canal de communication ? » Presque tout le cours tient dans ces quatre familles — et elles sont toutes reliées.