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 :
La signification précise d'un terme. À retenir tel quel.
Une analogie du quotidien pour « sentir » l'idée avant de la comprendre formellement.
Le chaînon qui manque dans le cours : pourquoi cette notion existe et à quelle autre elle est accrochée.
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).
Le bit (binary digit) est la plus petite unité d'information : il vaut soit 0, soit 1. Symbole : b (minuscule).
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).
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é | Nom | Vaut |
|---|---|---|
| 1 KB | Kilo-octet | 1024 octets |
| 1 MB | Méga-octet | 1024 KB |
| 1 GB | Giga-octet | 1024 MB |
| 1 TB | Téra-octet | 1024 GB |
| 1 PB | Péta-octet | 1024 TB |
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
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).
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/s | 1000 bit/s |
| 1 Mbit/s | 1000 Kbit/s |
| 1 Gbit/s | 1000 Mbit/s |
| 1 Tbit/s | 1000 Gbit/s |
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).
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.
Ces formules reviendront concrètement dans l'USB : un port USB fournit 5 V ; si un appareil a besoin de 2,5 W, alors I = P / V = 2,5 / 5 = 0,5 A. C'est exactement le genre de calcul de l'exercice « choisir un hub USB » de ton cours.
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
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.
C'est la clé de l'horloge du processeur (partie 3). Un CPU à 3 GHz « bat la mesure » 3 milliards de fois par seconde : à chaque battement, il peut avancer d'un petit pas de calcul.
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é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
- 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.
- Exécution séquentielle : les instructions sont exécutées dans l'ordre, une par une.
- Cycle d'instruction : chaque instruction passe par fetch → decode → execute (voir plus bas).
- Registres internes : le CPU utilise de minuscules mémoires internes (les registres) pour stocker les valeurs pendant les calculs.
- Unité centrale : les registres sont branchés sur l'ALU qui réalise les calculs.
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.
Le CPU va chercher en mémoire la prochaine instruction à exécuter.
Il traduit cette instruction pour comprendre quelle opération faire.
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 » :
| Code | Nom | Action |
|---|---|---|
| 1xx | ADD | additionne le contenu de l'adresse xx à l'ALU |
| 3xx | STORE | stocke le résultat à l'adresse xx |
| 901 | INPUT | lit l'entrée (clavier) et l'écrit dans l'ALU |
| 902 | OUTPUT | lit l'ALU et l'écrit sur la sortie (écran) |
| 000 | BREAK | arrête l'exécution |
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.
La « mémoire unique » a un prix : CPU et mémoire se partagent un seul canal — c'est le goulot de von Neumann (partie 4.2), que les caches (partie 3.3) viendront soulager. Et le cycle fetch-decode-execute se matérialise électriquement dans le cycle de bus T1–T4 (partie 4.7) : chaque fetch est une lecture mémoire réelle.
Partie 3
Le microprocesseur en détail
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
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 :
| Registre | Nom complet | Rôle |
|---|---|---|
| PC | Program Counter | Contient l'adresse de la prochaine instruction à exécuter. C'est lui qui fait avancer le programme. |
| IR | Instruction Register | Contient l'instruction en cours (son code / opcode). |
| ACC | Accumulator | Stocke les résultats temporaires des calculs de l'ALU. |
| SP | Stack Pointer | Suit le sommet de la « pile » (utile pour les appels de fonctions : call & return). |
| PSW | Program Status Word | Contient les flags (drapeaux) : indicateurs comme Zero, Negative, Carry, Overflow, posés après un calcul. |
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.
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 :
| Niveau | Position | Vitesse / Taille |
|---|---|---|
| L1 | Le plus proche du cœur (chaque cœur a le sien) | Le plus rapide, le plus petit |
| L2 | Secondaire, proche du cœur | Un peu plus lent, plus gros |
| L3 | Partagé entre tous les cœurs | Le 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.
On retrouve ici la hiérarchie vitesse ↔ capacité de l'image mentale « cuisinier » (3.1) : Registres > L1 > L2 > L3 > RAM > Disque. À chaque étape, on gagne en taille mais on perd en vitesse. Tout l'art du matériel est de garder la bonne donnée le plus près possible.
3.4 — Cœurs (cores) & architectures hybrides
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 :
| Composants | Liaisons nécessaires |
|---|---|
| 4 | 6 |
| 8 | 28 |
| 16 | 120 |
| 32 | 496 |
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.
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.
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éponse | Principe |
|---|---|
| Architecture Harvard | Deux 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 cache | Rapproche les données fréquentes du processeur. Solution adoptée sur PC. |
| Élargir & accélérer | Plus de bits par transfert, plus de transferts par seconde. |
La solution « cache » est exactement la partie 3.3. La solution « Harvard » réapparaîtra au 4.10 (bus interne de l'ATmega). « Élargir & accélérer » est la formule de débit du 4.8.
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.
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 :
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.
| Largeur | Cases (2ⁿ) | Espace (1 octet/case) | Exemple |
|---|---|---|---|
| 16 bits | 65 536 | 64 Kio | Z80, 6502 |
| 20 bits | 1 048 576 | 1 Mio | Intel 8086/8088 |
| 32 bits | 4 294 967 296 | 4 Gio | 80386 → Pentium |
| 48 bits | ≈ 2,8 × 10¹⁴ | 256 Tio | x86-64 (canonique) |
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.
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 ».
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.
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.
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.
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 | Émetteur | Fonction |
|---|---|---|
| CLK | Horloge | Cadence tout le système |
| RESET | Circuit d'init. | Réinitialise tous les composants |
| RD / MEMR | Maître | Lecture : l'esclave place la donnée sur le bus |
| WR / MEMW | Maître | Écriture : l'esclave mémorise la donnée |
| MREQ / IORQ | Maître | L'adresse vise la mémoire ou un port d'E/S |
| READY / WAIT | Esclave | « Je ne suis pas prêt » → états d'attente |
| INT / IRQ | Périphérique | Demande d'interruption |
| BUSRQ / BUSAK | Périph. / Maître | Demande / accord de prise de contrôle (DMA) |
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.
Le CPU émet l'adresse (ALE actif). Données en haute impédance.
MREQ + RD deviennent actifs.
Si l'esclave est trop lent, WAIT est actif et le CPU fige le cycle.
L'esclave présente la donnée ; le CPU la lit.
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.
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
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.
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.
« 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 %).
8 × 10⁹ bits/s × (128/130) ÷ 8 bits/octet ≈ 985 Mo/s par voie → ×16 ≈ 15,8 Go/s. (Dans l'app « Calcul ».)
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
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.
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.
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.
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ée | Architecture | Goulot atteint |
|---|---|---|
| 1981 | Un bus unique (ISA pour tout) | Disque et carte vidéo se disputent 8 Mo/s |
| 1993 | Deux niveaux (PCI + ISA par un pont) | Le PCI partagé sature avec la 3D |
| 1998 | FSB + ponts (Northbridge / Southbridge) | Le FSB devient le goulot : tout y passe |
| 2009 | Inté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é.
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.
Le bus partagé et sa bande passante partagée reviennent à l'identique dans l'USB (partie 9 : hub = bus partagé, 1 hôte/maître, arbitrage) et dans le MST DisplayPort (partie 10). Le PCI Express relie CPU et GPU (partie 8). Le DMA / bus mastering annonce le module « Coupleurs et E/S ». Et le goulot von Neumann justifie les caches (partie 3). Retiens la phrase-clé : le débit annoncé d'une liaison ne vaut que si elle n'est pas en concurrence.
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
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.
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.
| Type | Effacement | Granularité | Écriture | Usage actuel |
|---|---|---|---|---|
| ROM | impossible | — | à l'usine (masque) | très grandes séries |
| PROM / OTP | impossible | — | une seule fois (claquage de fusibles) | codes de série |
| EPROM | UV, ~20 min, puce entière | puce entière | lente, hors circuit | obsolète |
| EEPROM | électrique | octet | lente, in situ | SPD, EDID, capteurs |
| Flash NOR | électrique | bloc | moyenne | firmware UEFI |
| Flash NAND | électrique | bloc | rapide | SSD, 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.
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…
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 :
- RAS (Row Address Strobe) : on ouvre la ligne → attente tRCD.
- CAS (Column Address Strobe) : on choisit la colonne → attente CL.
- La donnée sort sur le bus.
- 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) :
| Timing | De … à … | Ce qu'il mesure |
|---|---|---|
| tRCD | RAS → CAS | Ouverture de la ligne |
| CL | CAS → donnée | Sortie de la colonne sur le bus |
| tRP | Precharge → RAS suivant | Fermeture de la ligne |
| tRAS | RAS → Precharge | Duré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 :
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éristique | DDR | DDR2 | DDR3 | DDR4 | DDR5 |
|---|---|---|---|---|---|
| Année | 2000 | 2003 | 2007 | 2014 | 2021 |
| Tension | 2,5–2,6 V | 1,8 V | 1,5 V | 1,2 V | 1,1 V |
| Taux de transfert | 266–400 MT/s | 533–800 | 800–1600 | 1600–3200 | 4800–6400 |
| Prefetch | 2 bits | 4 bits | 8 bits | 8 bits | 16 bits |
| Bande passante max (par canal) | 3,2 Go/s | 6,4 Go/s | 12,8 Go/s | 25,6 Go/s | 51,2 Go/s |
| Capacité max par module | 1 Go | 2 Go | 8 Go | 64 Go | 512 Go |
| Timings typiques | 2.5-3-3-6 | 5-5-5-15 | 9-9-9-24 | 16-16-16-39 | 36-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.
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 :
| Niveau | Vitesse | Capacité | Coût/bit | Temps d'accès typique |
|---|---|---|---|---|
| Registres | très rapide | très faible | très élevé | < 0,3 ns (dans l'instruction) |
| Cache L1/L2/L3 | rapide | faible | élevé | ~0,5 ns (L1) |
| RAM | moyenne | moyenne | modéré | ~50 ns |
| Secondaire (SSD, HDD) | lente | grande | faible | ~100 µs (SSD), ~5 ms (HDD) |
| Tertiaire (bandes, cloud) | très lente | très grande | très faible | archivage |
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.
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.
« É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.
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 ».
Ce chapitre relie presque tout le cours : la cellule DRAM est une affaire de condensateurs et de fuites (partie 1), la barrette dialogue avec le contrôleur par le bus mémoire et ses MT/s (partie 4), les caches comblent le fossé CPU-RAM (partie 3), la VRAM nourrit le GPU en débit (partie 8), et le SPD qui décrit ta barrette est une EEPROM — exactement comme l'EDID de ton écran (partie 10). Information, vitesse, électricité, canal de communication : tout y est.
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.
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.
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.
PATA est un bus partagé parallèle : deux disques sur la même nappe, et beaucoup de fils côte à côte. C'est exactement le modèle abandonné dans les années 2000 pour la liaison point-à-point série (décalage d'horloge, diaphonie, coût en broches) — voir partie 4.9, qui compare déjà PATA (133 Mo/s) et SATA (600 Mo/s).
6.2 — SATA : le disque passe au série
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évision | Année | Débit brut (sur le fil) | Débit utile (8b/10b) | Remarque |
|---|---|---|---|---|
| 1 | 2003 | 1,5 Gbit/s | 150 Mo/s | « SATA I » |
| 2 | 2004 | 3 Gbit/s | 300 Mo/s | « SATA II » |
| 3 | 2009 | 6 Gbit/s | 600 Mo/s | « SATA III », la norme actuelle |
| 3.2 | 2013 | 16 Gbit/s | ≈ 2 Go/s | SATA Express (en réalité 2 voies PCIe 3.0) |
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 ».)
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
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.
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.
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.
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
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.
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.
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ère | SATA | SAS | PCIe |
|---|---|---|---|
| Coût | Économique (grand public) | Élevé (entreprises) | Variable |
| Débit max | 6 Gbit/s (600 Mo/s utiles) | 24 Gbit/s | ≈ 31,5 Go/s par sens (4.0 ×16) |
| Connectivité | 1 appareil par port | Jusqu'à 128 appareils (expandeurs) | 1 carte par liaison, de 1 à 32 voies |
| Fiabilité (disques) | ≈ 700 000 h MTBF | ≈ 1,6 million h MTBF | N/A |
| Cas d'usage | Stockage de masse | Data centers / virtualisation | Cartes d'extension (et SSD NVMe) |
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.
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.
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).
Ces bus sont le dernier étage de la hiérarchie mémoire (partie 5.7) : le disque (HDD/SSD) est le niveau le plus lent mais le plus grand. Sur un PC actuel, les ports SATA pendent au chipset (PCH), qui partage un seul lien avec le CPU — d'où le « partage de lignes » où brancher un 2ᵉ SSD M.2 désactive des ports SATA (partie 4.11). La carte graphique (partie 8) utilise la liaison PCIe ×16. Et on retrouve partout les mêmes idées : série vs parallèle, débit brut vs utile (codage), bit vs octet, et le CRC déjà vu en partie 9.
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.
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.
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ère | HDD | SSD (SATA) |
|---|---|---|
| Support | Plateaux magnétiques qui tournent | Puces Flash NAND |
| Pièces en mouvement | Oui (moteur, bras, tête) | Aucune |
| Débit max (cours) | ≈ 160 Mo/s | ≈ 550 Mo/s |
| Chocs | Sensible (la tête peut rayer le plateau) | Résistant |
| Consommation | Plus importante (il faut faire tourner le moteur) | Plus faible |
| Récupération des données | Assez facile après une panne | Difficile |
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.
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.
Le SSD gagne ×3 sur le débit, mais bien plus sur la latence (le temps avant le premier octet) : pas de plateau à attendre. C'est la distinction débit ≠ latence de partie 4.8. Et dans la hiérarchie mémoire (partie 5.7), le disque est le dernier étage : le plus grand, le moins cher au Go, le plus lent.
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.
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).
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.
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
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 PCIe | Voies | Débit par voie | Vitesse 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.
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.
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.
| Type | Bits / cellule | Niveaux à distinguer | Écriture | Cycles d'écriture | Usage |
|---|---|---|---|---|---|
| SLC | 1 | 2 | La plus rapide | ≈ 100 000 | Entreprise |
| MLC | 2 | 4 | Rapide | ≈ 10 000 | Stations de travail pro |
| TLC | 3 | 8 | Moyenne | ≈ 3 000 | Grand public, jeu |
| QLC | 4 | 16 | Lente | ≈ 1 000 | SSD économiques, archivage |
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.
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
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.
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.
Choisir un disque, c'est assembler tout le cours. Le facteur de forme doit rentrer (2,5" ? M.2 2280 ?). L'interface doit être acceptée par la carte mère (SATA ou NVMe, encoches B/M) et c'est elle qui fixe le plafond de vitesse : 550 Mo/s en SATA (partie 6.2), des milliers de Mo/s en NVMe selon la génération PCIe (partie 4.8). Le type de cellule et le TBW donnent l'endurance, comme le MTBF donnait la fiabilité des disques (partie 6.5). Et on n'oublie jamais les unités : Go ≠ Gio, Mo/s ≠ Mbit/s.
Partie 8
CPU vs GPU : deux philosophies de calcul
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 :
| CPU | GPU | |
|---|---|---|
| Cœurs | Peu de cœurs, puissants et polyvalents | Beaucoup de cœurs (des centaines/milliers), simples et spécialisés |
| Point fort | Tâches séquentielles, variées et complexes | Nombreuses opérations simples en parallèle |
| Mémoire | Grand cache pour accès rapide aux données fréquentes | Hiérarchie orientée gros débit de données |
| Usage | Système d'exploitation, applications | Rendu graphique, calcul matriciel/vectoriel, IA |
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
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.
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.
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).
CPU et GPU communiquent via le bus PCI Express (cf. partie 4). Chacun a sa propre RAM : la RAM système pour le CPU, la RAM vidéo (VRAM) pour le GPU. L'opposition « peu de gros cœurs / beaucoup de petits cœurs » prolonge directement la notion de cœurs vue en 3.4.
Partie 9
L'USB, de A à Z
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.
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 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.)
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.
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
| Broche | Nom | Rôle |
|---|---|---|
| 1 | Vcc | Alimentation +5 V |
| 2 | D− | Donnée (paire différentielle, négative) |
| 3 | D+ | Donnée (paire différentielle, positive) |
| 4 | GND | Masse (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
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)
Le hub détecte une nouvelle connexion.
L'hôte demande au hub de réinitialiser le périphérique.
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 / mode | Puissance max | Détail |
|---|---|---|
| USB 2.0 (Type A) | 2,5 W | 5 V × 0,5 A |
| USB 3.0 (Type A) | 4,5 W | 5 V × 0,9 A |
| Type C standard | 15 W | 5 V × 3 A |
| USB-PD 2.0 | 100 W | 20 V × 5 A |
| USB-PD 3.1 (Type C) | 240 W | 48 V × 5 A |
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.
C'est ici que P = V × I (partie 1.3) devient utile. Exemple du cours : une webcam (5 V – 225 mA) + un disque dur auto-alimenté (5 V – 700 mA) tirent ensemble 225 + 700 = 925 mA. Sur un port USB 3.0 (0,9 A = 900 mA) c'est trop juste → il faut un hub alimenté (avec sa propre prise secteur) pour fournir le courant aux deux en même temps.
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 :
| Interface | Norme | Qui gère ? |
|---|---|---|
| UHCI | USB 1.1 (Intel) | Le logiciel (l'OS) → matériel moins cher |
| OHCI | USB 1.1 (Microsoft, Compaq…) | Le matériel gère l'essentiel |
| EHCI | USB 2.0 | Version améliorée (Intel, Microsoft, NEC…) |
9.9 — USB OTG (On-The-Go)
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.
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é
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.
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
| Norme | Année | Vitesse max | Connecteurs |
|---|---|---|---|
| USB 1.0 / 1.1 | 1996–98 | 1,5–12 Mbit/s | A, B |
| USB 2.0 | 2000 | 480 Mbit/s | A, B, mini, micro |
| USB 3.0 | 2008 | 5 Gbit/s | A, B, micro (bleu) |
| USB 3.1 Gen 2 | 2013 | 10 Gbit/s | A, C |
| USB 3.2 Gen 2×2 | 2017 | 20 Gbit/s | C |
| USB4 | 2019 | 40 Gbit/s | C (compatible Thunderbolt 3) |
| USB4 v2.0 | 2022 | 80 Gbit/s | C |
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.
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.
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.
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 :
| Type | Signal | Usage |
|---|---|---|
| DVI-A | Analogique | Compatible VGA, rare |
| DVI-D | Numérique | Le plus courant, existe en dual-link |
| DVI-I | Intégré (les deux) | Analogique + numérique, rare |
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).
| Version | Résolution max | HDR |
|---|---|---|
| 1.4b | 4K @ 30 Hz | Non |
| 2.0 | 4K @ 60 Hz | Dolby Vision |
| 2.1 | 8K @ 30 Hz | HDR10, HDR10+, HLG, Dolby Vision |
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).
| Version | Année | Bande passante | Résolution max |
|---|---|---|---|
| 1.2 | 2009 | 17,28 Gbit/s | 4K @ 60 Hz |
| 1.3 | 2014 | 25,92 Gbit/s | 8K @ 30 Hz |
| 2.0 | — | 77,37 Gbit/s | 16K @ 60 Hz (avec DSC) |
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.
Le MST illustre à nouveau la bande passante (partie 1.2). En DP 1.2 il faut rester sous 17 Gbit/s. Un écran 1080p @ 60 Hz consomme 4,15 Gbit/s → on peut en chaîner 4 (4 × 4,15 ≈ 16,6 < 17). Un écran 1440p @ 60 Hz consomme 6,65 Gbit/s → seulement 2 tiennent (2 × 6,65 = 13,3). C'est de l'arithmétique de débit, exactement comme le « tuyau » du début.
10.5 — À l'intérieur d'un portable : 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 :
- Toute information est une suite de bits (0/1), portés par des tensions électriques dans des fils (
V = I × R,P = V × I). - Un ordinateur suit le plan von Neumann : une mémoire unique, un processeur, des entrées/sorties.
- Le processeur répète sans fin fetch → decode → execute, en s'appuyant sur ses registres et son horloge.
- Comme la RAM est trop lente, on intercale des caches (L1/L2/L3) : une hiérarchie vitesse ↔ capacité.
- Tous ces composants dialoguent par des bus (memory, SATA, PCI) transportant adresse + data + contrôle.
- 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.
- 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.
- 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.
- Pour les calculs massivement parallèles, on ajoute un GPU (beaucoup de petits cœurs, SIMD), relié par PCI Express.
- 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.
- 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.
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.