💻histoire_geo

Architecture de Von Neumann NSI : comprendre en 10 min

7 septembre 2026 7 min de lecture

L'architecture de Von Neumann est au cœur de tous les ordinateurs modernes. En spécialité NSI, tu la rencontreras en classe de Première, et il est essentiel de la maîtriser pour le bac. Pas de panique : avec une bonne explication et quelques exemples concrets, tu vas tout comprendre en un clin d'œil. Dans cet article, on va décortiquer ensemble le rôle du processeur, de la mémoire et des bus, et on verra comment cela se matérialise dans du code Python. Prêt ? C'est parti !

Qu'est-ce que l'architecture de Von Neumann ?

En 1945, le mathématicien John von Neumann a proposé un modèle d'ordinateur qui allait devenir la base de presque tous les systèmes informatiques. L'idée révolutionnaire : le programme et les données sont stockés dans la même mémoire. Avant cela, les ordinateurs étaient câblés pour une tâche précise. Avec ce modèle, on peut charger différents programmes sans rien modifier physiquement.

Cette architecture repose sur quatre composants principaux :

  • L'unité centrale de traitement (CPU), souvent appelée processeur, qui exécute les instructions.
  • La mémoire (vive et morte) qui stocke les données et les instructions.
  • Les unités d'entrée/sortie (clavier, écran, etc.) pour communiquer avec l'extérieur.
  • Les bus qui relient ces éléments et transportent les informations.

Le processeur lui-même est composé de l'unité de contrôle (qui lit les instructions), de l'unité arithmétique et logique (UAL, qui fait les calculs) et de registres (petites mémoires ultrarapides).

Le principe du programme enregistré

Dans l'architecture de Von Neumann, les instructions et les données sont stockées dans la même mémoire. Cela permet de traiter les instructions comme des données, ce qui offre une grande flexibilité. Par exemple, un programme peut être modifié pendant son exécution, même si c'est rare en pratique.

Le processeur suit un cycle répétitif :

  1. Charger l'instruction depuis la mémoire (fetch).
  2. Décoder l'instruction (decode).
  3. Exécuter l'instruction (execute).

Ce cycle est appelé le cycle de fetch-decode-execute. La vitesse de ce cycle est mesurée en Hertz (Hz). Un processeur à 3 GHz effectue environ 3 milliards de cycles par seconde !

Le rôle de la mémoire et les adresses

La mémoire est un vaste tableau de cases, chacune ayant une adresse unique. Chaque case peut contenir une donnée ou une instruction. Les adresses sont des nombres entiers, souvent exprimés en hexadécimal pour plus de lisibilité.

En NSI, on simplifie souvent avec des schémas où la mémoire est représentée comme une liste. Par exemple :

# Représentation simplifiée de la mémoire
memoire = [10, 20, "ADD", 30, "SUB"]
# Adresse 0 -> 10, adresse 1 -> 20, adresse 2 -> "ADD", ...

Le processeur utilise des instructions comme LOAD pour lire une valeur à une adresse, STORE pour écrire, ADD pour additionner, etc. C'est ce qu'on appelle le langage machine, spécifique à chaque processeur.

Schéma simplifié de l'architecture

Voici un schéma classique (décris-le à l'oral) :

  • CPU est au centre.
  • Des flèches relient le CPU à la mémoire (flèches pour les données et les instructions).
  • Des flèches relient le CPU aux périphériques d'entrée/sortie.
  • Les bus sont représentés par des traits épais.

Il existe aussi l'architecture de Harvard, qui sépare physiquement la mémoire des instructions et celle des données. Elle est utilisée dans certains microcontrôleurs, mais Von Neumann reste la base de nos PC.

Exemple de simulation en Python

Pour bien comprendre comment le processeur exécute un programme, on peut simuler un mini-ordinateur en Python. Imaginons une mémoire de 5 cases et trois instructions :

  • LOAD : charge une valeur dans un registre.
  • STORE : stocke le contenu du registre en mémoire.
  • ADD : additionne la valeur en mémoire au registre.

Voici un exemple de programme :

# Mini simulateur d'architecture de Von Neumann
memoire = ["LOAD", 5, "STORE", 3, "ADD", 2]
registre = 0
pc = 0  # program counter (compteur ordinal)

while pc < len(memoire):
    instruction = memoire[pc]
    if instruction == "LOAD":
        registre = memoire[pc+1]
        pc += 2
    elif instruction == "STORE":
        memoire[memoire[pc+1]] = registre
        pc += 2
    elif instruction == "ADD":
        registre += memoire[memoire[pc+1]]
        pc += 2
    else:
        break

print("Valeur du registre :", registre)
print("Contenu de la mémoire :", memoire)

Ce code illustre le rôle du compteur ordinal (PC) qui pointe vers l'instruction en cours. À chaque étape, on lit l'instruction, on l'exécute, puis on met à jour le PC. C'est exactement le même principe que dans un vrai processeur, mais en version simplifiée.

Cas concret : exécution d'un programme simple

Prenons un exemple réel : tu veux calculer 5 + 3. En langage machine, cela donnerait quelque chose comme :

# Pseudo-code assembleur
LOAD R1, 5   # charge 5 dans le registre R1
LOAD R2, 3   # charge 3 dans R2
ADD R1, R2   # additionne R2 à R1
STORE R1, 8  # stocke le résultat à l'adresse 8

Chaque ligne est une instruction que le processeur sait exécuter. Les données (5, 3) sont stockées en mémoire, tout comme les instructions. C'est le principe du programme enregistré.

En NSI, on ne te demande pas de programmer en assembleur, mais de comprendre ce mécanisme. C'est souvent l'objet de questions de cours au bac, par exemple : « Expliquez le cycle d'exécution d'une instruction dans l'architecture de Von Neumann. »

Pourquoi c'est important pour le bac NSI ?

Cette notion apparaît dans le programme de Première, notamment dans la partie sur l'architecture des ordinateurs. Tu peux être interrogé sur :

  • Les composants d'une machine de Von Neumann.
  • La différence entre mémoire vive et mémoire morte.
  • Le rôle des registres.
  • Le principe du programme enregistré.
  • Les limites de cette architecture (goulot d'étranglement de Von Neumann).

Pour t'entraîner, n'hésite pas à consulter les cours NSI et les fiches de révision proposés sur le site. Ils sont conçus pour t'aider à maîtriser ces concepts.

Limites et évolutions

L'architecture de Von Neumann a un défaut connu : le goulot d'étranglement. Comme le processeur et la mémoire partagent le même bus pour les données et les instructions, le processeur peut être ralenti lorsqu'il attend des données. C'est pour cela qu'on a créé des mémoires caches, des pipelines, et des architectures différentes.

Mais ne t'inquiète pas : pour le niveau NSI, tu n'as pas besoin de rentrer dans ces détails. L'essentiel est de retenir le modèle de base.

Conseils de méthode et révision

Pour bien assimiler cette notion, voici quelques conseils :

  • Fais des schémas : dessine un processeur, une mémoire, des bus, et trace le chemin d'une instruction.
  • Simule avec Python : écris ton propre mini-simulateur, même simple, pour visualiser le déroulement.
  • Utilise des flashcards pour les définitions clés (UAL, registre, compteur ordinal, etc.).
  • Révise régulièrement : cette notion revient souvent dans les sujets de bac.

Si tu as besoin de plus de pratique en Python, consulte la référence Python du site. Et pour un accompagnement personnalisé, n'hésite pas à découvrir les services d'Allo Lycée ou d'Allo Bac.

Conclusion

L'architecture de Von Neumann est un pilier de l'informatique. En la comprenant, tu saisis comment un ordinateur exécute des programmes, ce qui est fondamental pour la suite de ta scolarité en NSI. Garde en tête le rôle du processeur, de la mémoire et des bus, et le cycle fetch-decode-execute. Tu es maintenant prêt à briller en cours et au bac !

N'oublie pas : la pratique fait la différence. Explore, expérimente, et surtout, amuse-toi avec l'informatique.

📚 Pour aller plus loin

Questions fréquentes

Qu'est-ce que l'architecture de Von Neumann en NSI ?

C'est un modèle d'ordinateur proposé par John von Neumann en 1945, où les instructions et les données sont stockées dans la même mémoire. Il comprend une unité de traitement (CPU), une mémoire, des entrées/sorties et des bus de communication. C'est la base de la plupart des ordinateurs modernes.

Quels sont les composants principaux de l'architecture de Von Neumann ?

Les composants principaux sont : le processeur (CPU), qui contient l'unité de contrôle, l'UAL (unité arithmétique et logique) et des registres ; la mémoire (vive et morte) ; les unités d'entrée/sortie ; et les bus qui relient ces éléments.

Quelle est la différence entre l'architecture de Von Neumann et celle de Harvard ?

Dans l'architecture de Von Neumann, les instructions et les données partagent la même mémoire et le même bus. Dans l'architecture de Harvard, elles sont stockées dans des mémoires séparées, ce qui permet d'accéder simultanément aux deux, mais au prix d'une plus grande complexité.

Comment expliquer le cycle d'exécution d'une instruction ?

Le processeur répète trois étapes : charger l'instruction depuis la mémoire (fetch), la décoder (decode), puis l'exécuter (execute). Ce cycle est contrôlé par le compteur ordinal qui indique l'adresse de la prochaine instruction.

Pourquoi l'architecture de Von Neumann est-elle importante pour le bac NSI ?

C'est une notion clé du programme de Première. Les questions peuvent porter sur les composants, le rôle de la mémoire, le programme enregistré, ou les limites. La comprendre aide à appréhender le fonctionnement d'un ordinateur et à réussir les exercices de type QCM ou questions de cours.

Comment simuler l'architecture de Von Neumann en Python ?

On peut créer une liste pour représenter la mémoire, un compteur ordinal (PC) et des registres. Ensuite, on définit des instructions (LOAD, STORE, ADD) et on exécute une boucle while qui lit et exécute chaque instruction. Cela permet de visualiser concrètement le fonctionnement.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
architecture Von Neumann NSIprocesseurmémoireprogramme enregistrébus
Pixel