Garden of KnowledgeApplied Sciences › Computer Science › Hardware
February 24, 2026

Architecture des Processeurs

Un processeur (CPU — Central Processing Unit) est le cerveau d’un ordinateur. Il exécute les instructions des programmes en effectuant des opérations arithmétiques, logiques et de contrôle.

Architecture de von Neumann§

Proposée en 1945, elle est la base de quasiment tous les ordinateurs modernes.

┌──────────────────────────────────────┐
│              Mémoire                  │
│    (instructions + données mélangées) │
└───────────────┬──────────────────────┘
                │ bus
┌───────────────▼──────────────────────┐
│                CPU                    │
│  ┌───────────┐   ┌─────────────────┐  │
│  │    ALU    │   │   Unité Ctrl    │  │
│  │ (calculs) │   │ (décodage instr)│  │
│  └───────────┘   └─────────────────┘  │
│  ┌─────────────────────────────────┐  │
│  │          Registres              │  │
│  └─────────────────────────────────┘  │
└──────────────────────────────────────┘

   Périphériques E/S

Limitation de von Neumann : le goulot d’étranglement von Neumann — le bus partagé entre instructions et données limite les performances. Solutions modernes : caches séparés L1i (instructions) et L1d (données).

Architecture Harvard : sépare physiquement les mémoires d’instructions et de données. Utilisée dans les microcontrôleurs (Arduino, PIC) et les DSP. Permet des accès simultanés aux deux mémoires.

Composants d’un CPU§

Unité Arithmétique et Logique (ALU)§

Effectue les opérations de base : addition, soustraction, ET, OU, XOR, décalages binaires, comparaisons. Les opérations à virgule flottante sont souvent déléguées à une FPU (Floating Point Unit) séparée.

Unité de Contrôle (Control Unit)§

Décode les instructions et coordonne les autres composants. Elle lit l’instruction pointée par le registre IP (Instruction Pointer), la décode, génère les signaux de contrôle appropriés.

Registres§

Mémoire ultra-rapide intégrée au CPU. Quelques dizaines à quelques centaines de registres selon l’architecture.

Registres x86-64 principaux :

RegistreTailleUsage traditionnel
RAX64 bitsAccumulateur, valeur de retour
RBX64 bitsBase pointer
RCX64 bitsCompteur de boucle
RDX64 bitsDonnées, E/S
RSP64 bitsStack pointer (sommet de pile)
RBP64 bitsBase pointer (frame actuel)
RSI64 bitsSource index
RDI64 bitsDestination index
RIP64 bitsInstruction pointer (PC)
R8-R1564 bitsUsage général (x86-64 seulement)
RFLAGS64 bitsDrapeaux (zéro, retenue, signe, overflow)

Les registres sont aussi accessibles en 32 bits (EAX), 16 bits (AX) et 8 bits (AL, AH) pour la compatibilité.

Pipeline d’instructions§

Le pipeline permet d’exécuter plusieurs instructions simultanément en les divisant en étapes.

Pipeline classique à 5 étages (RISC) :

Cycle :  1   2   3   4   5   6   7   8
Instr 1: IF  ID  EX  MEM WB
Instr 2:     IF  ID  EX  MEM WB
Instr 3:         IF  ID  EX  MEM WB
Instr 4:             IF  ID  EX  MEM WB

IF  = Instruction Fetch — lecture de l'instruction en mémoire
ID  = Instruction Decode — décodage et lecture des registres
EX  = Execute — exécution dans l'ALU
MEM = Memory access — lecture/écriture en mémoire
WB  = Write Back — écriture du résultat dans le registre

En théorie, avec 5 étages, on traite jusqu’à 5 instructions simultanément.

Hazards (aléas)§

Situations qui empêchent le pipeline de progresser normalement.

Aléa de données (Data Hazard) : une instruction dépend du résultat d’une instruction précédente non encore terminée.

ADD R1, R2, R3    # R1 = R2 + R3
SUB R4, R1, R5    # R4 = R1 - R5 → R1 pas encore disponible !

Solutions : stall (attendre), forwarding/bypassing (transmettre le résultat directement sans passer par WB), réordonnancement des instructions par le compilateur.

Aléa de contrôle (Control Hazard) : les branchements conditionnels (if, boucles) invalident les instructions déjà dans le pipeline.

Solution : prédiction de branchement. Le CPU prédit si un branchement sera pris ou non et continue à remplir le pipeline. En cas d’erreur de prédiction : flush du pipeline + pénalité de 10-20 cycles. Les CPUs modernes ont des prédicteurs avec > 95% de précision.

Aléa structurel (Structural Hazard) : deux instructions veulent utiliser la même ressource matérielle simultanément.

Solution : duplication des ressources (plusieurs ALUs, ports mémoire).

RISC vs CISC§

DimensionRISCCISC
SignificationReduced Instruction Set ComputerComplex Instruction Set Computer
InstructionsPeu nombreuses, taille fixeNombreuses, taille variable
ComplexitéDans le compilateurDans le matériel
ExemplesARM, RISC-V, MIPS, PowerPCx86, x86-64, VAX
PipelineSimple, régulierComplexe
MémoireLoad/Store uniquementOpérations directes sur mémoire
PerformancesÉlevées par MHz sur code simpleMeilleur code dense

Note : les CPUs x86-64 modernes (Intel, AMD) traduisent en interne les instructions CISC complexes en micro-opérations RISC-like. Le x86-64 visible est CISC, mais l’exécution interne est RISC.

Superscalarité et Out-of-Order Execution§

Superscalarité§

Un CPU superscalaire peut émettre et exécuter plusieurs instructions par cycle d’horloge en dupliquant les unités d’exécution. Un Core i9 peut émettre jusqu’à 6 micro-ops par cycle.

Exécution hors ordre (Out-of-Order Execution)§

Le CPU réordonne les instructions pour minimiser les stalls, tout en respectant les dépendances. Il maintient un pool d’instructions prêtes à être exécutées (Reorder Buffer) et les exécute dans l’ordre optimal.

Exécution spéculative§

Le CPU exécute des instructions “à l’avance” sans être sûr qu’elles seront nécessaires (prédiction de branchement, spéculation de mémoire). Si la prédiction était fausse, les résultats sont annulés. C’est à l’origine des failles Spectre et Meltdown (2018).

Niveaux de cache§

Le cache est une mémoire rapide entre le CPU et la RAM, exploitant la localité temporelle et spatiale.

NiveauTaille typiqueLatencePartagé
Registres~1 Ko~0.3 ns (1 cycle)Non — par cœur
L1 (instructions + données)32-64 Ko~1 ns (4 cycles)Non — par cœur
L2256 Ko – 1 Mo~3-10 ns (12 cycles)Non — par cœur
L3 (Last Level Cache)8-64 Mo~30-40 ns (40 cycles)Partagé entre cœurs
RAM (DRAM)8-256 Go~60-100 ns (200 cycles)Partagée
SSD NVMeTo~0.1 msPartagé
HDDTo~5-10 msPartagé

Localité temporelle : si une donnée est accédée, elle le sera probablement à nouveau bientôt → garder en cache.

Localité spatiale : si une donnée est accédée, les données voisines le seront probablement → charger des lignes de cache entières (64 octets).

Fréquence, IPC et TDP§

Fréquence (GHz) : nombre de cycles par seconde. Plus de cycles = plus d’instructions potentielles. Mais augmenter la fréquence augmente la chaleur quadratiquement.

IPC (Instructions Per Cycle) : nombre moyen d’instructions exécutées par cycle. Dépend de l’architecture. Un Cortex-A78 exécute plus d’instructions par cycle qu’un Pentium 4 à même fréquence.

Performances = Fréquence × IPC × Nombre de cœurs (simplification)

TDP (Thermal Design Power) : puissance thermique maximale en watts. Un CPU 125W TDP dissipe jusqu’à 125W qu’il faut évacuer.

Multi-core et Hyper-Threading§

Multi-core : plusieurs cœurs physiques sur le même die. Chaque cœur est un CPU complet avec ses propres registres et caches L1/L2. Les cœurs se partagent le cache L3 et l’accès à la RAM.

HyperThreading (Intel) / SMT (AMD) : présente 2 threads logiques par cœur physique. Chaque thread a ses propres registres et un reorder buffer, mais partage les unités d’exécution. Gain de 15-30% sur les charges parallèles, perte potentielle sur les charges à thread unique intense.

GPU vs CPU§

CritèreCPUGPU
Cœurs8-64 cœurs puissantsMilliers de cœurs simples
Optimisé pourTâches séquentielles complexesCalcul parallèle massif
CacheGrand (L3 jusqu’à 64 Mo)Petit mais très haute bande passante
MémoireRAM (DDR5)VRAM (GDDR6, HBM)
UsageLogique générale, OS, BDDRendu 3D, ML, calcul scientifique
ArchitectureQuelques threads très rapidesMilliers de threads modestes (SIMD)

Architectures récentes§

ArchitectureEntrepriseUsagePoints clés
x86-64 (Zen 5)AMDDesktop/ServeurHaute performance, IPC élevé
x86-64 (Core Ultra)IntelDesktop/LaptopHybride Performance+Efficiency cores
ARMv9 (Cortex-X4)ARMMobile, Apple SiliconExcellent rapport perf/watt
Apple M4AppleMac, iPadArchitecture unifiée CPU+GPU+NPU
RISC-VOpen SourceEmbarqué, IoTISA libre, croissance forte
—The Gardener