Arquitectura de von Neumann: el pilar de 1945 que sigue ejecutando tu código en 2025

Descubre cómo un diseño propuesto en 1945 sigue siendo la base de laptops, smartphones y servidores que ejecutan tus aplicaciones hoy, y por qué el cuello de botella de von Neumann es más relevante que nunca.

Backend▣
Arquitectura de ComputadoresVon NeumannHistoriaHardware

Arquitectura de von Neumann: el pilar de 1945 que sigue ejecutando tu código en 2025

¿Tu empresa está lista para IA? Descargá nuestro checklist gratuito →

Descargar checklist

Introducción: un diseño de hace 80 años que sostiene la computación moderna

Cada vez que abres una pestaña del navegador, ejecutas un modelo de lenguaje o entrenas una red neuronal, hay un diseño arquitectónico propuesto hace casi 80 años haciendo todo el trabajo posible. Se trata de la arquitectura de von Neumann, descrita formalmente en el documento First Draft of a Report on the EDVAC el 30 de junio de 1945 por el matemático húngaro-estadounidense John von Neumann.

Lo más sorprendente no es su longevidad, sino su idea central: almacenar los programas y los datos en la misma memoria. En 1945 esta decisión era revolucionaria; hoy sigue siendo el corazón latente de prácticamente todos los dispositivos que usamos, desde un microcontrolador ESP32 hasta un servidor con 80.000 núcleos H100 en un data center hyperscaler.

En este artículo vamos a desarmar la arquitectura de von Neumann pieza por pieza: su historia, sus componentes, el famoso cuello de botella, sus limitaciones actuales y por qué, a pesar de sus detractores, sigue siendo el modelo dominante en la industria.

---

Orígenes: de ENIAC a EDVAC (1945)

El contexto de la Segunda Guerra Mundial

Para entender por qué von Neumann publicó este diseño, hay que retroceder a 1943. La Universidad de Pennsylvania estaba desarrollando ENIAC (Electronic Numerical Integrator and Computer), una computadora de 30 toneladas pensada originalmente para calcular tablas de tiro balístico. El problema era que ENIAC se programaba reconfigurando físicamente cables y switches, un trabajo que podía tardar días.

El ejército de los EE. UU. necesitaba algo mejor, así que en 1944 el proyecto EDVAC comenzó como sucesor de ENIAC. Fue ahí donde von Neumann, como consultor del proyecto, sintetizó las ideas en un documento de 101 páginas que cambió la historia de la computación.

El insight clave: stored-program computer

La propuesta de von Neumann resolvió el problema de ENIAC con una idea simple pero profunda: si tanto los datos como las instrucciones son información, ¿por qué no almacenarlos en el mismo medio?

  ┌─────────────────────────────────────┐
  │           MEMORIA ÚNICA             │
  │  ┌─────────────┐ ┌──────────────┐ │
  │  │ Instrucciones│ │    Datos     │ │
  │  │  (Programa)  │ │ (Variables)  │ │
  │  └─────────────┘ └──────────────┘ │
  └────────────────┬──────────────────┘
                   │  Bus de datos/direcciones
                   ▼
  ┌─────────────────────────────────────┐
  │   CPU: Unidad de Control + ALU      │
  └────────────────┬──────────────────┘
                   │
                   ▼
              Dispositivos E/S

A esto se le conoce como stored-program computer o computadora de programa almacenado, y es la semilla de toda la computación moderna.

---

Los 5 componentes fundamentales

La arquitectura de von Neumann se compone de cinco bloques funcionales que hoy reconocemos instantáneamente:

1. Unidad de Procesamiento (CPU)

La CPU contiene a su vez dos sub-unidades:

  • ALU (Arithmetic Logic Unit): realiza operaciones aritméticas (suma, resta, multiplicación) y lógicas (AND, OR, NOT).
  • Unidad de Control (CU): decodifica las instrucciones y orquesta el flujo de datos.

2. Memoria Principal (RAM)

Almacena tanto el programa como los datos. En la propuesta original era un conjunto de líneas de retardo de mercurio, cada una capaz de almacenar 32 palabras de 32 bits. Hoy es DRAM DDR5 con capacidades de hasta 256 GB por módulo.

3. Dispositivos de Entrada/Salida

Teclados, discos, pantallas, redes. Todo lo que comunica la computadora con el mundo exterior.

4. Bus del sistema

El conjunto de cables (hoy, pistas en un PCB y señales eléctricas diferenciales) que transporta:

  • Direcciones (de dónde leer/escribir)
  • Datos (qué leer/escribir)
  • Señales de control (lectura/escritura, interrupciones)

5. Reloj (Clock)

Aunque no siempre se lista explícitamente, el reloj que sincroniza los ciclos de la CPU es parte esencial del modelo. Un Apple M3 Ultra llega a 5,4 GHz; un servidor Intel Xeon escala hasta ~4 GHz con turbo.

---

El ciclo Fetch-Decode-Execute

La CPU en una arquitectura von Neumann opera en un bucle infinito de tres fases. Veámoslo con pseudocódigo realista:

PC = 0  // Program Counter empieza en la primera instrucción

mientras (energía == ON) {
    // 1. FETCH: traer la instrucción de memoria
    instrucción = MEMORIA[PC]
    PC = PC + 1

    // 2. DECODE: decodificar la instrucción
    opcode = (instrucción >> 24) & 0xFF
    operandos = instrucción & 0x00FFFFFF

    // 3. EXECUTE: ejecutar la operación
    según (opcode) {
        caso 0x01:  // ADD
            ACC = ACC + MEMORIA[operandos]
        caso 0x02:  // STORE
            MEMORIA[operandos] = ACC
        caso 0xFF:  // HALT
            energía = OFF
    }
}

Cada vuelta de este bucle se llama ciclo de instrucción. Una CPU moderna rompe cada una de estas fases en múltiples sub-etapas (típicamente de 14 a 20 etapas en un pipeline superscalar) y las ejecuta en paralelo. Pero el principio es exactamente el mismo que en 1945.

---

El famoso cuello de botella de von Neumann

Aquí es donde la historia se pone interesante para cualquier ingeniero de software o arquitecto de sistemas. Si los datos y las instrucciones comparten el mismo bus y la misma memoria, entonces el bus se convierte en un embudo.

En términos cuantitativos:

AñoCPU ClockAncho de banda memoria
1980~5 MHz~10 MB/s
2000~1,5 GHz~1 GB/s
2024~5 GHz~100 GB/s (DDR5 8000MT/s)

El problema: el rendimiento de la CPU se duplica cada ~2 años (Ley de Moore), pero el ancho de banda de memoria solo cada ~3-4 años. El resultado es que las CPUs modernas pasan gran parte de su tiempo esperando datos.

Según estudios de Google en cargas de producción, hasta un 40-60% del tiempo de CPU en sistemas de inferencia se desperdicia en esperas de memoria (memory stalls). En entrenamiento de modelos grandes este número puede superar el 70%.

¿Querés un diagnóstico personalizado? Completá el checklist gratuito →

Descargar checklist

Mitigaciones del cuello de botella

La industria ha respondido con varias estrategias:

  • Memoria caché multinivel: L1 (~4 ciclos), L2 (~12 ciclos), L3 (~40 ciclos). Un AMD EPYC 9654 tiene 384 MB de L3.
  • Prefetching predictivo: la CPU adivina qué datos necesitarás y los carga antes.
  • Branch prediction: predice saltos condicionales para no desperdiciar ciclos.
  • Jerarquía de memoria: desde registros (~1ns) hasta NVMe (~100µs).
  • Compute-in-Memory (CIM): investigación reciente que realiza operaciones directamente en las celdas de memoria.

---

Von Neumann vs Harvard: dos modelos, un mercado

La alternativa histórica al modelo von Neumann es la arquitectura Harvard, donde datos e instrucciones usan memorias y buses físicamente separados.

CaracterísticaVon NeumannHarvard
Memoria unificadaSíNo
Ancho de bandaCompartidoDoble
Flexibilidad de códigoAltaBaja
Uso típicoPCs, servidoresDSPs, microcontroladores

En la práctica, los chips modernos usan un modelo híbrido: caches L1 separados para instrucciones y datos (Harvard) sobre una memoria principal compartida (von Neumann). Por eso a veces se le llama arquitectura Harvard modificada.

Los microcontroladores ESP32 que dominan el IoT, los DSPs de audio y los chips de redes neuronales (TPU, NPU) suelen implementar variantes Harvard puras o modificadas por motivos de rendimiento.

---

¿Sigue vigente en 2025? Evidencia contundente

Para responder esta pregunta, basta mirar el hardware que ejecuta el software que escribimos:

  • Servidores cloud: AWS, Azure y GCP ejecutan sobre CPUs x86 (Intel Xeon, AMD EPYC) y ARM (Graviton, Ampere Altra), todas von Neumann.
  • Laptops y PCs: Apple M-series, Intel Core, AMD Ryzen. Todas von Neumann.
  • Smartphones: Qualcomm Snapdragon, MediaTek Dimensity, Apple A-series. Todas von Neumann.
  • Supercomputadoras: incluso Frontier (1,1 exaflops, #1 en TOP500 2024) usa CPUs AMD EPYC von Neumann junto con GPUs.

Pero hay matices importantes. Las GPUs que entrenan modelos de IA son arquitecturas SIMD/MIMD con miles de cores, y aunque conceptualmente se conectan a un host von Neumann, internamente tienen jerarquías de memoria propias. Las TPUs de Google y los aceleradores Cerebras/Wafer-Scale van más lejos: usan modelos de procesamiento casi dataflow que se alejan del von Neumann clásico.

---

Alternativas futuras: ¿muerto el modelo?

Aunque la arquitectura von Neumann sigue dominando, hay tres líneas de investigación que podrían desplazarla en nichos específicos:

1. Computación neuromórfica

Procesadores como Intel Loihi 2 y IBM TrueNorth emulan redes de neuronas con spikes. Operan con procesamiento basado en eventos y memoria distribuida, evadiendo el cuello de botella clásico.

2. Computación cuántica

Una computadora cuántica no es von Neumann ni nada parecido: usa qubits en superposición y puertas cuánticas. IBM Quantum Heron (156 qubits) y Google Willow (105 qubits) marcan el camino.

3. In-memory computing

Investigaciones de MIT, Stanford y startups como Mythic o Syntiant ejecutan operaciones de redes neuronales directamente en arrays de memoria no volátil. Ideal para inferencia en edge con consumo de milivatios.

Sin embargo, ninguna de estas alternativas reemplazará al modelo von Neumann en el corto plazo. La compatibilidad con 80 años de software, herramientas y conocimiento acumulado es una ventaja casi imposible de superar.

---

Conceptos erróneos comunes

Antes de cerrar, vale la pena desmentir algunos mitos frecuentes:

  • "Von Neumann inventó la computadora." Falso. Contribuyó al diseño del EDVAC y formalizó el modelo stored-program, pero el crédito se comparte con Eckert, Mauchly, Turing, Atanasoff y otros.
  • "La arquitectura Harvard siempre es más rápida." No necesariamente. Para software general, el overhead de mantener memorias separadas puede superar las ventajas.
  • "Las CPUs modernas son von Neumann puras." Son híbridos, con subsistemas Harvard para caché y SIMD/MIMD para unidades vectoriales.

---

Conclusión: 80 años y contando

La arquitectura de von Neumann es, posiblemente, el diseño de ingeniería más exitoso y longevo de la historia humana. Concebida en una época en que los transistores ni siquiera existían como producto comercial, sigue siendo el lenguaje universal sobre el que escribimos nuestro código.

Como desarrolladores y arquitectos de software, entender este modelo no es opcional: explica por qué la localidad de referencia importa, por qué las cachés son tan críticas, por qué entrenar un LLM requiere mover cientos de gigabytes entre GPU y HBM, y por qué un algoritmo con mala complejidad de memoria puede ser 100x más lento que uno con mejor localidad.

En Tanok Tech ayudamos a equipos de ingeniería a diseñar sistemas que exprimen al máximo el hardware von Neumann moderno, desde optimizaciones de caché para código de alto rendimiento hasta arquitecturas distribuidas en GPU para workloads de IA. Si quieres que auditamos el rendimiento de tu plataforma o exploremos cómo migrar parte de tu carga a aceleradores especializados, contáctanos para una consultoría sin compromiso.

El modelo de 1945 sigue ejecutándose en cada ciclo de reloj de tu servidor. La pregunta es: ¿estás aprovechando todo su potencial?

---

Referencias y lecturas recomendadas

  1. Von Neumann, J. (1945). First Draft of a Report on the EDVAC. University of Pennsylvania.
  2. Patterson, D. & Hennessy, J. Computer Organization and Design (6ª ed., 2020).
  3. Asanovic, K. et al. (2006). The Landscape of Parallel Computing Research: A View from Berkeley.
  4. TOP500 List, noviembre 2024.
  5. M. Horowitz (2014). Computing's Energy Problem (and What We Can Do About It), ISSCC.

¿Listo para dar el próximo paso? Evaluá tu empresa con nuestro checklist gratuito →

Descargar checklist

Publicaciones relacionadas