Definición
Modelo de arquitectura de ordenador que organiza el cálculo alrededor de un diseño de programa almacenado con una unidad central de procesamiento, una memoria unificada que contiene tanto instrucciones como datos, y ciclos secuenciales de fetch-decode-execute; fundamento de la mayoría de los ordenadores digitales clásicos.

Principio

Principio
Unificar el almacenamiento de programa y datos para que el procesador obtenga y ejecute instrucciones desde el mismo espacio de memoria direccionable, lo que permite programas flexibles pero genera posible contención de recursos entre el acceso a instrucciones y datos.

Demostración

Demostración
Una CPU de un solo núcleo lee una instrucción desde la memoria principal, la decodifica, accede a los operandos en la misma memoria si es necesario, realiza la operación en la ALU y escribe los resultados de vuelta en la memoria; el programa cargado en memoria determina el comportamiento en tiempo de ejecución.

Aplicación incorrecta

Aplicación incorrecta
Asumir que no hay penalización de rendimiento por ejecutar código que se modifica a sí mismo o por la contención instrucción/datos en sistemas con jerarquías de memoria profundas; ignorar que las implementaciones modernas añaden caches, pipelines y ejecución especulativa que alteran el rendimiento y la semántica.

Consecuencia

Consecuencia
Proporciona una abstracción simple y ampliamente aplicable para diseñar y razonar sobre programas secuenciales y compiladores; explica fenómenos como el cuello de botella de von Neumann, donde el ancho de banda de memoria limita el rendimiento.

Inversión

Inversión
Una arquitectura Harvard separa las memorias de instrucción y datos (físicamente o lógicamente), eliminando la contención instrucción/datos a nivel de memoria y permitiendo diferentes anchos de acceso o protecciones.

Límite

Límite
No prescribe por sí misma optimizaciones microarquitectónicas (caches, pipelines, ejecución fuera de orden) ni describe máquinas masivamente paralelas, distribuidas o no clásicas; abstrae consideraciones eléctricas, temporales y de fiabilidad.

Tensión semántica

Tensión semántica
Compite con arquitecturas Harvard y dataflow donde las vías de instrucción y datos están separadas o el cómputo se guía por la disponibilidad de datos en lugar de un contador de programa.

Síntesis

Síntesis
Un modelo conceptual que centraliza el procesamiento y almacena programas con sus datos en un espacio de direcciones común, permitiendo cómputo secuencial versátil y generando compensaciones entre simplicidad y rendimiento de acceso a memoria.