2.2 Arquitecturas Von Neumann y Harvard

Comprender las arquitecturas modernas requiere el análisis de dos modelos conceptuales fundamentales que sentaron las bases del diseño actual de sistemas computacionales: Von Neumann y Harvard. Estos modelos arquitectónicos no solo constituyen la base teórica de muchas arquitecturas contemporáneas, sino que también permiten identificar sus fortalezas, limitaciones y áreas de aplicación.

2.2.1 Arquitectura Von Neumann

La arquitectura Von Neumann, formalizada por John von Neumann en 1945 en su influyente documento “First Draft of a Report on the EDVAC” (Neumann 1945), establece un modelo computacional en el cual tanto los datos como las instrucciones residen en una única memoria y comparten un mismo bus de comunicación. Esta arquitectura se caracteriza por sus cuatro componentes fundamentales: la unidad central de procesamiento (CPU), la unidad de control, la memoria y los dispositivos de entrada/salida. La unificación del espacio de memoria facilita el diseño del sistema y la programación, sin embargo, esta unificación también origina una limitación conocida como el ‘cuello de botella de Von Neumann’, que se refiere a la imposibilidad de acceder simultáneamente a datos e instrucciones debido al uso compartido del mismo bus, lo cual reduce la eficiencia del procesamiento, particularmente en aplicaciones con uso intensivo de datos (John L. Hennessy and Patterson 2017a; Stallings 2021).

Arquitectura Von Neumann

Figura 2.1: Arquitectura Von Neumann

2.2.2 Arquitectura Harvard

Mientras la arquitectura Von Neumann se convertía en el paradigma dominante, paralelamente se desarrollaba un enfoque alternativo. La arquitectura Harvard tiene su origen en el diseño del Harvard Mark I, una computadora electromecánica desarrollada entre 1939 y 1944 durante la Segunda Guerra Mundial en la Universidad de Harvard bajo la dirección de Howard Aiken y con el apoyo de IBM (Ceruzzi 2003; Williams 1998). El Harvard Mark I sentó las bases para un modelo arquitectónico diferente al de Von Neumann, caracterizado por una separación física entre instrucciones y datos.En este modelo, los datos y las instrucciones residen en memorias físicamente separadas, accedidas a través de buses independientes, lo cual mejora la eficiencia del procesamiento al eliminar la competencia por el bus entre instrucciones y datos. Esta organización evita el cuello de botella característico de Von Neumann y permite un acceso paralelo que incrementa el rendimiento en escenarios críticos para la eficiencia. A continuación, se presenta una comparación sistemática entre ambos modelos, a fin de comprender mejor sus implicancias técnicas y contextos de aplicación (Tanenbaum 2016). Debido a su eficiencia, esta arquitectura se ha adoptado ampliamente en sistemas embebidos, microcontroladores y procesadores de señal digital (DSP) (Noergaard 2012).

Arquitectura Harvard

Figura 2.2: Arquitectura Harvard

2.2.3 Comparativa entre Von Neumann y Harvard

Como señalan Stallings (Stallings 2021) y Hennessy (John L. Hennessy and Patterson 2017a), la arquitectura Von Neumann continúa siendo una alternativa predominante cuando se priorizan la simplicidad del diseño, la flexibilidad en la asignación de memoria y la compatibilidad con software de propósito general, como ocurre en muchas computadoras personales y servidores contemporáneos. En cambio, la arquitectura Harvard ha demostrado ventajas significativas en aplicaciones que demandan procesamiento en tiempo real y eficiencia energética, como dispositivos móviles, microcontroladores y entornos de control industrial. La elección entre ambas arquitecturas responde, en última instancia, a requerimientos específicos del sistema, ya sea por su complejidad, restricciones energéticas o necesidades de rendimiento paralelo.

Para una comparación más sistemática, se pueden establecer criterios como tipo de memoria, estructura de buses, capacidad de acceso paralelo, casos de uso representativos, ventajas y limitaciones.

Tabla 2.1: Cuadro comparativo entre arquitecturas Von Neumann y Harvard
Característica Von Neumann Harvard
Memoria Única para datos e instrucciones Separada para datos e instrucciones
Buses Bus compartido Buses independientes
Acceso simultáneo No
Ejemplo típico Intel x86 AVR, PIC
Ventaja principal Diseño más simple Mayor rendimiento
Limitación principal Cuello de botella Diseño más complejo

Ambos modelos conceptuales han tenido una influencia decisiva en el diseño de arquitecturas contemporáneas. Mientras que el modelo Von Neumann ofrece un enfoque unificado que simplifica el desarrollo de software y hardware, la arquitectura Harvard destaca por su capacidad para mejorar el rendimiento mediante el acceso paralelo a instrucciones y datos. Esta distinción resulta crucial al analizar el diseño de arquitecturas modernas como x86, que constituye el foco de esta tesis. Comprender las implicancias de estas decisiones arquitectónicas es esencial para evaluar el impacto en el rendimiento, la eficiencia energética y la escalabilidad de los sistemas actuales.

El contraste entre estos dos modelos ha dado lugar a enfoques intermedios que buscan capitalizar las ventajas de ambos. Como resultado de esta evolución, emergen las denominadas arquitecturas híbridas, las cuales integran características de ambos modelos para optimizar el rendimiento y la flexibilidad del sistema.

2.2.4 Arquitecturas híbridas

Muchas arquitecturas contemporáneas implementan un enfoque híbrido, también conocido como arquitectura Harvard modificada. Este modelo emplea memorias separadas para datos e instrucciones a nivel microarquitectónico a menudo mediante la utilización de memorias caché de nivel 1 (L1) separadas para instrucciones y datos. No obstante, desde la perspectiva del programador, el modelo de memoria se mantiene unificado, facilitando el desarrollo de software sin exponer la complejidad del diseño interno. Esta dualidad permite optimizar la implementación física del procesador sin complicar el modelo de programación (John L. Hennessy and Patterson 2017a; Null 2023; David A. Patterson and Hennessy 2017; Stallings 2021).

Arquitectura Híbridas

Figura 2.3: Arquitectura Híbridas

Esta aproximación híbrida se implementa en arquitecturas modernas como ARM Cortex y los procesadores Intel Core, los cuales incorporan cachés separadas para instrucciones y datos con el objetivo de optimizar el rendimiento del pipeline, lo que facilita una mayor paralelización del procesamiento y reduce los conflictos en el acceso a memoria. A pesar de que el modelo de memoria visible para el programador se presenta como unificado, a nivel interno se implementan mecanismos característicos de la arquitectura Harvard, como el uso de memorias caché separadas para instrucciones y datos (Arm Ltd. 2021; Intel Corporation 2021).

La adopción de arquitecturas híbridas, como la Harvard modificada, ha permitido a los diseñadores combinar la flexibilidad del modelo Von Neumann con la eficiencia del modelo Harvard. Esta convergencia no solo optimiza el rendimiento de los sistemas, sino que también responde a las exigencias contemporáneas en términos de consumo energético y capacidad de procesamiento paralelo. En este sentido, la distinción entre ambos modelos continúa siendo un eje conceptual clave para comprender la evolución de las arquitecturas modernas y su adaptación a diferentes escenarios tecnológicos.

En síntesis, la comprensión de las arquitecturas fundamentales —Von Neumann, Harvard e híbridas— resulta esencial para el desarrollo de herramientas de simulación efectivas en la enseñanza de arquitectura de computadoras. Los conceptos explorados en esta sección proporcionan los fundamentos conceptuales esenciales para el diseño y desarrollo de la herramienta de simulación propuesta en esta tesis.

Bibliografía

Arm Ltd. 2021. Arm Architecture Reference Manual: Armv9-a, for Armv9-a Architecture Profile (version D.a). Arm Ltd.
Ceruzzi, Paul E. 2003. A History of Modern Computing. MIT press.
Hennessy, John L., and David A. Patterson. 2017a. Computer Architecture: A Quantitative Approach. 6th ed. Boston: Morgan Kaufmann.
———. 2021. Intel 64 and IA-32 Architectures Optimization Reference Manual. April 2021. Intel Corporation.
Neumann, John von. 1945. “First Draft of a Report on the EDVAC.” Technical Report. Philadelphia, PA: Moore School of Electrical Engineering, University of Pennsylvania.
Noergaard, Tammy. 2012. Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers. Newnes.
Null, Linda. 2023. Essentials of Computer Organization and Architecture with Navigate Advantage Access. 6th ed. Burlington, MA: Jones & Bartlett Learning.
Patterson, David A., and John L. Hennessy. 2017. Computer Organization and Design RISC-v Edition: The Hardware Software Interface. Morgan Kaufmann.
Stallings, William. 2021. Computer Organization and Architecture: Designing for Performance. 11th ed. Boston, MA: Pearson.
Tanenbaum, Andrew S. 2016. Structured Computer Organization. Pearson Education India.
Williams, Michael R. 1998. A History of Computing Technology. Prentice-Hall Englewood Cliffs, NJ.