Comment ça marche · module en construction
Comment marche un ordinateur
Un ordinateur n'a rien de magique : c'est un empilement de mécanismes simples. Suivons un
même calcul, 2 + 3, depuis de minuscules interrupteurs jusqu'au programme. À
chaque étage, c'est toi qui construis la pièce.
Choisis ton niveau : tu peux en changer à tout moment.
Étape 0 : Tout est nombre
Un octet, ce sont 8 bits, donc 8 interrupteurs. Chacun vaut 0 ou 1 et compte pour 128, 64, 32, 16, 8, 4, 2 ou 1. Par exemple 01000001 vaut 64 + 1 = 65, le code de la lettre « A ». En UTF-8, le mot « été » prend 5 octets : chaque « é » en prend 2.
En décimal 0
Somme 0
Comme caractère —
Comme gris
Le même octet peut être lu comme un nombre, une lettre ou une couleur : tout dépend du programme qui le lit.
🟢 Découverte
Un ordinateur ne connaît que deux états : allumé ou éteint, que l'on note 1 et 0. Avec assez de 0 et de 1, on peut tout écrire : des nombres, des lettres, des couleurs, des sons, et même des programmes.
🟡 Curieux
Un bitBit — La plus petite information possible : 0 ou 1. Dans un ordinateur, c'est une tension basse ou haute sur un fil. Huit bits forment un octet. vaut 0 ou 1 ; un octetOctet — Unité de base des données : 8 bits, soit un nombre entre 0 et 255. Une lettre simple tient en un octet. regroupe 8 bits, soit 256 valeurs (de 0 à 255). Chaque bit compte double de son voisin de droite : 1, 2, 4, 8… jusqu'à 128. Une lettre est un nombre (65 pour « A »), une couleur est trois nombres (rouge, vert, bleu).
🔴 Ingénieur
Le texte est codé avec Unicode, en général sous la forme UTF-8 : de 1 à 4 octets par
caractère, les 128 premiers étant ceux de l'ASCII. Les nombres négatifs utilisent le
complément à deux ; les nombres à virgule, la norme IEEE 754. Comme 0,1 ne s'écrit pas
exactement en binaire (de même que 1/3 en décimal), JavaScript calcule
0.1 + 0.2 = 0.30000000000000004. En octobre 2026, environ 99 % des
sites web utilisent UTF-8 (selon W3Techs).
Étape 1 : Le transistor, un interrupteur sans doigt
Un transistor MOS a trois bornes : la source, le drain et la grille. Sans tension sur la grille, le courant ne passe pas entre la source et le drain (0). Avec une tension, un canal s'ouvre et le courant passe (1).
- Intel 4004 (1971) : 2 300 transistors. Souvent présenté comme le premier microprocesseur.
- ARM1 (1985) : 24 800 transistors. Le premier processeur ARM, conçu chez Acorn (Sophie Wilson, Steve Furber).
- Apple M3 Max (2023) : 92 000 000 000 transistors. Processeur d'ordinateur portable.
- Nvidia Blackwell (2024) : 208 000 000 000 transistors. Processeur graphique conçu pour l'intelligence artificielle.
Combien de transistors dans une puce ?
- Intel 4004 (1971) 2 300 Souvent présenté comme le premier microprocesseur.
- ARM1 (1985) 24 800 Le premier processeur ARM, conçu chez Acorn (Sophie Wilson, Steve Furber).
- Apple M3 Max (2023) 92 000 000 000 Processeur d'ordinateur portable.
- Nvidia Blackwell (2024) 208 000 000 000 Processeur graphique conçu pour l'intelligence artificielle.
Les barres suivent une échelle logarithmique : à l'échelle normale, celle du 4004 serait 90 millions de fois plus courte que la dernière, donc invisible.
🟢 Découverte
Un transistorTransistor — Minuscule interrupteur commandé par l'électricité, sans pièce mobile. Une puce récente en contient des dizaines de milliards ; combinés, ils forment les portes logiques. est un interrupteur sans pièce mobile, que l'on commande avec de l'électricité au lieu d'un doigt. Une puce récente en contient des dizaines de milliards, gravés dans du silicium.
🟡 Curieux
Presque toutes les puces utilisent des transistors MOS : une tension sur la grille ouvre un canal dans le silicium, et le courant passe entre la source et le drain, comme un robinet. En 1965, Gordon Moore observe que le nombre de composants par puce double à peu près chaque année ; en 1975, il corrige : tous les deux ans. Ce n'est pas une loi de la nature, mais un objectif que toute l'industrie s'est efforcée de tenir.
🔴 Ingénieur
Logique CMOS : chaque porte associe des transistors N et P. Les noms de procédés (« 3 nm ») ne mesurent plus rien de réel depuis le milieu des années 1990 : ce sont des noms de génération ; Intel l'a reconnu en 2021 en rebaptisant les siens.
Étape 2 : Les portes logiques
| A | B | ET | OU | OU exclusif | NON-ET |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 |
| A | B | Sortie |
|---|
Défi : quelle porte donne cette table ?
Sortie attendue pour A B = 00, 01, 10, 11 :
🟢 Découverte
En reliant quelques transistors, on fabrique des « portes »Porte logique — Petit circuit de quelques transistors qui combine des bits selon une règle simple : ET, OU, NON… Toute l'électronique de calcul est faite de portes. qui répondent à des questions simples : « les deux sont allumés ? » (ET), « au moins un des deux ? » (OU), « le contraire ? » (NON).
🟡 Curieux
Chaque porte a sa table de vérité, qui donne la sortie pour toutes les entrées possibles. Le OU exclusif s'allume quand une seule entrée est allumée : on s'en servira pour additionner. Et avec la seule porte NON-ET, on peut construire toutes les autres.
🔴 Ingénieur
Une porte NON-ET en CMOS compte 4 transistors (deux N en série, deux P en parallèle). Toute fonction logique se réécrit avec des NON-ET, ou avec des NON-OU.
Étape 3 : Calculer : l'additionneur
2 + 3 en binaire : 0010 + 0011. Colonne de droite : 0 + 1 = 1, pas de retenue. Deuxième colonne : 1 + 1 = 10 en binaire, on écrit 0 et on retient 1. Troisième colonne : 0 + 0 + la retenue 1 = 1. Résultat : 0101, soit 5. Chaque colonne est un « additionneur complet » fabriqué avec des portes OU exclusif, ET et OU.
| Retenues | |||||
|---|---|---|---|---|---|
| A | |||||
| + B | |||||
| = Somme | |||||
| Vaut | 8 | 4 | 2 | 1 |
🟢 Découverte
Avec des portes, on peut additionner. C'est l'addition posée de l'école, avec des retenues, mais en binaire : 1 + 1 = 10 (« on écrit 0, on retient 1 »).
🟡 Curieux
Un additionneur complet additionne deux bits et une retenue ; il est fait de deux OU exclusif, deux ET et un OU. En mettant quatre additionneurs en chaîne, la retenue de l'un entrant dans le suivant, on additionne deux nombres de 4 bits.
🔴 Ingénieur
La retenue qui se propage d'étage en étage prend du temps : les processeurs utilisent des additionneurs « à anticipation de retenue ». L'additionneur fait partie de l'unité arithmétique et logique (UAL), qui sait aussi soustraire, comparer et combiner des bits.
Étape 4 : Se souvenir : la mémoire
Un verrou est fait de deux portes dont la sortie de l'une revient à l'entrée de l'autre. Une impulsion sur « Mettre » le fait passer à 1, et il reste à 1 même quand on relâche ; une impulsion sur « Effacer » le remet à 0. La mémoire vive est un grand tableau de cases numérotées : pour lire ou écrire, on donne le numéro de la case, son adresse.
1. Un verrou : un bit qui se souvient
2. Une mémoire vive de 16 cases
- 00
- 10
- 20
- 30
- 40
- 50
- 60
- 70
- 80
- 90
- 100
- 110
- 120
- 130
- 140
- 150
🟢 Découverte
Un ordinateur doit se souvenir de ses données et de son programme. Deux portes qui se tiennent l'une l'autre peuvent garder un 0 ou un 1 tant qu'il y a du courant.
🟡 Curieux
C'est une bascule. On en range plusieurs côte à côte pour former des registresRegistre (processeur) — Petite case de mémoire très rapide, à l'intérieur même du processeur, où il garde les nombres sur lesquels il travaille. À ne pas confondre avec le registre des noms de domaine.. La mémoire viveMémoire vive (RAM) — Mémoire de travail de l'ordinateur, faite de cases numérotées (les adresses). Rapide, mais elle s'efface quand on coupe le courant, contrairement au stockage (disque, mémoire flash). (RAM) est un immense tableau de cases numérotées : pour lire ou écrire, on donne le numéro de la case, son adresse. La RAM est rapide mais s'efface quand on éteint ; le stockage (SSD, disque dur) est plus lent mais garde les données.
🔴 Ingénieur
La RAM des ordinateurs actuels est de la DRAM : un transistor et un minuscule condensateur par bit, qu'il faut recharger des milliers de fois par seconde. Les caches, plus rapides, utilisent de la SRAM (des bascules de 6 transistors).
Étape 5 : L'horloge
Un processeur à 3 GHz bat 3 milliards de tics par seconde. Si tu comptais un tic par seconde, sans jamais t'arrêter, il te faudrait environ 95 ans pour compter ce qu'il fait en une seule seconde.
0 tics
🟢 Découverte
Une horlogeHorloge (fréquence) — Signal qui bat la mesure du processeur : à chaque tic, ses circuits avancent d'un pas. Elle se mesure en hertz ; 3 GHz, c'est 3 milliards de tics par seconde. donne le tempo, comme un métronome : à chaque « tic », tous les circuits avancent d'un pas. Un processeur récent bat plusieurs milliards de tics par seconde.
🟡 Curieux
La fréquence se mesure en hertz : 1 hertz, c'est un tic par seconde ; 1 gigahertz, un milliard. Le 4004 de 1971 battait à 740 000 hertz ; un processeur de bureau récent, entre 3 et 6 milliards. Mais depuis le milieu des années 2000, la fréquence n'augmente presque plus : au-delà, les puces chauffent trop. On multiplie plutôt les cœurs de calcul.
🔴 Ingénieur
La fréquence maximale dépend du chemin le plus lent entre deux bascules : le signal doit avoir traversé toutes les portes avant le tic suivant. Les processeurs découpent donc chaque instruction en étapes (pipeline) et ajustent leur fréquence selon la charge et la température.
Étape 6 : Le processeur : chercher, décoder, exécuter
Programme « 2 + 3 » : la case 0 contient « CHARGE 14 » (l'accumulateur reçoit 2), la case 1 « AJOUTE 15 » (il vaut alors 5), la case 2 « RANGE 13 » (le résultat 5 est rangé dans la case 13), la case 3 « STOP ». Pour chaque instruction, le processeur la cherche en mémoire, la décode, puis l'exécute.
Processeur
- Compteur de programme
- Registre d'instruction
- Accumulateur
- Cycles
Les 7 instructions
0000STOP : arrête le programme0001CHARGE : copie la case dans l'accumulateur0010AJOUTE : ajoute la case à l'accumulateur0011RETIRE : retire la case de l'accumulateur0100RANGE : copie l'accumulateur dans la case0101SAUTE : continue à l'adresse indiquée0110SAUTE SI ZÉRO : saute seulement si l'accumulateur vaut 0
Mémoire (modifiable)
| Case | Bits | Valeur | Lue comme instruction |
|---|---|---|---|
| 0 | |||
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 | |||
| 6 | |||
| 7 | |||
| 8 | |||
| 9 | |||
| 10 | |||
| 11 | |||
| 12 | |||
| 13 | |||
| 14 | |||
| 15 |
🟢 Découverte
Le processeurProcesseur — La puce qui exécute les programmes : elle va chercher une instruction en mémoire, la décode, l'exécute, puis passe à la suivante, des milliards de fois par seconde. lit une instruction en mémoire, comprend ce qu'elle demande, l'exécute, puis passe à la suivante. Encore, et encore, des milliards de fois par seconde.
🟡 Curieux
Le compteur de programme indique la case où se trouve la prochaine instruction. Le programme et les données sont rangés dans la même mémoire (architecture dite « de von Neumann ») : une case peut être lue comme une instruction ou comme un nombre (regarde la dernière colonne de l'animation). Les sauts permettent de répéter (boucles) ou de choisir (conditions).
🔴 Ingénieur
Ce mini-processeur a 7 instructions sur 4 bits et 16 adresses. Un vrai jeu d'instructions (x86, ARM, RISC-V) en compte des dizaines à des centaines, avec de nombreux registres, une pile, des interruptions ; et les processeurs exécutent plusieurs instructions à la fois.
Étape 7 : Du langage humain aux instructions
La ligne Python total = 2 + 3 devient, pour un vrai processeur RISC-V, trois
instructions en langage d'assemblage (addi t0, zero, 2 ; addi t1, zero, 3 ;
add t2, t0, t1), chacune codée sur 32 bits. Pour le mini-processeur de l'étape 6,
ce sont « CHARGE 14 », « AJOUTE 15 », « RANGE 13 », chacune sur 8 bits.
-
Ce que tu écris (langage Python)
total = 2 + 3 -
Langage d'assemblage (une instruction par ligne)
CHARGE 14 ; accumulateur ← case 14 (qui contient 2) AJOUTE 15 ; accumulateur ← accumulateur + case 15 (qui contient 3) RANGE 13 ; case 13 (« total ») ← accumulateuraddi t0, zero, 2 # t0 ← 0 + 2 addi t1, zero, 3 # t1 ← 0 + 3 add t2, t0, t1 # t2 ← t0 + t1 -
Code machine (ce que lit vraiment le processeur)
00011110 00101111 0100110100000000001000000000001010010011 00000000001100000000001100010011 00000000011000101000001110110011
🟢 Découverte
Personne n'écrit directement des 0 et des 1 : on écrit dans des langages plus proches du nôtre, puis un programme les traduit en instructions pour le processeur.
🟡 Curieux
Au plus près de la machine, le langage d'assemblage donne un nom à chaque instruction. Plus haut, les langages comme Python ou C sont traduits par un compilateurCompilateur — Programme qui traduit, avant l'exécution, un texte écrit dans un langage lisible (C, Rust…) en instructions pour un processeur précis. (avant l'exécution) ou un interpréteur (pendant). Et au-dessus de tout cela, le système d'exploitation (Windows, Linux, macOS…) partage le processeur et la mémoire entre les programmes ; pour parler à chaque appareil, il s'appuie sur un pilote.
🔴 Ingénieur
Un compilateur analyse le texte, le transforme en représentation intermédiaire,
l'optimise (il calculerait ici 2 + 3 à l'avance), puis produit le code
machine du processeur visé.
Et ton ordinateur à toi ?
Chaque ligne d'une fiche technique correspond à une étape que tu connais maintenant.
| Sur la fiche | Ce que c'est |
|---|---|
| Processeur 8 cœurs, 3,5 GHz | 5 — L'horloge et 6 — Le processeur : 8 processeurs dans une puce, 3,5 milliards de tics par seconde. |
| 16 Go de mémoire vive | 4 — La mémoire : environ 16 milliards de cases d'un octet. |
| SSD de 512 Go | 4 — La mémoire : le stockage, qui garde les données une fois éteint. |
| Gravure « 3 nm » | 1 — Le transistor : un nom de génération, pas une vraie mesure. |
| Architecture x86 ou ARM | 6 — Le processeur : la liste des instructions qu'il comprend. |