Les niveaux d’un ordinateur
Un ordinateur est une pile de niveaux d’abstraction. Explorez-les un par un, des langages de programmation jusqu’aux transistors.
- 0Niveau 0
Langages de programmation
Ce que vous écrivez : variables, fonctions, pointeurs — et ce qu’un compilateur en fait.
Du code source au binaire qui s’exécute · Variables, types et disposition en mémoire · Pointeurs et tableaux · Fonctions, appels et la pile · Structures, malloc et le tas · Flot de contrôle : if, boucles, switch
c = a + b; - 1Niveau 1
Langage d’assemblage
Une ligne par instruction : registres, drapeaux, sauts — la vue des débogueurs et désassembleurs.
Les registres · Drapeaux, cmp et sauts conditionnels · Conventions d’appel (System V, cdecl) · Assembleur, éditeur de liens et chargeur · Directives, sections et macros
add eax, ecx - 2Niveau 2
Système d’exploitation
La couche qui fait d’un CPU plusieurs processus : mémoire virtuelle, appels système, fichiers.
Processus et espace d’adressage · Appels système et niveaux de privilège · Mémoire virtuelle et pagination · Fichiers, périphériques et E/S · Threads et synchronisation
syscall - 3Niveau 3
Architecture du jeu d’instructions
Le contrat entre logiciel et silicium : formats, encodages, modes d’adressage.
Formats et encodage des instructions · Modes d’adressage · x86, ARM et RISC-V côte à côte · Interruptions et exceptions · Les types que comprend le matériel
01 C8 - 4Niveau 4
Microarchitecture
Comment une instruction devient fetch, decode, execute : chemin de données, bus, caches, pipelines.
Le cycle fetch–decode–execute · Chemin de données et bus · Unité de contrôle et microcode · Pipeline et aléas · Caches et hiérarchie mémoire · Prédiction de branchement et exécution dans le désordre · Multicœurs et machines parallèles
MAR ← rip · MEMR - 5Niveau 5
Logique numérique
Portes, additionneurs, ALU, bascules et cellules mémoire — là où 0 et 1 deviennent calcul.
Portes et algèbre de Boole · Additionneurs, ALU et drapeaux · Multiplexeurs, décodeurs et bus · Verrous, bascules et horloge · Registres et matrices mémoire
S = A ⊕ B ⊕ Cin - 6Niveau 6
Composants et physique
Le bas de la pile : le transistor comme interrupteur, les portes CMOS, la fabrication des puces.
Le transistor comme interrupteur · Construire des portes en CMOS · Du sable à la puce
NMOS · PMOS
Fondamentaux
Les systèmes de numération sur lesquels reposent tous les niveaux.