L'architecture Von Neuman

Johannes Von Neuman, Mathématicien d'origine Hongroise (1903 - 1957), est connu pour ses travaux de mécanique quantique et par sa théorie des jeux (Théorie des jeux et du comportement économique, 1944). Il participa à la conception de la bombe H.

Il analysa la structure des calculateurs et fut à l'origine de l'enregistrement des programmes dans la mémoire des ordinateurs. Il participa à la conception de l'ENIAC, le premier véritable ordinateur moderne.

Ce qui nous préocupe particulièrement en informatique c'est son modèle de machine universelle (1946) qui caractérise les machines possèdant les éléments suivants :

  • une mémoire contenant programme (instructions) et données.
  • une ALU [“Arithmetic and Logic Unit”[1]] ou UAL [Unité Arithmétique et Logique].
  • une unité permettant l'échange d'information avec les périphériques :
    l'unité d' I/O [“Input/output”[4]].
  • une UC [unité de commande] ou PCU [“Program Control Unit”[7]].

En traitant les instructions de la même manière que les données, l'ordinateur peut facilement modifier les instructions. En d'autres termes, la machine est reprogrammable. Lorsque les instructions modifient d'autres instructions, on parle de code automodifiant.

Le schéma suivant illustre une vue simplifiée de ce type d'architecture.

Architecture Von Neuman

  • Le CPU [“Central Processing Unit”[9]] est chargé de réaliser les opérations que nous lui demandons.
  • Le CPU seul ne sait rien faire :
    • Nous devons lui dire quelles sont les opérations à réaliser, et comment les réaliser : instructions, micro-instructions, programmes, etc.
    • Nous devons aussi lui donner des valeurs sur lesquelles seront réalisées ces opérations : les données.
    Le CPU lit donc les instructions et les données dans la mémoire.
  • Pour introduire les instructions et les données dans la mémoire, nous avons à notre disposition des « unités d'Entrée/Sortie » (en anglais, “I/O Devices”).
    Nous ne pouvons cependant accéder directement en lecture ou en écriture dans la mémoire, mais nous devons passer par l'unité centrale de traitement, le CPU.
    En général, nous pouvons utiliser le terme "données" aussi bien pour désigner les valeurs en mémoire que les programmes, car l'ordinateur utilise des éléments qui possèdent 2 états : les bits.

 

Arithmetic and Logic Unit

L'ALU [“Arithmetic and Logic Unit”[1]] ou UAL [Unité Arithmétique et Logique] est chargé de réaliser les calculs (+,-,/,*,AND,OR,NOT).

Un registre lui est associé : l'ACC [“Accumulator”[12]] pour mémoriser par exemple un résultat intermédiaire.

Main memory

La mémoire est un espace dans lequel chaque composant est accessible par une adresse.

Les opérations permises sur la mémoires sont les opérations de lecture et d'écriture. L'UC [unité de contrôle] inscrit l'adresse d'une cellule dans un registre d'adresse [RA] et demande une opération de lecture ou d'écriture. Les échanges se font par l'intermédiaire d'un registre de mot [RM].

L'unité d'information accessible en une seule opération de lecture est nommée le mot (la taille du mot varie en fonction de l'architecture de la machine).

Architecture : ALU et PCU

 

Control Unit

Le PCU [“Program Control Unit”[7]] ou UC, est chargé de décoder et exécuter les instructions.

Il effectue donc les opérations suivantes :

  1. extrait une instruction de la mémoire
  2. analyse l’instruction
  3. recherche dans la mémoire les données concernées
  4. déclenche l’opération adéquate sur l’ALU ou l’E/S.
  5. range le résultat dans la mémoire

Le PCU dispose de 2 registres (unités mémoire)  :

  • Le “Micro Program Counter”[17] [MPC] ou PC est un registre contenant l'adresse mémoire de l'instruction à exécuter.
  • Le registre d'instruction [RI] mémorise l'instruction (une instruction est composée de plusieurs parties, ou champs).

Les bus

Notre architecture est encore incomplète : il nous manque les bus, ensembles de fils électriques sur lesquels transitent les informations entre les unités.

La largeur du bus correspond au nombre de fils constituant le chemin. C'est le nombre d' impulsions électriques pouvant être envoyés en parallèle (en même temps).

 

Document créé le 05/03/05 23:01, dernière modification le 23/03/18 09:27
Source du document imprimé : https://www.gaudry.be/structure-ordinateur-von-neuman.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Notes

  1. a,b,c,d,e Arithmetic and Logic Unit : correspond à « Unité Arithmétique et Logique” en français

  2. a,b,c ALU : “Arithmetic and Logic Unit” (en français, « Unité Arithmétique et Logique »)

  3. a,b UAL : Unité Arithmétique et Logique

  4. a,b Input/output : correspond à « entrée/sortie” en français

  5.   I/O : “Input/output” (en français, « entrée/sortie »)

  6. a,b,c  UC : unité de commande

  7. a,b,c,d,e Program Control Unit : correspond à « unité de contrôle” en français

  8. a,b,c  PCU : “Program Control Unit” (en français, « unité de contrôle »)

  9. a,b,c,d,e Central Processing Unit : correspond à « unité centrale de traitement” en français

  10. a,b,c,d CPU : “Central Processing Unit” (en français, « unité centrale de traitement »)

  11.  unités d'Entrée/Sortie : correspond à “I/O Devices » en anglais

  12. a,b Accumulator : correspond à « accumulateur” en français

  13.  ACC : “Accumulator” (en français, « accumulateur »)

  14.  RA : registre d'adresse

  15.  RM : registre de mot

  16.  E/S : entrée/sortie

  17. a,b Micro Program Counter : correspond à « registre compteur ordinal” en français

  18.  MPC : “Micro Program Counter” (en français, « registre compteur ordinal ») Plus d'informations sur la page dédiée aux registres MPC.

  19.  Program Counter : correspond à « registre compteur ordinal” en français

  20.  PC : “Program Counter” (en français, « registre compteur ordinal »)

  21.  RI : registre d'instruction