Définition
Modèle d'architecture d'ordinateur organisant le calcul autour d'un dispositif à programme enregistré avec une unité centrale de traitement, une mémoire unifiée contenant instructions et données, et des cycles séquentiels de fetch-décode-exécute ; fondement de la plupart des ordinateurs numériques classiques.

Principe

Principe
Unifier le stockage du programme et des données pour que le processeur récupère et exécute des instructions depuis le même espace mémoire adressable, permettant des programmes flexibles mais introduisant des contentions possibles entre accès aux instructions et aux données.

Démonstration

Démonstration
Un processeur monocœur à usage général lit une instruction depuis la mémoire principale, la décode, accède aux opérandes dans la même mémoire si nécessaire, effectue l'opération dans l'UAL et écrit les résultats en mémoire ; le programme chargé en mémoire détermine le comportement à l'exécution.

Mauvaise application

Mauvaise application
Supposer qu'il n'y a pas de pénalité de performance pour l'exécution de code auto-modifiant ou pour la contention instruction/données dans des systèmes avec hiérarchies mémoire profondes ; ignorer que les implémentations modernes ajoutent caches, pipelines et exécution spéculative qui modifient performance et sémantique.

Conséquence

Conséquence
Fournit une abstraction simple et largement applicable pour concevoir et raisonner sur les programmes séquentiels et les compilateurs ; explique des phénomènes comme le goulet d'étranglement de von Neumann où la bande passante mémoire limite le débit.

Inversion

Inversion
Une architecture Harvard sépare les mémoires d'instructions et de données (physiquement ou logiquement), éliminant la contention au niveau mémoire et permettant différentes largeurs d'accès ou protections.

Limite

Limite
Ne prescrit pas en soi des optimisations microarchitecturales (caches, pipelines, exécution hors d'ordre) ni ne décrit des machines massivement parallèles, distribuées ou non classiques ; elle abstrait les considérations électriques, temporelles et de fiabilité.

Tension sémantique

Tension sémantique
Concurrence avec les architectures de type Harvard et dataflow où les voies d'instruction et de données sont séparées ou le calcul est piloté par la disponibilité des données plutôt que par un compteur de programme.

Synthèse

Synthèse
Modèle conceptuel qui centralise le traitement et stocke programmes et données dans un espace d'adressage commun, permettant un calcul séquentiel polyvalent tout en imposant des compromis entre simplicité et performance d'accès mémoire.