💻architecture

Architecture de Von Neumann : les pièges à éviter en NSI

16 juillet 2026 7 min de lecture

Pourquoi l'architecture de Von Neumann est-elle au programme de NSI ?

L'architecture de Von Neumann est le modèle fondateur de presque tous les ordinateurs modernes. En NSI, tu dois comprendre comment le processeur et la mémoire interagissent pour exécuter un programme. Mais attention : beaucoup d'élèves tombent dans des pièges classiques. Dans cet article, on va les passer en revue pour que tu les évites.

Piège n°1 : Confondre le rôle du processeur et de la mémoire

Le processeur (CPU) exécute les instructions, tandis que la mémoire stocke les données et les instructions. Un piège courant est de croire que le processeur contient le programme en cours d'exécution. En réalité, le processeur lit les instructions depuis la mémoire via le bus d'adresses et de données.

Exemple Python : simulation d'un cycle de Von Neumann

# Simulation simple du cycle fetch-decode-execute
memoire = {0: 'LOAD 5', 1: 'ADD 3', 2: 'STORE 0'}
pc = 0  # program counter
while pc in memoire:
    instruction = memoire[pc]  # fetch
    print(f'Exécution de {instruction}')
    # decode et execute (simplifié)
    pc += 1

Ici, la mémoire contient les instructions, le processeur les lit une par une. Ne dis pas que le programme est dans le processeur.

Piège n°2 : Oublier le goulot d'étranglement de Von Neumann

Le goulot d'étranglement désigne la limitation due au bus unique entre processeur et mémoire : les instructions et les données empruntent le même chemin, ce qui ralentit les échanges. Beaucoup d'élèves pensent que c'est un problème de capacité de mémoire, alors que c'est un problème de bande passante.

Illustration avec un chronogramme

Imagine un bus qui ne peut transporter qu'une donnée à la fois. Si le processeur doit lire une instruction puis une donnée, il attend. C'est pour ça qu'on a inventé l'architecture Harvard (bus séparés).

Piège n°3 : Croire que la mémoire est organisée en cases de 1 octet

En réalité, la mémoire est adressable par octet (8 bits), mais les mots mémoire ont souvent une taille de 32 ou 64 bits. Un piège est de dire que chaque adresse contient un octet, ce qui est vrai, mais le processeur peut lire plusieurs octets à la fois. En NSI, on travaille souvent avec des adresses d'octets, mais il faut savoir qu'un int Python occupe 28 octets en CPython (attention, c'est un détail avancé).

Exemple : adressage en Python

# On peut voir l'adresse d'un objet avec id()
x = 42
print(hex(id(x)))  # adresse mémoire (sur 64 bits)

Attention : id() donne l'adresse de l'objet Python, pas forcément un octet.

Piège n°4 : Ignorer le rôle des registres

Les registres sont des mémoires ultra-rapides à l'intérieur du processeur. Beaucoup d'élèves les oublient et pensent que le processeur travaille directement avec la mémoire principale. En réalité, les opérations arithmétiques se font dans les registres. Par exemple, pour additionner deux nombres, on les charge dans des registres, on additionne, on stocke le résultat.

Simulation avec Python (conceptuel)

registre_A = 0
registre_B = 0
# Charger 5 dans registre A
registre_A = 5
# Charger 3 dans registre B
registre_B = 3
# Additionner
resultat = registre_A + registre_B
# Stocker en mémoire
memoire[0] = resultat

Ne dis pas que l'addition se fait dans la mémoire.

Piège n°5 : Confondre les bus

Il y a trois bus : bus d'adresses (pour sélectionner une case mémoire), bus de données (pour transférer les valeurs), bus de contrôle (pour les signaux comme lecture/écriture). Un piège est de dire que le bus de données transporte les adresses. Non, c'est le bus d'adresses.

Tableau récapitulatif (à retenir)

  • Bus d'adresses : unidirectionnel, du processeur vers la mémoire
  • Bus de données : bidirectionnel, transporte les valeurs
  • Bus de contrôle : signaux (read, write, clock)

Piège n°6 : Penser que le programme est exécuté séquentiellement sans exceptions

Le séquencement est vrai pour un programme simple, mais il y a des interruptions, des branchements, des appels de fonction. Le program counter (PC) n'est pas toujours incrémenté de 1 : il peut être modifié par un saut. En NSI, on étudie les instructions de saut conditionnel (comme if en assembleur).

Exemple : saut conditionnel en pseudo-assembleur

LOAD R1, 5
CMP R1, 5
JE label  ; si égal, saute à label
...
label: ADD R2, R1

Le PC passe de l'adresse de JE à l'adresse de label.

Comment éviter ces pièges pour le bac NSI ?

Pour réussir l'épreuve, il faut maîtriser le schéma de Von Neumann. Entraîne-toi à le dessiner de mémoire : processeur (avec UC et registres), mémoire, bus. Sur notre page de cours, tu trouveras des schémas détaillés. Utilise aussi les fiches de révision pour retenir les définitions.

Un conseil : quand tu codes en Python, pense à ce qui se passe sous le capot. Par exemple, quand tu fais a = b + c, le processeur charge b et c dans des registres, additionne, et stocke le résultat dans l'adresse de a. Pour approfondir, consulte la référence Python.

Si tu veux t'entraîner avec des QCM, AlloBac propose des exercices sur l'architecture. Et pour des vidéos explicatives, AlloLycée a des ressources sympas.

Conclusion : maîtrise l'architecture et évite les erreurs

L'architecture de Von Neumann est un pilier de la NSI. En évitant ces pièges, tu seras plus à l'aise pour les exercices sur le processeur et la mémoire. N'oublie pas : le goulot d'étranglement, les registres, les bus, et le rôle de chaque composant. Entraîne-toi avec des schémas et des simulations. Bon courage !

📚 Pour aller plus loin

Questions fréquentes

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

C'est un modèle d'ordinateur où les instructions et les données sont stockées dans la même mémoire et transitent par un bus unique. Il comprend un processeur (avec unité de contrôle et registres), une mémoire et des bus.

Quel est le principal défaut de l'architecture de Von Neumann ?

Le goulot d'étranglement de Von Neumann : le bus unique entre processeur et mémoire limite le débit, car instructions et données empruntent le même chemin.

Quelle est la différence entre les bus d'adresses et de données ?

Le bus d'adresses transporte l'adresse de la case mémoire à lire/écrire (unidirectionnel), tandis que le bus de données transporte les valeurs (bidirectionnel).

Quel est le rôle des registres dans le processeur ?

Les registres sont des mémoires ultra-rapides intégrées au processeur. Ils stockent temporairement les données en cours de traitement (ex: accumulateur, program counter).

Comment l'architecture de Von Neumann est-elle évaluée au bac NSI ?

L'épreuve peut demander de décrire le schéma, expliquer le cycle fetch-decode-execute, ou analyser des situations liées au goulot d'étranglement. Il faut connaître les composants et leur rôle.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
architecture Von Neumann NSIprocesseur mémoirepièges Von NeumannNSI architecturegoulot d'étranglement
Pixel