Introduction au modèle de Von Neumann
Les ordinateurs construits sur la machine universelle de Turing stockent des données dans leur mémoire. Vers 1944-1945, John von Neumann a proposé que, puisque le programme et les données sont logiquement les mêmes, les programmes devraient également être stockés dans la mémoire d'un ordinateur.
Quatre sous-systèmes
Les ordinateurs construits sur le modèle de von Neumann divisent le matériel informatique en quatre sous-systèmes : mémoire, unité arithmétique et logique, unité de contrôle et entrée/sortie.
Mémoire
La mémoire est la zone de stockage. C'est là que les programmes et les données sont stockés pendant le traitement.
Unité arithmétique et logique
L'unité arithmétique et logique (ALU) est l'endroit où le calcul et les opérations logiques ont lieu. Pour qu'un ordinateur agisse comme un processeur de données, il doit être capable d'effectuer des opérations arithmétiques sur des données (comme l'ajout d'une liste de nombres). Il devrait également être capable d'effectuer des opérations logiques sur les données.
Unité de commande (contrôle)
L'unité de commande contrôle les opérations de la mémoire, de l'ALU et du sous-système d'entrée/sortie.
Entrée/Sortie
Le sous-système d'entrée accepte les données d'entrée de l'extérieur de l'ordinateur, tandis que le sous-système de sortie envoie le résultat du traitement au monde extérieur. La définition du sous-système d'entrée/sortie est très large : elle inclut également les périphériques de stockage secondaires tels qu'un disque ou une bande qui stocke des données et des programmes à traiter. Lorsqu'un disque stocke des données résultant du traitement, il est considéré comme un périphérique de sortie : lorsqu'il lit des données sur le disque, il est considéré comme un périphérique d'entrée.
Le concept de programme enregistré
Selon le modèle de von Neumann, le programme doit être stocké en mémoire. Ceci est totalement différent de l'architecture des premiers ordinateurs dans lesquels seules les données étaient stockées en mémoire : les programmes correspondant à leur tâche étaient mis en œuvre en manipulant un ensemble de commutateurs ou en changeant le système de câblage.
La mémoire des ordinateurs modernes héberge à la fois un programme et ses données correspondantes. Cela implique que les données et les programmes doivent avoir le même format car ils sont stockés en mémoire. En fait, ils sont stockés sous forme de modèles binaires en mémoire, une séquence de 0 et de 1.
Exécution séquentielle des instructions
Dans le modèle de von Neumann, un programme est constitué d'un nombre fini d'instructions. Dans ce modèle, l'unité de contrôle va chercher une instruction en mémoire, la décode, puis l'exécute. En d'autres termes, les instructions sont exécutées les unes après les autres. Bien sûr, une instruction peut demander à l'unité de contrôle de sauter à une instruction précédente ou suivante, mais cela ne signifie pas que les instructions ne sont pas exécutées séquentiellement. L'exécution séquentielle d'un programme était l'exigence initiale d'un ordinateur basé sur le modèle de von Neumann. Les ordinateurs d'aujourd'hui exécutent les programmes dans l'ordre qui est le plus efficace.