Quand vous lancez un programme Python, que se passe-t-il concrètement dans la machine ? Le code est stocké quelque part, des calculs sont effectués, des résultats sont affichés à l’écran. Pour comprendre ce cheminement, il faut connaître l’architecture interne d’un ordinateur, c’est-à-dire les composants qui le constituent et la façon dont ils communiquent entre eux.
En 1945, le mathématicien John von Neumann publie un rapport décrivant l’architecture que devrait avoir tout calculateur universel. Cette architecture, connue sous le nom de modèle de Von Neumann, reste le fondement de la quasi-totalité des ordinateurs actuels.
L’idée centrale est que le programme et les données sont stockés ensemble dans la mémoire. Avant Von Neumann, les programmes étaient câblés physiquement (cartes perforées, tableaux de connexions). L’innovation décisive est de les enregistrer en mémoire sous forme de nombres, au même titre que les données. Cela permet de changer de programme sans modifier le matériel.
Le modèle décompose l’ordinateur en quatre parties : l’unité arithmétique et logique, l’unité de commande, la mémoire et les entrées-sorties. Ces parties sont reliées par des bus (canaux de communication) :

Schéma du modèle de Von Neumann (source : Interstices.info)
Le processeur (CPU) regroupe les deux premières parties :
La mémoire stocke les instructions du programme et les données qu’il manipule. On distingue la mémoire vive (rapide, volatile) et la mémoire de masse (lente, persistante). Cette distinction est détaillée plus bas.
Les entrées-sorties permettent à l’ordinateur de communiquer avec l’extérieur : clavier, souris, écran, imprimante, réseau.
Les bus ne forment pas une cinquième partie : ils relient ces composants entre eux. Il en existe trois types : le bus de données (transporte les valeurs), le bus d’adresse (indique l’emplacement mémoire visé) et le bus de commande (transmet les ordres : lire, écrire, etc.).

Communication entre les composants par les trois types de bus
Le modèle original a évolué sur deux points :

Le modèle de Von Neumann aujourd’hui (source : Interstices.info)
Le processeur (CPU, Central Processing Unit) est le composant qui exécute les instructions. C’est le « cerveau » de l’ordinateur.
Un processeur contient :

Représentation simplifiée des éléments constituant le processeur
Le processeur exécute chaque instruction en trois étapes qui se répètent indéfiniment tant que le programme tourne :
Étape 1 : Fetch (charger). Le processeur lit en mémoire l’instruction dont l’adresse est contenue dans le compteur ordinal (PC). Cette instruction est copiée dans le registre d’instruction (IR). Le compteur ordinal est incrémenté pour pointer vers l’instruction suivante.
Étape 2 : Decode (décoder). Le séquenceur analyse l’instruction contenue dans IR et détermine l’opération à effectuer et les données concernées.
Étape 3 : Execute (exécuter). L’UAL exécute l’opération (calcul, comparaison, transfert de données). Le résultat est placé dans un registre ou écrit en mémoire.
Prenons un exemple concret. Supposons que la mémoire contient l’instruction « additionner le contenu de l’adresse 100 avec le contenu de l’adresse 104 et stocker le résultat à l’adresse 108 » :
Cycle 1 :
Fetch → Le PC vaut 0. On lit l'instruction à l'adresse 0 → IR = "LOAD 100"
Decode → Il faut charger la valeur à l'adresse 100 dans l'accumulateur
Execute → Accumulateur ← contenu de l'adresse 100 (par exemple, 42)
Cycle 2 :
Fetch → Le PC vaut 1. On lit l'instruction à l'adresse 1 → IR = "ADD 104"
Decode → Il faut additionner la valeur à l'adresse 104 à l'accumulateur
Execute → Accumulateur ← 42 + contenu de l'adresse 104 (par exemple, 42 + 15 = 57)
Cycle 3 :
Fetch → Le PC vaut 2. On lit l'instruction à l'adresse 2 → IR = "STORE 108"
Decode → Il faut écrire l'accumulateur à l'adresse 108
Execute → Contenu de l'adresse 108 ← 57
Ce cycle se répète un très grand nombre de fois par seconde. Un processeur cadencé à 3 GHz reçoit trois milliards d’impulsions d’horloge par seconde ; comme chaque instruction demande plusieurs impulsions, il exécute, dans ce modèle simplifié, de l’ordre d’un milliard d’instructions par seconde.
Le processeur est cadencé par une horloge interne : un cristal de quartz qui émet des impulsions régulières. La fréquence mesure le nombre d’impulsions par seconde, exprimée en hertz. Un processeur à 3 GHz reçoit 3 milliards d’impulsions par seconde. À chaque impulsion, le processeur avance d’une étape dans le cycle fetch-decode-execute.

Informations système montrant la fréquence du processeur et la quantité de RAM
Les instructions que le processeur sait exécuter se regroupent en quatre familles :
| Catégorie | Exemples |
|---|---|
| Transfert de données | Charger une valeur depuis la mémoire, stocker un résultat |
| Arithmétique | Addition, soustraction, multiplication, division |
| Logique | ET, OU, NON, OU exclusif, comparaisons |
| Contrôle | Saut conditionnel (si… alors aller à…), appel de fonction |
La mémoire stocke les programmes et les données. Il existe plusieurs types de mémoire, qui se distinguent par leur vitesse, leur capacité et leur persistance.
Plus une mémoire est rapide, plus elle est coûteuse et donc petite. Cela conduit à une organisation en couches :
| Type | Vitesse | Capacité typique | Volatile ? | Rôle |
|---|---|---|---|---|
| Registres | Ultrarapide (< 1 ns) | Quelques dizaines | Oui | Données en cours de calcul |
| Cache L1 | Très rapide (~1 ns) | 64 Ko | Oui | Instructions et données fréquentes |
| Cache L2 | Rapide (~5 ns) | 256 Ko à 1 Mo | Oui | Tampon entre L1 et RAM |
| Cache L3 | Rapide (~10 ns) | 4 à 32 Mo | Oui | Partagé entre les cœurs |
| RAM | Moyenne (~50 ns) | 8 à 32 Go | Oui | Programme en cours d’exécution |
| SSD | Lent (~100 µs) | 256 Go à 2 To | Non | Stockage permanent |
| Disque dur | Très lent (~10 ms) | 1 à 4 To | Non | Stockage de masse |
Principe. Le processeur cherche d’abord la donnée dans le cache L1. Si elle n’y est pas, il la cherche en L2, puis en L3, puis en RAM. Plus on descend dans la hiérarchie, plus l’accès est lent mais plus la capacité est grande.
La RAM (Random Access Memory) est la mémoire de travail de l’ordinateur. Elle stocke les programmes en cours d’exécution et leurs données. Elle est volatile : son contenu disparaît dès que l’ordinateur est éteint.

Une barrette de RAM (à gauche) et des éléments de ROM (à droite)
La mémoire de masse est persistante : elle conserve les données même sans alimentation électrique. Les principaux supports sont :

Circuit électronique d’un SSD
La carte mère est le circuit imprimé principal de l’ordinateur. Elle accueille le processeur (dans un socket), la RAM (dans des slots), et relie tous les composants entre eux par des bus. Elle intègre aussi un chipset qui coordonne les échanges de données, ainsi que des connecteurs pour les périphériques (USB, réseau, écran).
La carte mère contient enfin une petite mémoire qui conserve son contenu sans alimentation. Elle renferme le premier programme exécuté à la mise sous tension : le BIOS (Basic Input Output System), remplacé sur les ordinateurs récents par l’UEFI (Unified Extensible Firmware Interface). Ce programme vérifie et initialise le matériel, puis charge le système d’exploitation en mémoire vive.

Les composants d’un ordinateur
En 1965, Gordon Moore observe que le nombre de transistors sur une puce double chaque année ; en 1975, il ramène ce rythme à un doublement tous les deux ans. Cette observation empirique, connue sous le nom de loi de Moore, s’est vérifiée pendant plus de cinquante ans : le premier microprocesseur (Intel 4004, 1971) contenait 2 300 transistors ; un processeur actuel en contient plusieurs milliards.

Évolution du nombre de transistors par processeur (source : education.mrsec.wisc.edu)
Cette croissance exponentielle a permis de fabriquer des ordinateurs toujours plus puissants et moins coûteux. Cependant, la miniaturisation approche des limites physiques (taille des atomes, dissipation thermique), ce qui a conduit les fabricants à multiplier les cœurs plutôt qu’à augmenter la fréquence.
| Concept | Ce qu’il faut retenir |
|---|---|
| Modèle de Von Neumann | UAL + unité de commande + mémoire + E/S, reliées par des bus ; programme enregistré en mémoire |
| Processeur (CPU) | Composé de l’UAL, de l’unité de commande, de registres |
| Cycle fetch-decode-execute | Charger l’instruction, la décoder, l’exécuter ; se répète indéfiniment |
| Compteur ordinal (PC) | Registre contenant l’adresse de la prochaine instruction |
| Concept | Ce qu’il faut retenir |
|---|---|
| RAM | Mémoire rapide, volatile, pour les programmes en cours |
| Mémoire de masse | Stockage persistant (SSD, disque dur) |
| Mémoire cache (L1, L2, L3) | Mémoire rapide intégrée au processeur, accélère les accès |
| Bus | Canaux de données, d’adresse et de commande reliant les composants |
| Loi de Moore | Le nombre de transistors double environ tous les deux ans |
Faire l’activité suivante : https://quizlet.com/fr/413749500/quels-sont-les-composants-de-mon-ordinateur-flash-cards/
Utiliser le mode cartes (https://quizlet.com/413749500/flashcards ) : les modes « apprendre », « écrire » et « test » demandent désormais un compte Quizlet et sont limités sans abonnement.