Pendant cinquante ans, les ordinateurs sont devenus plus rapides en rendant les transistors plus petits. Chaque étape de ce niveau a montré quelque chose qui résiste : des fils dont le délai croît comme le carré de leur longueur, une pente sous le seuil qui ne peut pas battre 60 mV par décade, des bits qui s’échappent. Ce dernier chapitre rassemble les limites dures — la chaleur, l’effet tunnel quantique, la thermodynamique de l’effacement de l’information, la vitesse de la lumière — et se termine par le calcul quantique, souvent présenté comme le moyen de les contourner toutes. Ce n’en est pas un, mais il change bien les règles pour quelques problèmes précis.
Où va la puissance
Une puce CMOS dépense de l’énergie de deux façons.
La puissance dynamique vient des commutations. Comme l’a montré le premier chapitre, charger une capacité C à la tension V puis la décharger transforme CV² en chaleur. Une puce de capacité commutable totale C, cadencée à la fréquence f, où une fraction α des nœuds basculent à chaque cycle (le facteur d’activité), dissipe :
P_dynamique = α × C × V² × f
La puissance statique est celle des fuites : le courant sous le seuil du chapitre sur le MOSFET, qui traverse des milliards de transistors censés être bloqués, plus l’effet tunnel à travers leurs grilles, qu’on va voir. Elle est payée que la puce calcule ou non, et elle augmente vite avec la température.
Pour se faire une idée des ordres de grandeur, prenons une puce illustrative — ce sont des hypothèses, pas un produit précis : un milliard de portes, chacune chargée par 1 fF de capacité de grilles et de fils, 10 % de basculements par cycle, 0,7 V, 3 GHz :
print(1e9 * 0.1 * 1e-15 * 0.7**2 * 3e9, "W") # 147 W
Environ 150 W : la puissance d’un processeur de bureau haut de gamme, obtenue au bon ordre de grandeur à partir de quatre valeurs plausibles. Chacun de ces watts quitte la puce sous forme de chaleur.
La formule explique aussi pourquoi les puces baissent ensemble leur tension et leur fréquence quand elles n’ont pas besoin de toute leur vitesse (ajustement dynamique de la tension et de la fréquence, DVFS). Dans le haut de la plage, la fréquence maximale que supporte un transistor est à peu près proportionnelle à la tension, donc la puissance croît à peu près comme f³ : tourner 20 % moins vite permet de baisser aussi la tension d’environ 20 %, et la puissance tombe à environ 0,8³ ≈ 51 %. C’est pourquoi les processeurs de portables et de téléphones passent l’essentiel de leur temps bien en dessous de leur fréquence de pointe.
Densité de puissance et mur de la puissance
Le problème n’est pas tant la puissance totale que la densité de puissance : la chaleur doit sortir par une puce de quelques centimètres carrés. Quelques comparaisons, hypothèses précisées :
import math
sigma = 5.670374419e-8 # Stefan–Boltzmann constant
print(2000 / (math.pi * 10**2), "W/cm²") # 2 kW cooking plate, 20 cm across: 6.4
print(100 / 1, "W/cm²") # 100 W on 1 cm² of die: 100
print(sigma * 5772**4 / 1e4, "W/cm²") # radiated by the Sun's surface: 6,294
Un processeur qui dissipe 100 W sur 1 cm² fonctionne à plus de dix fois la densité de puissance d’une plaque de cuisson. Dans une célèbre conférence de 2001, Pat Gelsinger, d’Intel, a extrapolé la tendance de l’époque et averti que la densité de puissance des puces se dirigeait vers celle d’un réacteur nucléaire, puis d’une tuyère de fusée, puis de la surface du Soleil. Cela n’est pas arrivé, parce que l’industrie a cessé de suivre la tendance.
Comme l’a expliqué le chapitre sur le MOSFET, la loi de Dennard gardait la densité de puissance constante pendant que les transistors rétrécissaient, tant que la tension baissait aussi. Quand la tension a cessé de baisser vers 2005, chaque nouvelle génération a doublé la puissance par millimètre carré à fréquence égale. Les puces se sont heurtées au mur de la puissance : la limite de ce qu’un refroidissement par air ou par liquide peut évacuer d’une petite surface tout en gardant le silicium sous environ 100 °C. Tanenbaum en décrit le résultat dans son premier chapitre : l’annulation du Pentium 4 à 4 GHz d’Intel, et le passage à plusieurs cœurs par puce.
La conséquence actuelle porte parfois le nom de silicium sombre (dark silicon) : une puce a plus de transistors qu’elle ne peut en alimenter à pleine vitesse en même temps. Les concepteurs les consacrent à des choses inactives la plupart du temps — grands caches, accélérateurs spécialisés pour la vidéo, le chiffrement ou les réseaux de neurones, cœurs supplémentaires qui tournent à tour de rôle — plutôt qu’à accélérer un seul cœur.
L’effet tunnel quantique
En physique classique, une particule qui n’a pas assez d’énergie pour franchir une barrière reste de son côté. En mécanique quantique, un électron est décrit par une onde, et cette onde ne s’arrête pas net à la barrière : elle décroît exponentiellement à l’intérieur. Si la barrière est assez mince, une partie de l’onde ressort de l’autre côté, et l’électron a une probabilité de s’y trouver. C’est l’effet tunnel.
Pour une barrière rectangulaire simple de hauteur φ et d’épaisseur d, la probabilité de transmission vaut à peu près :
T ≈ exp(−2κd), avec κ = √(2 m* φ) / ħ
où m* est la masse effective de l’électron dans la barrière et ħ la constante de Planck réduite. Prenons un oxyde de grille en SiO₂ : une barrière d’environ 3,1 eV pour les électrons venant du silicium, et une masse effective d’environ 0,4 fois la masse de l’électron libre (deux valeurs approchées ; c’est un modèle d’ordre de grandeur) :
hbar = 6.62607015e-34 / (2 * math.pi)
m0, e = 9.1093837015e-31, 1.602176634e-19
kappa = math.sqrt(2 * 0.4 * m0 * 3.1 * e) / hbar
print(kappa * 1e-9, "per nm") # 5.7
print(math.exp(2 * kappa * 0.2e-9)) # 9.8: x10 per 0.2 nm thinner
for d in (3, 2, 1.5, 1.2):
print(d, "nm:", math.exp(-2 * kappa * d * 1e-9))
# 3 nm: 1.4e-15 2 nm: 1.2e-10 1.5 nm: 3.7e-08 1.2 nm: 1.1e-06
Chaque tranche de 0,2 nm d’oxyde en moins — moins d’une couche atomique — multiplie le courant tunnel par environ dix. Passer de 3 nm à 1,2 nm le multiplie par près d’un milliard. À 1,2 nm, l’oxyde du milieu des années 2000 faisait environ cinq couches atomiques, et la fuite de grille était devenue une part importante du budget de puissance. C’est pourquoi les oxydes ont cessé de s’amincir, et pourquoi l’industrie est passée à des diélectriques high-k, qui donnent la même capacité avec une couche physiquement plus épaisse, étanche à l’effet tunnel.
L’effet tunnel sert aussi volontairement. La mémoire flash, comme l’a montré le chapitre sur le stockage d’un bit, écrit et efface en forçant des électrons à travers un oxyde sous champ intense. Et il fixe un plancher à la longueur de canal : quand source et drain ne sont plus qu’à quelques nanomètres, les électrons traversent directement la barrière sous la grille par effet tunnel, et la grille ne peut plus bloquer le transistor.
Tanenbaum désigne le principe d’incertitude de Heisenberg comme l’effet quantique qui pourrait un jour gêner les petits transistors. L’effet arrivé en premier, et qui a façonné chaque transistor depuis le milieu des années 2000, est l’effet tunnel. Il énonce aussi la loi de Moore comme un doublement tous les 18 mois. L’article de Moore de 1965 prévoyait un doublement chaque année, et il l’a révisé en 1975 à tous les deux ans ; le chiffre de 18 mois est en général attribué à David House, d’Intel, qui parlait de performances et non du nombre de transistors.
La limite de Landauer
Existe-t-il une énergie minimale pour calculer ? En 1961, Rolf Landauer, chez IBM, a soutenu que oui — non pas pour calculer en tant que tel, mais pour effacer de l’information. Remettre à 0 un bit qui pouvait valoir 0 ou 1 divise par deux le nombre d’états possibles de la mémoire. Le deuxième principe de la thermodynamique ne permet pas à cette entropie de disparaître : elle doit être rejetée dans l’environnement sous forme de chaleur, au moins :
E_min = kT ln 2
k = 1.380649e-23
E_L = k * 300 * math.log(2)
print(E_L, "J", E_L / e, "eV") # 2.87e-21 J = 0.0179 eV at 300 K
Soit 2,87 × 10⁻²¹ J par bit effacé à température ambiante. Le principe a été confirmé expérimentalement en 2012, en mesurant la chaleur dégagée par l’effacement d’une mémoire d’un bit constituée d’une seule bille de verre tenue par des pièges optiques.
À quelle distance une vraie porte CMOS en est-elle ? Chaque transition de la sortie d’une porte dissipe ½CV². Supposons une charge de 0,1 à 1 fF sous 0,7 V :
for C in (0.1e-15, 1e-15):
E = 0.5 * C * 0.7**2
print(C * 1e15, "fF:", E, "J,", E / E_L, "x Landauer")
# 0.1 fF: 2.45e-17 J, 8,534x 1 fF: 2.45e-16 J, 85,337x
Une seule transition logique coûte environ 10⁴ à 10⁵ fois la limite de Landauer, sans compter les fils qui transportent le résultat au loin, l’arbre d’horloge ni les fuites. Ce n’est pas la limite de Landauer qui nous arrête aujourd’hui ; ce sont CV², le plancher de tension imposé par les 60 mV par décade, et les fils. Mais c’est un vrai plancher, et il a un corollaire surprenant.
Le calcul réversible
La limite de Landauer ne s’applique qu’aux opérations qui perdent de l’information. Une porte ET en perd : à partir d’une sortie à 0, on ne peut pas savoir laquelle des trois combinaisons d’entrée l’a produite. Une porte NON n’en perd pas. En 1973, Charles Bennett a montré que tout calcul peut se faire de manière réversible — avec des portes comme la porte de Toffoli, dont on peut toujours retrouver les entrées à partir des sorties — en gardant les résultats intermédiaires puis en exécutant le calcul à l’envers pour les « décalculer ». En principe, un ordinateur réversible n’a pas d’énergie minimale par opération.
La réversibilité est une condition nécessaire, pas suffisante : une porte CMOS ordinaire brûle toujours ½CV² parce qu’elle charge sa charge brutalement à travers une résistance. L’équivalent électronique est la charge adiabatique : faire monter l’alimentation lentement, sur une durée T bien plus longue que le RC du circuit, et l’énergie perdue devient environ (RC/T) × CV² :
R, C, V = 1e3, 1e-15, 1.0 # assumptions: 1 kΩ, 1 fF, 1 V
print(0.5 * C * V**2) # conventional: 5e-16 J
print((R * C / 1e-9) * C * V**2) # 1 ns ramp: 1e-18 J (500x less)
Le prix, c’est la vitesse — l’énergie économisée se paie en temps —, plus des transistors supplémentaires et une alimentation qui récupère l’énergie de chaque rampe. La logique réversible et adiabatique reste un sujet de recherche, avec de petites puces de test, plutôt qu’un remplaçant pratique du CMOS.
La vitesse de la lumière
Le chapitre sur les signaux a calculé la distance parcourue par un signal en une nanoseconde. Aux fréquences des cœurs les plus rapides d’aujourd’hui, les chiffres donnent à réfléchir :
c = 299792458
f = 5e9
print(1 / f * 1e12, "ps") # 200 ps per cycle
print(c / f * 100, "cm in vacuum") # 6.0 cm
print(c / math.sqrt(3) / f * 100, "cm in an insulator with εr = 3") # 3.5 cm
rt = 2 * 0.10 / (0.5 * c) # to memory 10 cm away and back
print(rt * 1e9, "ns =", rt * f, "cycles") # 1.33 ns = 6.7 cycles
Même dans le vide, la lumière ne parcourt que 6 cm par cycle à 5 GHz ; les vrais fils sur puce, limités par le délai RC, bien moins. Un signal ne peut pas traverser une grande puce en un cycle, et l’aller-retour vers une mémoire à 10 cm coûte presque 7 cycles avant même que la DRAM ne fasse quoi que ce soit. La version de l’argument chez Tanenbaum, avec une mémoire à un pied de distance et 1 ns dans chaque sens, conclut que les ordinateurs plus rapides devront être plus petits. C’est ce qui s’est passé : la mémoire est venue se placer dans le boîtier du processeur (la HBM empilée des GPU, la mémoire intégrée au boîtier des puces d’Apple), les puces sont assemblées à partir de chiplets distants de quelques millimètres, et les conceptions gardent les communications locales — la racine de la hiérarchie de caches du chapitre sur les caches.
Le calcul quantique
Les ordinateurs quantiques sont souvent présentés comme les successeurs de tout ce qui précède. Ce ne sont pas des versions plus rapides des ordinateurs ordinaires ; c’est un autre modèle de calcul, spectaculairement meilleur pour quelques problèmes et pas meilleur pour la plupart.
Un qubit est un système quantique à deux états — le spin d’un électron, deux niveaux d’énergie d’un ion, un minuscule circuit supraconducteur. Contrairement à un bit, son état peut être une superposition α|0⟩ + β|1⟩, où α et β sont des amplitudes complexes avec |α|² + |β|² = 1. Le mesurer donne 0 avec la probabilité |α|² ou 1 avec la probabilité |β|², et le laisse dans cet état.
L’état de n qubits est décrit par 2ⁿ amplitudes, une pour chaque valeur sur n bits. C’est pourquoi la simulation classique devient vite difficile :
for n in (10, 50, 100):
print(n, 2**n, 16 * 2**n, "bytes") # 16 bytes per complex amplitude
# 10: 1,024 amplitudes (16 KB) 50: 1.1e15 (18 PB) 100: 1.3e30
Stocker l’état de 50 qubits demande 18 pétaoctets ; celui de 100 qubits, plus que tout le stockage jamais construit. Mais ce ne sont pas 2ⁿ calculs parallèles qu’on pourrait lire. Une mesure ne renvoie que n bits, tirés au hasard selon les amplitudes. Un algorithme quantique doit arranger les amplitudes, par interférence, pour que les mauvaises réponses s’annulent et que les bonnes se renforcent avant la mesure. Seuls certains problèmes ont la structure qui le permet.
Ce que les ordinateurs quantiques savent accélérer :
- La factorisation et le logarithme discret (algorithme de Shor, 1994) : exponentiellement plus vite que les meilleurs algorithmes classiques connus. Cela casse RSA et la cryptographie sur courbes elliptiques, les systèmes à clé publique qui protègent aujourd’hui le trafic d’Internet.
- La recherche non structurée (algorithme de Grover) : √N étapes au lieu de N — une accélération quadratique, pas exponentielle. Contre une clé de 128 bits, cela représente environ 2⁶⁴ étapes quantiques séquentielles, ce qui reste énorme ; la réponse habituelle est simplement d’utiliser des clés symétriques de 256 bits.
- La simulation de systèmes quantiques — molécules, matériaux —, qui était la motivation d’origine de Feynman en 1981, et probablement l’application utile la plus proche.
Ce qu’on n’attend pas d’eux : accélérer les programmes ordinaires, les bases de données, les serveurs web ou les jeux ; résoudre efficacement les problèmes NP-complets (aucun algorithme quantique connu n’y parvient, et la plupart des chercheurs pensent qu’il n’en existe pas) ; ou traiter vite de grands volumes de données, puisque le chargement des données est lui-même un goulot d’étranglement.
Pourquoi c’est difficile
Les qubits doivent être isolés de leur environnement, car toute interaction qui révèle leur état détruit la superposition (décohérence). Pour les qubits supraconducteurs, dont les fréquences de transition tournent autour de 5 GHz, cela veut dire fonctionner vers 10 à 20 millikelvins, dans un réfrigérateur à dilution. La raison tient au rapport entre le quantum d’énergie du qubit hf et l’énergie thermique kT :
h = 6.62607015e-34
for T in (0.01, 0.02, 300):
print(T, "K:", h * 5e9 / (k * T))
# 0.01 K: 24 0.02 K: 12 300 K: 0.0008
À 20 mK, le pas d’énergie du qubit vaut 12 fois l’énergie thermique, donc la chaleur le retourne rarement ; à température ambiante, il serait noyé mille fois.
Même ainsi, les qubits physiques font des erreurs bien plus souvent que les transistors, donc des machines utiles demandent une correction d’erreurs quantique : coder chaque qubit logique fiable dans de nombreux qubits physiques et corriger les erreurs en continu. En décembre 2024, Google a montré, avec sa puce Willow de 105 qubits, qu’agrandir un qubit logique en code de surface réduisait son taux d’erreur — le comportement de seuil dont dépend la correction d’erreurs. Les plus grandes machines actuelles ont au plus quelques milliers de qubits physiques. Une estimation de 2025 par Craig Gidney, de Google, évalue la factorisation d’une clé RSA de 2048 bits à moins d’un million de qubits physiques bruités travaillant moins d’une semaine — bien au-delà du matériel actuel, mais assez proche pour que les cryptographes n’attendent pas : le NIST a publié ses premières normes de cryptographie post-quantique (FIPS 203, 204 et 205) en août 2024, et les systèmes migrent vers elles, puisque du trafic chiffré enregistré aujourd’hui pourrait être déchiffré plus tard.
Tanenbaum cite le calcul quantique parmi les technologies prometteuses qui pourraient prolonger l’informatique au-delà du silicium. Une description plus juste aujourd’hui : un nouvel outil pour des problèmes précis, construit sur la même physique — supraconducteurs, lasers, semi-conducteurs — que celle de ce niveau, et qui fonctionne à côté des ordinateurs classiques, pas à leur place.
À retenir
- La puissance d’une puce CMOS est dynamique (αCV²f) plus statique (les fuites). Près du maximum, la puissance croît à peu près comme f³ : 20 % moins vite économise environ la moitié de la puissance.
- La densité de puissance d’un processeur (~100 W/cm²) dépasse dix fois celle d’une plaque de cuisson. Quand la tension a cessé de baisser, les puces ont heurté le mur de la puissance ; la réponse actuelle est le multicœur, les accélérateurs et le silicium sombre.
- Les électrons traversent les barrières minces par effet tunnel : environ ×10 de fuite de grille pour chaque 0,2 nm de SiO₂ retiré. Cela a arrêté l’amincissement de l’oxyde vers 1,2 nm et amené les diélectriques high-k ; c’est aussi ce qui rend la flash possible.
- Landauer : effacer un bit coûte au moins kT ln 2 = 2,87 × 10⁻²¹ J à 300 K. Une transition CMOS (½CV² pour 0,1 à 1 fF sous 0,7 V) coûte 10⁴ à 10⁵ fois plus. La logique réversible et adiabatique pourrait en principe descendre en dessous, au prix de la vitesse.
- À 5 GHz, la lumière parcourt 6 cm par cycle, et une mémoire à 10 cm coûte ~7 cycles aller-retour : les ordinateurs accélèrent en devenant plus petits et plus locaux.
- Les ordinateurs quantiques manipulent 2ⁿ amplitudes mais ne lisent que n bits. Ils accélèrent la factorisation (Shor), la recherche de façon quadratique (Grover) et la simulation quantique — pas l’informatique de tous les jours. La correction d’erreurs est l’obstacle, et la cryptographie post-quantique est déjà en cours de déploiement.