Comment fonctionne vraiment un ordinateur, couche par couche.
Partez des applications que vous utilisez et des algorithmes qui les font tourner, puis suivez une seule ligne de C à travers l’assembleur, le code machine, les micro-opérations et les bus jusqu’aux portes logiques et transistors qui l’exécutent, et parcourez chacune en direct.
- niveaux d’abstraction
- 10
- niveaux d’abstraction
- chapitres prévus
- 84
- chapitres prévus
- exemples exécutables
- 24
- exemples exécutables
- installation ou inscription
- 0
- installation ou inscription
Le simulateur
Arrêtez d’imaginer ce que fait le CPU. Regardez-le.
Un compilateur, un émulateur et un débogueur qui s’expliquent eux-mêmes, entièrement dans votre navigateur.
Du C à l’assembleur, dans le navigateur
Un vrai compilateur : types, pointeurs, structures et chaînes. Chaque ligne d’assembleur renvoie au C qui l’a produite.
cmp eax, 5 · 3 − 5 = −2 → jl taken
Chaque drapeau, chaque bit
Le registre RFLAGS complet, ce que chaque instruction a écrit ou modifié, et quel saut conditionnel sera pris, et pourquoi.
La pile, annotée
Cadres, variables locales, arguments, pointeurs de cadre sauvegardés et adresses de retour, nommés d’après votre C. Regardez un débordement de tampon l’écraser.
À l’intérieur du CPU
Fetch, decode, calcul d’adresse, lectures et écritures sur le bus, ALU, write-back : chaque micro-opération animée sur le bus système.
Dix niveaux
D’un clic à l’électron, dix niveaux de profondeur
Chaque niveau est implémenté par celui du dessous. Choisissez un niveau pour zoomer.
Explorer les dix niveaux- L0Applications et utilisateurCe que vous voyez et faites : cliquer, taper, charger une page, et ce que chacun de ces gestes déclenche vraiment.
double-click → app - L1Problèmes et algorithmesAvant tout langage : ce qu’est un calcul, comment résoudre un problème pas à pas, et comment en mesurer le coût.
sort(list) - L2Langages de programmationCe que vous écrivez : variables, fonctions, pointeurs, et ce qu’un compilateur en fait.
c = a + b; - L3Langage d’assemblageUne ligne par instruction : registres, drapeaux, sauts : la vue des débogueurs et désassembleurs.
add eax, ecx - L4Système d’exploitationLa couche qui fait d’un CPU plusieurs processus : mémoire virtuelle, appels système, fichiers.
syscall - L5Architecture du jeu d’instructionsLe contrat entre logiciel et silicium : formats, encodages, modes d’adressage.
01 C8 - L6MicroarchitectureComment une instruction devient fetch, decode, execute : chemin de données, bus, caches, pipelines.
MAR ← rip · MEMR - L7Logique numériquePortes, additionneurs, ALU, bascules et cellules mémoire, là où 0 et 1 deviennent calcul.
S = A ⊕ B ⊕ Cin - L8Composants et pucesLe transistor comme interrupteur, les portes CMOS, la fabrication des puces, et les périphériques de stockage et d’E/S qu’on en tire.
NMOS · PMOS - L9Physique du calculLe vrai fond : électrons, semi-conducteurs et effet de champ : comment un bit est physiquement stocké et déplacé, et les limites qu’impose la physique.
e⁻ · p-n
Fondamentaux
Les systèmes de numération sur lesquels reposent tous les niveaux.
Commencez en haut. Descendez aussi loin que vous voulez.
Sans installation ni compte. Chaque chapitre a des démos en direct à manipuler.
Commencer par les niveaux