Architecture de von Neumann
Le problème des premiers ordinateurs
Dans les années 1940, les premières machines comme l'ENIAC étaient très difficiles à programmer. Ces ordinateurs présentaient des contraintes majeures :
- Le programme n'était pas stocké dans la machine
- Il fallait modifier physiquement les connexions (câbles et interrupteurs)
- Machines très puissantes mais peu flexibles
- Changer de programme = reconfigurer toute la machine
Une idée révolutionnaire
John von Neumann a proposé une solution simple mais révolutionnaire :
Cette idée permet de charger différents programmes sans modifier le matériel. Un même ordinateur peut ainsi exécuter :
Navigateur web
Navigation sur internet
Jeu vidéo
Divertissement interactif
Traitement de texte
Édition de documents
Programme Python
Développement logiciel
L'ordinateur devient une machine universelle capable d'exécuter n'importe quel programme.
Le modèle d'architecture de von Neumann
Le modèle de von Neumann repose sur cinq grandes parties qui composent un ordinateur :
1. La mémoire
Contient les données et les instructions du programme
2. Le processeur (CPU)
Exécute les instructions
3. L'unité de contrôle
Lit les instructions et organise leur exécution
4. L'unité arithmétique et logique (ALU)
Effectue les calculs et les comparaisons
5. Les entrées/sorties
Permettent de communiquer avec l'extérieur (clavier, écran, disque, réseau...)
Le cycle d'exécution d'un programme
Le processeur fonctionne selon un cycle en trois étapes qui se répète en permanence :
Fetch (Chercher)
Le processeur lit l'instruction en mémoire
Decode (Décoder)
Il interprète l'instruction pour comprendre ce qu'il doit faire
Execute (Exécuter)
Il exécute l'instruction
Exemple concret
Prenons une suite d'instructions très simple :
1 LOAD A ← Charger la valeur de A
2 ADD B ← Ajouter la valeur de B
3 STORE C ← Stocker le résultat dans C
Le processeur va :
- Lire la valeur stockée à l'adresse
A - Ajouter la valeur stockée à l'adresse
B - Stocker le résultat à l'adresse
C
c = a + b en Python !Lien avec le système d'exploitation
Le système d'exploitation (comme Linux, Windows ou macOS) est lui-même un programme qui gère l'exécution d'autres programmes. Exemple avec la commande ls :
Chargement
Le système d'exploitation charge le programme ls en mémoire
Exécution
Le processeur exécute les instructions du programme
Affichage
Le résultat est affiché à l'écran
Les ordinateurs modernes
Les processeurs actuels sont très complexes : Intel, AMD, Apple M1, ARM...
Que ce soit un smartphone, un ordinateur portable, un serveur ou une console de jeux, tous fonctionnent selon l'architecture de von Neumann.
Avantages de cette architecture
- Simplicité de conception : Les instructions et les données sont gérées dans le même espace mémoire
- Flexibilité : Permet l'exécution de programmes variés sans modification matérielle
- Universalité : Base pour tous les ordinateurs programmables modernes
Limites
Conclusion
L'idée révolutionnaire de von Neumann de stocker le programme en mémoire avec les données a transformé l'ordinateur en machine universelle.
Bien que des variantes (comme l'architecture Harvard) aient été développées pour pallier certaines limites, l'architecture de von Neumann reste le concept fondamental pour comprendre le fonctionnement des ordinateurs.