Introduction à l’architecture x86
L’architecture x86 est une famille de processeurs CISC (Complex Instruction Set Computer) développée à l’origine par Intel (8086 en 1978) et aujourd’hui dominée par Intel et AMD.
🔹 Caractéristiques principales :
- Jeu d’instructions complexe (CISC) : Une seule instruction peut faire beaucoup (ex:
REP MOVSBpour copier une chaîne en mémoire). - Compatibilité ascendante : Les nouveaux CPU x86 peuvent toujours exécuter du code 32 bits (voir 16 bits en mode réel).
- Principalement utilisé dans :
- PC Windows/Linux (Intel Core, AMD Ryzen)
- Serveurs (Intel Xeon, AMD EPYC)
- Consoles (PS4/PS5 : AMD Jaguar/Zen)
Évolution des architectures x86 (Intel vs AMD)
Intel
| Génération | Année | Innovations |
|---|---|---|
| 8086 | 1978 | Premier x86 (16 bits) |
| 80386 | 1985 | 32 bits (mode protégé) |
| Pentium | 1993 | Pipeline superscalaire |
| Core 2 Duo | 2006 | Multicœur |
| Nehalem (1ère Gen Core i) | 2008 | Hyper-Threading |
| Alder Lake (12th Gen) | 2021 | Hybrid (P-Cores + E-Cores) |
AMD
| Génération | Année | Innovations |
|---|---|---|
| K5 | 1996 | Premier x86 AMD |
| Athlon (K7) | 1999 | 1er à battre Intel en perf |
| Opteron (K8) | 2003 | 64 bits (AMD64 / x86-64) |
| Ryzen (Zen) | 2017 | Retour en force face à Intel |
| Ryzen 7000 (Zen 4) | 2022 | 5nm, DDR5, PCIe 5.0 |
💡 AMD a popularisé le 64 bits (x86-64), aujourd’hui utilisé même par Intel !
Registres x86 (32 et 64 bits)
Registres généraux (32 bits : EAX, EBX… / 64 bits : RAX, RBX…)
Registre Usage
EAX/RAX Accumulateur (retour de fonctions)
EBX/RBX Base (pointeur de données)
ECX/RCX Compteur (boucles)
EDX/RDX Données (opérations I/O)
ESI/RSI Source (opérations chaînes)
EDI/RDI Destination (opérations chaînes)
ESP/RSP Stack Pointer (pile)
EBP/RBP Base Pointer (cadre de pile)
Registres spéciaux
EIP/RIP : Instruction Pointer (PC)
EFLAGS/RFLAGS : Registre d’état (Zéro, Carry, Sign, etc.)
Modes d’exécution x86
- Mode réel (16 bits) : Comme le 8086 (DOS).
- Mode protégé (32 bits) : Mémoire virtuelle, multitâche.
- Mode long (64 bits) : AMD64 (registres étendus à 64 bits).
- Mode hybride (UEFI, modern OS) : Combinaison de 32/64 bits.
Jeu d’instructions x86 (ASM)
Exemple de code NASM (32 bits)
mov eax, 42 ; EAX = 42
add ebx, eax ; EBX += EAX
cmp eax, ebx ; Compare EAX et EBX
jg label ; Saute si EAX > EBX
Instructions courantes
| Instruction | Description |
|---|---|
MOV dest, src | Copie une valeur |
ADD/SUB dest, src | Addition/Soustraction |
CMP op1, op2 | Compare (met à jour EFLAGS) |
JMP/Jcc label | Saut (conditionnel) |
CALL func | Appel de fonction |
INT 0x80 | Appel système (Linux 32 bits) |
Innovations récentes (Intel vs AMD)
Intel (12th/13th Gen)
- Big.Little (Hybride) : P-Cores (performance) + E-Cores (efficacité).
- DDR5 / PCIe 5.0 : Bande passante augmentée.
AMD (Ryzen 7000 / Zen 4)
- 5nm TSMC : Meilleure efficacité énergétique.
- AM5 (DDR5 uniquement) : Nouveau socket.
- 3D V-Cache (Ryzen 7 5800X3D) : Cache empilé pour les jeux.
Comparaison x86 vs ARM vs RISC-V
| Critère | x86 | ARM | RISC-V |
|---|---|---|---|
| Type | CISC | RISC | RISC |
| Licence | Propriétaire (Intel/AMD) | Payante (ARM Ltd) | Open-source |
| Performance | Hautes perfs (PC/serveurs) | Équilibre perf/énergie | Dépend de l’implémentation |
| Écosystème | Très mature (Windows/Linux) | Dominant (mobile/embarqué) | En croissance |
Conclusion
L’architecture x86 (Intel/AMD) domine toujours les PC et serveurs grâce à sa compatibilité et ses hautes performances, même si ARM et RISC-V gagnent du terrain.
