Arquitectura de Von Neumann

La arquitectura Von Neumann, también conocida como modelo de Von Neumann o arquitectura Princeton, es una arquitectura de computadoras basada en la descrita en 1945 por el matemático y físico John von Neumann y otros, en el primer borrador de un informe sobre el EDVAC.

Podía tomar hasta tres semanas preparar un programa de ENIAC y conseguir que funcionara.

Otro uso fue para incrustar datos frecuentemente usados en el flujo de instrucciones utilizando direccionamiento inmediato.

A gran escala, la capacidad para tratar a las instrucciones de la misma forma que si fueran datos es lo que hacen los ensambladores, compiladores, enlazadores, cargadores, y otras posibles herramientas automáticas de programación.

La máquina hipotética tenía un almacenamiento infinito (memoria en la terminología actual) que contenía tanto las instrucciones como los datos.

John von Neumann conoció a Turing cuando ejercía de profesor sustituto en Cambridge en 1935 y también durante el año PhD que Turing pasó en la Institute for Advanced Study en Princeton, Nueva Jersey durante 1936-37.

Ésta fue la primera vez que se propuso la construcción de un práctico programa almacenado.

Como parte del grupo, se ofreció voluntario a escribir una descripción de él.

[7]​ Su colega del colegio Los Álamos, Stan Frankel dijo de las consideraciones de von Neumann con respecto a las ideas de Turing: En el mismo momento en que el informe "Primer Borrador" fue distribuido, Turing desarrolló un informe técnico detallado, Proposed Electronic Calculator, que describe en detalle la ingeniería y la programación, su idea de una máquina que fue llamada la Automatic Computing Engine (ACE).

Se produjeron varias implementaciones del diseño ACE de forma exitosa.

Estos tubos son caros y difíciles para fabricar, así Von Neumman decidió construir una máquina basada en la memoria de Williams.

Las computadoras son máquinas de arquitectura Von Neumann cuando: Una máquina von Neumann, al igual que prácticamente todos los computadores modernos de uso general, consta de cuatro componentes principales: La primera saga se basaba en un diseño que fue utilizado por muchas universidades y empresas para construir sus computadoras.

[12]​ Entre estas, solo ILLIAC y ORDVAC tenían un conjunto de instrucciones compatible.

[17]​ En las décadas siguientes, los microcontroladores sencillos permitirían algunas veces omitir características del modelo a menor costo y tamaño.

Según Backus: El problema de rendimiento puede ser aliviado (hasta cierto punto) utilizando diversos mecanismos.

El problema también se puede eludir, en cierta medida, usando computación paralela, utilizando por ejemplo la arquitectura de acceso a memoria no uniforme (NUMA), —este enfoque es comúnmente empleado por las supercomputadoras.

Está menos claro si el cuello de botella intelectual que criticaba Backus ha cambiado mucho desde 1977.

[cita requerida] La moderna programación funcional y la programación orientada a objetos se preocupan mucho menos de "empujar un gran número de palabras hacia un lado a otro" que los lenguajes anteriores como era Fortran, pero internamente, esto sigue siendo lo que las computadoras pasan gran parte del tiempo haciendo, incluso las supercomputadoras altamente paralelas.

Diagrama de la arquitectura von Neumann.
Diagrama de la arquitectura von Neumann.
Diagrama de la arquitectura von Neumann.
Evolución de la arquitectura del bus simple del sistema