# CPU Architecture

#### **1. Les composants internes du CPU**

Le CPU est un circuit qui exécute des instructions. Il est composé de plusieurs unités spécialisées qui travaillent ensemble.

<table border="1" id="bkmrk-les-registres-sont-l" style="border-collapse: collapse; width: 50%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr><td>**Les registres** sont la mémoire la plus rapide qui existe — ils sont physiquement intégrés dans le processeur. Un registre stocke une seule valeur (ex: 64 bits) pendant qu'elle est en cours de traitement. Il y en a très peu (une vingtaine typiquement).

</td></tr><tr><td>**L'ALU** (Arithmetic Logic Unit) exécute les opérations entières : additions, soustractions, comparaisons, ET/OU logiques. C'est le "calculateur" du CPU.

</td></tr><tr><td>**La FPU** (Floating Point Unit) fait la même chose mais pour les nombres à virgule flottante (décimaux). Historiquement un chip séparé (le co-processeur 8087 d'Intel), elle est intégrée dans le CPU depuis le Pentium.

</td></tr><tr><td>**Le cache** (L1, L2, L3) est une mémoire ultra-rapide mais petite, intégrée au CPU, qui sert à éviter d'aller chercher les données dans la RAM (beaucoup plus lente). L1 est le plus rapide (~1ns), L3 le plus grand.

</td></tr></tbody></table>

---

#### **2. Les architectures de jeux d'instructions (ISA)**

Un **ISA** (Instruction Set Architecture) définit le langage que le CPU comprend — quelles instructions existent, comment elles sont encodées en binaire, combien de bits elles manipulent.

##### **x86 (IA-32) — 32 bits**

Intel a sorti le **8086** en 1978 (16 bits), puis le **80386** en 1985 qui introduit le **32 bits** et crée ce qu'on appelle l'architecture IA-32 ou x86. Le principe est la **compatibilité descendante** : chaque génération peut exécuter les programmes des générations précédentes.

La famille x86 passe par 8 bits → 16 bits (8086) → 32 bits (80386, Pentium, Celeron). En 32 bits, les adresses mémoire font 32 bits, ce qui limite la RAM à **4 Go** maximum (2³² adresses).

##### **x86-64 (x64) — 64 bits**

En 2003, **AMD** sort l'**AMD64**, une extension 64 bits de x86. Intel suit avec **EM64T** (rebaptisé Intel 64). Aujourd'hui on parle de **x86-64** ou simplement **x64**. Les avantages : adresses 64 bits → plus de 4 Go de RAM, registres plus larges, plus de registres disponibles, calculs plus précis. Tous les PC modernes utilisent x64.

##### **ARM — Architecture RISC à faible consommation**

ARM (Advanced RISC Machines) utilise un jeu d'instructions **RISC** : moins d'instructions, plus simples, plus régulières.

Résultat : **moins de transistors**, donc **moins de chaleur** et **moins de consommation électrique**. C'est pour ça qu'ARM domine les smartphones, tablettes et objets connectés depuis les années 2000.

Les **Apple Silicon** (M1, M2, M3, M4) sont des puces ARM conçues par Apple. En passant du x86 Intel à ses propres puces ARM en 2020, Apple a obtenu des performances exceptionnelles avec une consommation réduite — les MacBook Air M-series n'ont d'ailleurs pas de ventilateur.