Architecture de von Neumann

Architecture de von Neumann
Schématisation de l'architecture de von Neumann

Larchitecture, dite architecture de von Neumann, est un modèle pour un ordinateur qui utilise une structure de stockage unique pour conserver à la fois les instructions et les données requises ou générées par le calcul. De telles machines sont aussi connues sous le nom dordinateurs à programme stocké en mémoire. La séparation entre le stockage et le processeur est implicite dans ce modèle.

Sommaire

Origine

Cette architecture est nommée daprès le mathématicien John von Neumann qui a soumis la première description dun ordinateur dont le programme est stocké dans sa mémoire. Le terme « architecture de von Neumann » est néanmoins considéré comme injuste vis-à-vis des collaborateurs de John von Neumann, notamment John William Mauchly et John Eckert qui ont utilisé ce concept pendant leur travaux sur lENIAC et il est donc maintenant plutôt proscrit.

Architecture

Larchitecture de von Neumann décompose lordinateur en 4 parties distinctes

  1. Lunité arithmétique et logique (UAL ou ALU en anglais) ou unité de traitement : son rôle est deffectuer les opérations de base ;
  2. Lunité de contrôle, chargée du séquençage des opérations ;
  3. La mémoire qui contient à la fois les données et le programme qui dira à lunité de contrôle quels calculs faire sur ces données. La mémoire se divise entre mémoire volatile (programmes et données en cours de fonctionnement) et mémoire permanente (programmes et données de base de la machine).
  4. Les dispositifs dentrée-sortie, qui permettent de communiquer avec le monde extérieur.

Modification des instructions

En traitant les instructions de la même façon que les données, un ordinateur à programme stocké en mémoire peut facilement modifier les instructions. Une motivation importante pour une telle facilité était le besoin pour un programme dincrémenter ou modifier le champ adresse des instructions (pour faire des boucles par exemple). Cette motivation est devenue moins importante en même temps que lutilisation de registres dindex et de ladressage indirect devenait une caractéristique standard des processeurs.

Larchitecture actuelle des ordinateurs rend inutile la modification à faible échelle des instructions du programmeson « code » — car cela rendrait inefficace les techniques de gestion de lantémémoire et du pipeline dans le processeur. Cette pratique est donc à ce jour dépréciée. Bien sûr, à une plus large échelle, la possibilité de traiter des instructions comme étant des données est ce qui permet lécriture de compilateurs. Cest aussi une caractéristique qui peut être exploitée par les virus lorsquils ajoutent une copie deux-mêmes dans le code de programmes existants. Le problème de la réplication de code non autorisée peut être contourné par lutilisation dun système de protection de la mémoire et, en particulier, par le gestionnaire de la mémoire virtuelle.

Voir aussi

Articles connexes