Your library

Published · Updated · AI-assisted research

De l’algorithme à l’architecture de von Neumann

Comprendre la méthode de calcul, son modèle théorique et l’organisation d’un ordinateur.

Pour comprendre ces fondements de l’informatique, il faut distinguer trois niveaux : l’algorithme décrit une méthode, la machine de Turing formalise l’exécution d’une procédure, et l’architecture de von Neumann organise une machine dont la mémoire contient instructions et données. Ces notions se complètent, sans désigner le même objet. [1], [2], [3]

In this article
  1. 1. Trois niveaux pour comprendre un calcul
  2. 2. La machine de Turing : calculer avec des règles élémentaires
  3. 3. Le programme enregistré : instructions et données en mémoire
  4. 4. Exemple guidé : calculer 7 + 5
  5. 5. Le bus partagé et les limites du modèle

1. Trois niveaux pour comprendre un calcul

  1. • La méthode : l’algorithme indique les opérations à effectuer pour obtenir un résultat. [1], [2]
  2. • Le modèle abstrait : la machine de Turing permet de décrire précisément une procédure et d’étudier les limites du calcul. [1]
  3. • L’organisation matérielle : l’architecture de von Neumann associe mémoire, commande, calcul et entrées-sorties autour du programme enregistré. [3]

Le mot algorithme désigne ici une méthode de calcul exprimée par des règles précises. Il faut distinguer cette méthode de la machine qui l’exécute. Pour additionner deux valeurs, par exemple, on peut décrire le résultat recherché et les opérations nécessaires sans encore préciser les composants électroniques utilisés. La machine de Turing fournit un cadre abstrait pour représenter une telle procédure ; l’architecture de von Neumann décrit, elle, une organisation d’ordinateur capable de conserver des instructions et de réaliser des opérations. Passer d’un niveau à l’autre revient donc à changer de question, non à remplacer une définition par une autre. [1], [2], [3]

NotionQuestion principaleCe qu’elle décrit
AlgorithmeQuelle méthode suivre ?Une procédure de calcul. [1], [2]
Machine de TuringComment formaliser un calcul ?Des symboles, des états et des règles de transition. [2]
Architecture de von NeumannComment organiser l’ordinateur ?Une mémoire pour instructions et données, des unités de calcul et de commande, des entrées-sorties. [3]

2. La machine de Turing : calculer avec des règles élémentaires

Introduites par Alan Turing dans ses travaux de 1936–1937, les machines de Turing sont des dispositifs abstraits destinés à explorer ce qui peut être calculé. Leur principe repose sur un ruban divisé en cases contenant des symboles, une tête positionnée sur une case et un état choisi parmi un ensemble fini. À chaque étape, la règle applicable dépend du symbole lu et de l’état courant. Elle détermine notamment le symbole à écrire, le déplacement de la tête ou l’arrêt du calcul. Une procédure devient ainsi une succession d’actions explicitement définies. [1], [2]

L’intérêt de ce modèle n’est pas de fournir le plan d’un ordinateur de bureau. Il sert à donner un sens rigoureux à la notion de procédure effective. Turing l’a employé pour montrer qu’il n’existe pas de méthode générale permettant de décider, pour tout énoncé de la logique du premier ordre, s’il est dérivable dans cette logique. La distinction est importante : décrire précisément le calcul permet aussi d’en établir les limites. Par ailleurs, une machine munie de règles peut continuer indéfiniment ; avoir un programme ne garantit donc pas qu’un calcul s’arrête. [1], [2]

3. Le programme enregistré : instructions et données en mémoire

L’architecture de von Neumann déplace l’attention vers l’organisation de l’ordinateur. Elle comprend une unité arithmétique pour les opérations de calcul, une unité de commande pour séquencer les opérations, une mémoire conservant données et instructions, ainsi que des mécanismes d’entrée-sortie. Le point central est le programme enregistré : les instructions sont encodées et conservées grâce au même mécanisme général que les données. Elles ne sont donc pas seulement représentées par un câblage ou des circuits de commande fixes. [3]

Cette organisation se distingue des configurations historiques où programmer passait par des commutateurs et des câbles de raccordement, comme pour les machines citées dans l’histoire du programme enregistré. Le nom « architecture de von Neumann » renvoie au rapport sur l’EDVAC rédigé en 1945, mais ne doit pas faire oublier les contributions de John Mauchly et J. Presper Eckert. Surtout, stocker le code sous une forme manipulable permet de traiter des instructions comme des données : c’est une base des outils de programmation tels que les assembleurs, compilateurs et éditeurs de liens. [3]

4. Exemple guidé : calculer 7 + 5

Prenons un exemple pédagogique : recevoir deux nombres, les additionner et restituer leur somme. Pour les valeurs 7 et 5, le résultat est 12. Au niveau algorithmique, la méthode se décrit simplement : obtenir les deux valeurs, effectuer l’addition, puis fournir le résultat. Dans une organisation de von Neumann, les valeurs constituent les données ; les instructions indiquent les opérations à réaliser. Les deux catégories sont conservées en mémoire, mais jouent des rôles différents. Partager une mémoire ne signifie donc pas confondre instruction et donnée. [3]

Pour comprendre la répartition des rôles, associons chaque fonction à un composant : les entrées-sorties assurent les échanges avec l’extérieur, la mémoire conserve les valeurs et les instructions, l’unité de commande séquence les opérations, et l’unité arithmétique effectue l’addition. Cette description explique qui fait quoi, sans prétendre reproduire les étapes internes d’un processeur particulier. Elle montre aussi pourquoi l’algorithme et l’architecture sont complémentaires : le premier définit la méthode, tandis que la seconde fournit une organisation permettant son exécution. [3]

5. Le bus partagé et les limites du modèle

Dans la définition de l’architecture de von Neumann fondée sur un bus commun, la récupération d’une instruction et une opération d’accès aux données ne peuvent pas emprunter simultanément ce même chemin. Cette contrainte est appelée goulot d’étranglement de von Neumann et peut limiter les performances. Elle concerne la circulation des informations, pas seulement la capacité de l’unité arithmétique. L’architecture Harvard offre une distinction utile : elle prévoit des ensembles de bus séparés pour les instructions et les données. Cette différence d’organisation ne suffit toutefois pas, à elle seule, à classer les performances de deux ordinateurs. [3]

Il faut enfin séparer modèle théorique et machine physique. Le ruban d’une machine de Turing représente une mémoire sans limite prédéfinie, alors qu’une réalisation physique ne dispose que d’une quantité finie de mémoire. De leur côté, la grande majorité des ordinateurs modernes conservent le principe d’un même mécanisme d’encodage et de stockage des instructions et des données, tout en interposant des caches entre processeur et mémoire. Le modèle de von Neumann reste donc une grille de compréhension utile, mais pas une description exhaustive de chaque ordinateur actuel. [2], [3]

Frequently asked questions

Une machine de Turing est-elle un ordinateur matériel ?

C’est avant tout un modèle mathématique du calcul. On peut en construire des représentations physiques, mais celles-ci n’ont qu’une mémoire finie, contrairement au ruban du modèle abstrait. Son intérêt principal est d’étudier les procédures calculables et leurs limites, plutôt que de décrire des composants électroniques. [1], [2]

Quelle différence entre un programme et ses données ?

Les instructions du programme indiquent les opérations ; les données sont les valeurs sur lesquelles elles portent. Dans l’exemple 7 + 5, les nombres sont les données et la demande d’addition appartient aux instructions. Leur stockage commun ne supprime pas cette différence de rôle. [3]

Pourquoi enregistrer les instructions en mémoire est-il important ?

Cela permet de représenter le programme autrement que par une configuration de câbles ou des circuits fixes. Le code peut aussi être traité comme une information manipulable : cette possibilité rend notamment possibles les assembleurs, compilateurs et éditeurs de liens. [3]

Tout calcul correctement décrit finit-il par s’arrêter ?

Non. Les règles d’une machine de Turing peuvent conduire à une boucle infinie. La précision d’une procédure et son arrêt sont donc deux questions distinctes : savoir exactement quelle étape exécuter ensuite ne garantit pas qu’une étape finale sera atteinte. [2]

Le goulot d’étranglement signifie-t-il que le processeur calcule trop lentement ?

Pas nécessairement. Le goulot décrit ici vient du partage du bus entre accès aux instructions et accès aux données. Il s’agit d’une contrainte d’échange avec la mémoire, distincte de la réalisation des opérations arithmétiques elles-mêmes. [3]

Conclusion

Le fil conducteur est simple : l’algorithme définit la méthode, la machine de Turing formalise le calcul, et l’architecture de von Neumann organise son exécution matérielle. Pour analyser un exemple, demandez-vous successivement quelles opérations sont nécessaires, quelles informations constituent les instructions et les données, puis quels composants les conservent et les utilisent. Cette séparation aide à comprendre aussi bien le programme enregistré que ses contraintes : une méthode de calcul, une limite théorique et un problème d’accès mémoire ne sont pas trois noms pour le même phénomène. [1], [2], [3]

Explore next

Sources

Open a source or expand its cited passages.

Relevance scores are model estimates of how well each source addresses this question, not probabilities or fact-check ratings. Reasoned guidance is identified on hover.

  1. 95Turing Machines (Stanford Encyclopedia of Philosophy)plato.stanford.eduRéférence spécialisée particulièrement utile pour le rôle théorique des machines de Turing et la notion de procédure effective.›
  2. 94Von Neumann architecture - Wikipediaen.wikipedia.orgRéférence directement pertinente pour les composants, le programme enregistré, le bus partagé et les nuances historiques.›
  3. 88Turing machine - Wikipediaen.wikipedia.orgDescription exploitable du ruban, des états et des règles, ainsi que de la distinction entre modèle abstrait et réalisation physique.›

Recherche assistée par IA. Méthodologie de recherche · Guides · Explorer les réponses

Ask a follow-up