Modes de fonctionnement du processeur 8086 : Réel, Protégé, V86, SMM
Quatre modes de la lignée 8086/80286/80386+
Le 8086 lui-même ne tourne qu'en Mode Réel. Ses successeurs ont ajouté des modes ; le 80386+ supporte les quatre. Les comprendre clarifie l'évolution x86.
1. Mode Réel (8086 natif)
- Adressage : 20 bits (segment:offset → physique = segment×16 + offset). Limite 1 Mo.
- Registres : 16 bits (AX, BX, CX, DX, SI, DI, BP, SP, IP, FLAGS, CS, DS, ES, SS).
- Protection : Aucune. Tout code peut accéder toute mémoire, E/S, interruption.
- Usage : DOS, BIOS, bootloaders, OS 16 bits. Défaut au reset.
2. Mode Protégé (80286+)
- Adressage : 24 bits (286) → 32 bits (386+) adresses linéaires via tables descripteurs (GDT/LDT/IDT).
- Segmentation : Segments ont base, limite, privilège (DPL 0–3), type (code/données/système).
- Pagination (386+) : Pages 4 Ko, CR3 répertoire pages, mémoire virtuelle, pagination à la demande.
- Anneaux privilèges : Anneau 0 (noyau), Anneau 3 (utilisateur). Application matérielle.
- Multitâche : Commutation tâches matérielle (TSS) ou ordonnanceur logiciel.
- Entrée : PE=1 dans CR0 (386) / MSW (286) ; charge GDT, IDT, saut loin pour vider pipeline.
3. Mode Virtuel 8086 (V86) (386+)
- Concept : Machines virtuelles "Mode Réel" multiples dans Mode Protégé.
- Chaque tâche V86 : Obtient son propre espace d'adressage virtuel 1 Mo, IVT virtuel, matériel virtuel.
- Trappage : Instructions privilégiées (CLI, STI, IN, OUT, INT) trappent vers anneau 0 moniteur (VMM/hôte DPMI).
- Usage : Boîtes DOS dans Windows 3.x/9x/NTVDM, DOSEMU, EMM386.
4. Mode Gestion Système (SMM) (386 SL / 486+)
- Déclencheur : Broche SMI# (matériel) ou trappe E/S SMI.
- Contexte : Sauvegarde état CPU complet dans SMRAM (mémoire cachée).
- Code : Gestionnaire SMI BIOS/UEFI — gestion énergie, thermique, contrôle matériel, MAJ firmware.
- Transparent : Invisible pour OS/applications ; retour via RSM.
Résumé transitions modes
| De → Vers | Mécanisme | Déclencheur typique |
|---|---|---|
| Reset → Réel | Matériel | Mise sous tension / RESET# |
| Réel → Protégé | Logiciel (PE=1 + saut loin) | Bootloader OS (Linux, Windows) |
| Protégé → V86 | Commutation tâche vers TSS V86 | Hôte DPMI / NTVDM |
| N'importe quel → SMM | Matériel SMI# | Thermique, bouton power, USB legacy |
| SMM → Précédent | Instruction RSM | Sortie gestionnaire SMI |
Le x86-64 moderne ajoute le Mode Long (64 bits) avec sous-modes compatibilité/héritage — mais les quatre ci-dessus restent la fondation architecturale.
