Diferencia entre revisiones de «Arquitectura de Von Neumann»

Contenido eliminado Contenido añadido
Sin resumen de edición
m Revertidos los cambios de 213.176.169.145 (disc.) a la última edición de Botarel
Línea 1:
[[Archivo:arquitecturaneumann.jpg|thumb|450px|Diagrama de la arquitectura Von Neumann.]]
La '''arquitectura de von Neumann''' es una familia de [[Arquitectura de computadores|arquitecturas de computadoras]] que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la [[arquitectura Harvard]]).
 
La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las [[interrupción|interrupciones]] de dispositivos externos como ratón, teclado, etc).
 
== Origen ==
El nacimiento u origen de la arquitectura Von Neumann surge a raíz de una colaboración en el proyecto ENIAC del matemático de origen húngaro, John Von Neumann. Este trabajaba en 1947 en el laboratorio atómico de Los Alamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de Albert Einstein, Goedel y Turing en Princeton, Von Neumann se interesó por el problema de la necesidad de "recablear" la máquina para cada nueva tarea.
 
En 1949 había encontrado y desarrollado la solución a este problema, consistente en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario. Su "EDVAC" fue el modelo de las computadoras de este tipo construidas a continuación. Se habla desde entonces de la "arquitectura de Von Neumann", aunque también diseñó otras formas de construcción. El primer computador comercial construido en esta forma fue el UNIVAC 1, fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.
 
== Organización ==
 
Los ordenadores con esta arquitectura constan de cinco partes:
La [[unidad aritmético-lógica]] o [[ALU]], la [[unidad de control]], la [[Memoria de ordenador|memoria]], un [[dispositivo de entrada/salida]] y el [[bus de datos]] que proporciona un medio de transporte de los datos entre las distintas partes.
 
Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:
 
# Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la [[dirección de memoria|dirección]] indicada por el [[contador de programa]] y la guarda en el [[registro de instrucción]].
# Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.
# Decodifica la instrucción mediante la [[unidad de control]]. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.
# Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.
# Vuelve al paso 1.
 
== Origen de término Arquitectura Von Neumann ==
El término ''arquitectura de von Neumann'' se acuñó a partir del memorando ''First Draft of a Report on the [[EDVAC]]'' ([[1945]]) escrito por el conocido matemático [[John von Neumann]] en el que se proponía el concepto de programa almacenado. Dicho documento fue redactado en vistas a la construcción del sucesor de la [[computadora]] [[ENIAC]] y su contenido fue desarrollado por [[John Presper Eckert]], [[John William Mauchly]], [[Arthur Burks]] y otros durante varios meses antes de que von Neumann redactara el borrador del informe. Es por ello que otros tecnólogos como David A. Patterson y John L. Hennessy promueven la sustitución de este término por el de '''arquitectura Eckert-Mauchly'''.<ref name="patterson-hennessy">David A. Patterson y John L. Hennessy, Organización y diseño de computadores, Aravaca. McGraw-Hill / Interamericana de España, S.A., 09/1994</ref>
 
== Desarrollo del concepto de programa almacenado ==
 
El matemático [[Alan Turing]], quien había sido alertado de un problema de lógica matemática por las lecciones de Max Newman en la [[Universidad de Cambridge]], escribió un artículo en [[1936]] titulado “On Computable Numbers, with an Application to the Entscheidungs problem”, que fue publicado en los “Proceedings of the London Mathematical Society”. En él describía una máquina hipotética que llamó “máquina computadora universal”, y que ahora es conocida como la “[[Máquina de Turing]]”. La máquina hipotética tenia un almacenamiento infinito (memoria en la terminología actual) que contenía tanto las instrucciones como los datos. El ingeniero alemán [[Konrad Zuse]] escribió de forma independiente sobre este concepto en 1936. [[Von Neumann]] conoció a Turing cuando ejercía de profesor sustituto en Cambridge en 1935 y también durante el año que Turing pasó en la [[Universidad de Princeton]] en 1936-37. Cuando supo del artículo de 1936 de Turing no está claro.
 
Independientemente, [[J. Presper Eckert]] y [[John Mauchly]], quienes estaban desarrollando el [[ENIAC]] en la Escuela Moore de Ingeniería Eléctrica en la [[Universidad de Pennsylvania]], escribieron sobre el concepto de “programa almacenado” en diciembre de 1943. Mientras diseñaba una nueva máquina, [[EDVAC]], Eckert escribió en enero de 1944 que se almacenarían datos y programas en un nuevo dispositivo de memoria direccionable, una línea de retardo de mercurio. Esta fue la primera vez que se propuso la construcción de un programa almacenado práctico. Por esas fechas, no tenían conocimiento del trabajo de Turing.
 
[[Von Neumann]] estaba involucrado en el [[Proyecto Manhattan]] en el Laboratorio Nacional Los Alamos, el cual requería ingentes cantidades de cálculos. Esto le condujo al proyecto [[ENIAC]], en Verano de 1944. Allí se incorporó a los debates sobre el diseño de un ordenador con programas almacenados, el EDVAC. Como parte del grupo, se ofreció voluntario a escribir una descripción de él. El término “von Neumann architecture” surgió del primer artículo de von Neumann: “First Draft of a Report on the EDVAC”, fechado el 30 de junio de 1945, el cual incluía ideas de Eckert y Mauchly. Estaba inconcluso cuando su compañero [[Herman Goldstine]] lo hizo circular con solo el nombre de von Neumann en él, para consternación de Eckert y Mauchly. El artículo fue leído por docenas de compañero de trabajo de von Neumann en América y Europa, e influenció la siguiente hornada de diseños de computadoras.
 
Posteriormente, Turing desarrolló un informe técnico detallado, “Proposed Electronic Calculator”, describiendo el Motor de Computación Automático (Automatic Computing Engine, ACE). Presentó éste al [[Laboratorio Nacional de Física Británico]] el 19 de febrero de [[1946]]. A pesar de que Turing sabía por su experiencia de guerra en el Parque Bletchley que su propuesta era factible, el secretismo mantenido durante muchas décadas acerca de los ordenadores [[Colossus]] le impidió manifestarlo. Varias implementaciones exitosas del diseño ACE fueron producidas.
 
Los trabajos de ambos, von Neumann y Turing, describían ordenadores de programas almacenados, pero al ser anterior el artículo de von Neumann, consiguió mayor circulación y repercusión, así que la arquitectura de computadoras que esbozó adquirió el nombre de “arquitectura von Neumann”.
 
En 1945, el profesor J.VON. NEUMANN que estaba trabajando en la escuela Moore de ingeniería de Filadelfia, donde el ENIAC había sido construido, emitió en nombre de un grupo de sus compañeros de trabajo un informe sobre el diseño lógico de los ordenadores digitales. El informe contenía una propuesta muy detallada para el diseño de la máquina que desde entonces se conoce como el EDVAC (electronic discrete variable automatic computer). Esta máquina ha sido recientemente completada en América, pero el informe de Von Neumman inspiró la construcción de la EDSAC (electronic delay-storage automatic calculator) en Cambridge.
 
En 1947, Burks, Goldstine y Von Neumann, publicaron un informe en el que describen el diseño de otro tipo de máquina ( una máqina paralela en este momento ) que debería ser muy rápida, capaz de hacer 20.000 operaciones por segundo. Señalaron que el problema persistente en la construcción de tal máquina estaba en el desarrollo de una memoria adecuada, todos los contenidos de los cuales fueron instantáneamente accesibles, y al principio se sugirió el uso de un tubo especial - llamado Selectron - que había sido inventado por los laboratorios de Princeton de la RCA. Estos tubos son caros y difíciles para fabricar, así Von Neumman decidió construir una máquina basada en la memoria de Williams. Esa máquina que se completó en junio de 1952 en Princeton se ha conocido como el Mañatico. El diseño de esta máquina que ha sido inspirado de una docena o más de máquinas que están actualmente en construcción en América.
 
Calculo automático en el laboratorio nacional de física.
Uno de los equipos digitales más modernos que incorpora novedades y mejoras en la técnica de la computación electrónica ha sido demostrado en el laboratorio nacional de física, Teddington, donde ha sido diseñado y construido por un pequeño equipo de matemáticos e ingenieros electrónicos investigadores sobre el personal del laboratorio, asistido por ingenieros de producción de la compañía eléctrica inglesa. El equipo construido hasta ahora en el laboratorio es solo el modelo piloto de muchas instalaciones muy grandes que se va a conocer como el motor de cálculo automático, pero aunque es relativamente pequeño en volumen y contiene solo 800 válvulas termoiónicas, es una máquina de cálculo muy rápido y versátil.
 
Los conceptos básicos y principios abstractos de la computación por una máquina fueron formuladas por el Dr A.M. Turing, pero el trabajo en dichas máquinas en el Reino Unido se retrasó por la guerra. In 1945, se ha hecho una examinación al problema en el laboratorio nacional de física por el profesor J.R. Womersley. Se le adjuntó el Dr. Turing u pequeño equipo de especialistas, y en 1947 la planificación preliminaria era lo suficientemente avanzada para justificar el establecimiento del grupo especial ya mencionado. En abril de 1948, estos últimos se convirtieron en la sesión de la electrónica del laboratorio bajo el cargo del Sr. F.M. Colebrook.
 
== Descripción del concepto de programa almacenado ==