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 MOVSB pour 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érationAnnéeInnovations
80861978Premier x86 (16 bits)
80386198532 bits (mode protégé)
Pentium1993Pipeline superscalaire
Core 2 Duo2006Multicœur
Nehalem (1ère Gen Core i)2008Hyper-Threading
Alder Lake (12th Gen)2021Hybrid (P-Cores + E-Cores)

AMD

GénérationAnnéeInnovations
K51996Premier x86 AMD
Athlon (K7)19991er à battre Intel en perf
Opteron (K8)200364 bits (AMD64 / x86-64)
Ryzen (Zen)2017Retour en force face à Intel
Ryzen 7000 (Zen 4)20225nm, 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

  1. Mode réel (16 bits) : Comme le 8086 (DOS).
  2. Mode protégé (32 bits) : Mémoire virtuelle, multitâche.
  3. Mode long (64 bits) : AMD64 (registres étendus à 64 bits).
  4. 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

InstructionDescription
MOV dest, srcCopie une valeur
ADD/SUB dest, srcAddition/Soustraction
CMP op1, op2Compare (met à jour EFLAGS)
JMP/Jcc labelSaut (conditionnel)
CALL funcAppel de fonction
INT 0x80Appel 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èrex86ARMRISC-V
TypeCISCRISCRISC
LicencePropriétaire (Intel/AMD)Payante (ARM Ltd)Open-source
PerformanceHautes perfs (PC/serveurs)Équilibre perf/énergieDépend de l’implémentation
ÉcosystèmeTrè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.