Architecture des ordinateurs : CPU, mémoire et bus
Introduction
Comprendre l'architecture matérielle d'un ordinateur est fondamental pour tout informaticien. Cette fiche de révision couvre les composants essentiels : le processeur (CPU), la hiérarchie mémoire, les bus système et le cycle d'exécution des instructions.
Le processeur (CPU)
Le CPU (Central Processing Unit) est le cerveau de l'ordinateur. Il exécute les instructions des programmes stockés en mémoire.
Composants internes du CPU
L'Unité Arithmétique et Logique (UAL/ALU) effectue les calculs mathématiques (addition, soustraction, multiplication) et les opérations logiques (AND, OR, NOT, comparaisons). L'Unité de Commande (UC) orchestre le fonctionnement : elle lit les instructions, les décode et coordonne les autres composants.
Les registres sont des mémoires ultra-rapides internes au CPU :
- Le compteur ordinal (PC) pointe vers la prochaine instruction
- Le registre d'instruction (IR) contient l'instruction en cours
- L'accumulateur stocke les résultats intermédiaires
Le cycle d'exécution (fetch-decode-execute)
Chaque instruction suit un cycle en 3 étapes :
- Fetch : le CPU lit l'instruction pointée par le compteur ordinal depuis la mémoire
- Decode : l'unité de commande décode l'instruction pour déterminer l'opération et les opérandes
- Execute : l'ALU ou l'unité de commande exécute l'opération
Le compteur ordinal est incrémenté et le cycle recommence.
Fréquence et performances
La fréquence d'horloge (en GHz) rythme le nombre de cycles par seconde. Un processeur à 3 GHz effectue 3 milliards de cycles/seconde. Cependant, la fréquence seule ne détermine pas la performance : l'architecture du pipeline (exécution parallèle), le nombre de cœurs, la taille du cache et le jeu d'instructions jouent un rôle majeur.
Architectures CISC vs RISC
CISC (Complex Instruction Set Computer) propose un grand nombre d'instructions complexes. Exemple : x86 (Intel, AMD).
RISC (Reduced Instruction Set Computer) utilise des instructions simples exécutées en un cycle, optimisant le pipeline. Exemple : ARM (smartphones, Apple Silicon).
La hiérarchie mémoire
La mémoire est organisée en niveaux, du plus rapide/cher au plus lent/économique.
Les niveaux de mémoire
| Niveau | Capacité | Vitesse | Volatilité |
|---|---|---|---|
| Registres CPU | Quelques octets | < 1 ns | Volatile |
| Cache L1/L2/L3 | Ko → Mo | 1-10 ns | Volatile |
| RAM (DRAM) | Go | ~100 ns | Volatile |
| SSD | To | ~100 µs | Persistant |
| HDD | To | ~10 ms | Persistant |
Mémoire vive : RAM
La RAM (Random Access Memory) permet un accès direct à n'importe quelle adresse. SRAM (Static RAM) est utilisée pour les caches — rapide mais chère. DRAM (Dynamic RAM) est utilisée pour la mémoire principale — nécessite un rafraîchissement périodique.
La DDR (Double Data Rate) transfère des données sur les fronts montant et descendant de l'horloge : DDR4 (~3200 MHz) et DDR5 (~5600 MHz) sont les standards actuels.
Mémoire virtuelle et swap
Le système d'exploitation utilise la mémoire virtuelle pour donner à chaque processus l'illusion d'un espace mémoire continu et privé. Le MMU (Memory Management Unit) traduit les adresses virtuelles en adresses physiques via une table des pages.
Quand la RAM est pleine, les pages les moins utilisées sont transférées sur le disque dans le swap (pagination), ce qui ralentit considérablement les performances.
Les bus système
Les bus sont les canaux de communication entre les composants.
Types de bus
- Bus de données : transporte les données. Sa largeur (32/64 bits) détermine le volume transféré par cycle
- Bus d'adresses : transporte les adresses mémoire. Un bus 32 bits adresse 2³² = 4 Go maximum
- Bus de contrôle : transporte les signaux de commande (lecture, écriture, interruption)
Bus standards modernes
PCIe (PCI Express) : bus série haute performance pour cartes graphiques, SSD NVMe. Chaque génération double le débit (PCIe 5.0 : ~4 Go/s par lane).
USB : bus universel pour périphériques externes (USB 3.2 : ~20 Gbit/s, USB4 : ~40 Gbit/s).
SATA : bus de stockage (~600 Mo/s), progressivement remplacé par NVMe sur PCIe.
Les entrées/sorties
Les interruptions matérielles (IRQ) permettent aux périphériques de signaler un événement au CPU sans polling constant. Le CPU suspend l'instruction en cours, exécute la routine d'interruption (ISR), puis reprend.
Le DMA (Direct Memory Access) permet à un périphérique de transférer des données directement vers la RAM sans passer par le CPU.
Points clés pour le concours
- Le cycle fetch-decode-execute est au cœur du fonctionnement du CPU
- La hiérarchie mémoire repose sur le compromis vitesse/coût/capacité
- La mémoire virtuelle protège les processus et étend la RAM via le swap
- Un bus 32 bits ne peut adresser que 4 Go de RAM (d'où le passage au 64 bits)
- Le DMA et les interruptions optimisent les E/S sans monopoliser le CPU