Aller au contenu principal

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

  1. PC → mémoire: fetch instruction
  2. Décodage: déterminer opcode/opérandes
  3. Exécution: ALU/mémoire/E/S
  4. 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

  1. Notre processeur fictif a les instructions suivantes :
    • LOAD addr : Charge la valeur à l'adresse addr dans l'accumulateur (ACC)
    • ADD addr : Ajoute la valeur à l'adresse addr à l'accumulateur
    • STORE addr : Stocke la valeur de l'accumulateur à l'adresse addr
    • HALT : Arrête l'exécution
  2. La mémoire est un tableau d'entiers.
  3. Le programme counter (PC) pointe vers l'instruction courante.
  4. 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)