Comment fonctionne un microprocesseur : Le cycle Fetch-Decode-Execute
Le cœur de tout CPU
Un microprocesseur exécute les programmes en répétant une boucle fondamentale — le cycle d'instruction — des milliards de fois par seconde.
Le cycle 5 étapes (RISC classique / simplifié)
- Fetch (Recherche)
- PC (Program Counter) contient adresse instruction suivante.
- Adresse placée sur bus d'adresses ; mémoire retourne mot instruction.
- Instruction chargée dans IR (Instruction Register).
- PC incrémenté (ou mis à jour par branchement).
- Decode (Décodage)
- Unité de contrôle interprète bits IR → opcode + opérandes.
- Détermine : opération ALU, accès registres, accès mémoire, branchement ?
- Génère signaux de contrôle pour chemin de données.
- Execute (Exécution)
- ALU effectue arithmétique/logique (ADD, AND, SHIFT…).
- Calcul d'adresse pour load/store (base + offset).
- Évaluation condition branchement.
- Memory Access (Accès mémoire)
- Load : lecture donnée mémoire → registre.
- Store : écriture registre → mémoire.
- Branchement pris : PC mis à jour vers cible.
- Writeback (Réécriture)
- Résultat ALU ou donnée chargée écrit dans registre destination.
- Drapeaux (Z, N, C, V) mis à jour.
Améliorations modernes
- Pipelining : Chevauchement étapes — 5+ instructions en vol simultanément.
- Superscalaire : Unités décodage/exécution multiples — émission 2–8 instructions/cycle.
- Out-of-Order : Réordonnancement instructions pour éviter arrêts (risques données).
- Exécution spéculative : Prédiction branchements ; annulation si erreur.
- Caches (L1/L2/L3) : Réduisent latence mémoire (taux réussite 95 %+).
- Mémoire virtuelle : MMU traduit VA → PA ; TLB met en cache traductions.
Interruptions et exceptions
Externes (IRQ), internes (division par zéro, page fault), logicielles (syscall) — sauvegarde PC/FLAGS, saut vers gestionnaire, retour via IRET/ERET.
Analogie
Fetch = lire étape recette. Decode = comprendre instruction. Execute = couper/cuire. Memory = chercher/ranger ingrédients. Writeback = mettre résultat dans bol. Recommencer.
Du 4,77 MHz 8088 au 5 GHz Core i9 — même cycle, parallélisme exponentiellement supérieur.
