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.

Contents Haut

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

Contents Haut

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).

Contents Haut

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 05/03/2005, last modified the 31/10/2018
Source of the printed document:https://www.gaudry.be/en/structure-ordinateur-von-neuman.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

Notes

  1. a,b,c,d,e Arithmetic and Logic Unit : corresponds to « 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 : corresponds to « 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 : corresponds to « 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 : corresponds to « 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 : corresponds to “I/O Devices” en anglais

  12. a,b Accumulator : corresponds to « 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 : corresponds to « 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 : corresponds to « registre compteur ordinal » en français

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

  21.  RI : registre d'instruction

Contents Haut