Architecture de Von Neumann
#Architecture de Von Neumann
Principe d’unité mémoire pour instructions et données; cycle fetch–decode–execute.
#Schéma (conceptuel)
- Mémoire: instructions + données
- Unité de contrôle: récupère (fetch), décode, exécute
- ALU: opérations arithmétiques/logiques
- Bus: adresse, données, contrôle
#Cycle d’instruction
- PC → mémoire: fetch instruction
- Décodage: déterminer opcode/opérandes
- Exécution: ALU/mémoire/E/S
- Mise à jour du PC
#Exercice : Simulation du cycle d'instruction
Simulez le cycle d'instruction de Von Neumann pour un processeur très simple avec un jeu d'instructions limité.
#Instructions
- Notre processeur fictif a les instructions suivantes :
LOAD addr
: Charge la valeur à l'adresseaddr
dans l'accumulateur (ACC)ADD addr
: Ajoute la valeur à l'adresseaddr
à l'accumulateurSTORE addr
: Stocke la valeur de l'accumulateur à l'adresseaddr
HALT
: Arrête l'exécution
- La mémoire est un tableau d'entiers.
- Le programme counter (PC) pointe vers l'instruction courante.
- L'accumulateur (ACC) stocke le résultat des opérations.
#Exemple de programme
pythonpython
1# Programme qui calcule 5 + 3 et stocke le résultat2# Mémoire :3# Adresse 0: LOAD 10 (charger 5 dans ACC)4# Adresse 1: ADD 11 (ajouter 3 à ACC)5# Adresse 2: STORE 12 (stocker le résultat)6# Adresse 3: HALT (arrêter)7# 8# Données :9# Adresse 10: 510# Adresse 11: 311# Adresse 12: 0 (résultat)12 13def simulate_von_neumann():14 # Mémoire (instructions + données)