Está en la página 1de 8

ARQUITECTURA VON NEUMAN.

Origen
El nacimiento u origen de la arquitectura von Neumann surge a raz de una colaboracin en el proyecto ENIAC del matemtico de origen hngaro, John von Neumann. ste trabajaba en 1945 en el Laboratorio Nacional Los lamos cuando se encontr con uno de los constructores de la ENIAC. Compaero de Albert Einstein, Kurt Gdel y Alan Turing en Princeton, Von Neumann se interes por el problema de la necesidad de reconfigurar la mquina para cada nueva tarea. En 1949 haba encontrado y desarrollado la solucin a este problema, consistente en poner la informacin sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribindola de la misma forma, es decir en cdigo binario. Su "EDVAC" fue el modelo de las computadoras de este tipo construidas a continuacin. Se habla desde entonces de la arquitectura de Von Neumann, aunque tambin dise otras formas de construccin. El primer computador comercial construido en esta forma fue el UNIVAC I, fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.

Organizacin
Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmtico-lgica o ALU, la unidad de control, la 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: 1. Enciende el ordenador y obtiene la siguiente instruccin desde la memoria en la direccin indicada por el contador de programay la guarda en el registro de instruccin. 2. Aumenta el contador de programa en la longitud de la instruccin para apuntar a la siguiente. 3. Decodifica la instruccin mediante la unidad de control. sta se encarga de coordinar el resto de componentes del ordenador para realizar una funcin determinada. 4. Se ejecuta la instruccin. sta puede cambiar el valor del contador del programa, permitiendo as operaciones repetitivas. El contador puede cambiar tambin cuando se cumpla una cierta

condicin aritmtica, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmtica y lgica anteriores.

Desarrollo del concepto de programa almacenado


Artculo principal: Programa almacenado El matemtico Alan Turing, quien haba sido alertado de

Origen de trmino Arquitectura Von Neumann


El trmino arquitectura de von Neumann se acu a partir del memorando First Draft of a Report on the EDVAC (1945) escrito por el conocido matemtico John von Neumann en el que se propona el concepto de programa almacenado. Dicho documento fue redactado en vistas a la construccin 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 tecnlogos como David A. Patterson y John L. Hennessy promueven la sustitucin de este trmino por el de arquitectura Eckert-Mauchly.1

un problema de lgica matemtica por las lecciones de Max Newman en laUniversidad de Cambridge, escribi un artculo en 1936 titulado On Computable Numbers, with an Application to the Entscheidungs problem, qu e fue publicado en los Proceedings of the London Mathematical Society. En l describa una mquina hipottica que llam mquina computadora universal, y que ahora es conocida como la Mquina de Turing. La mquina hipottica tena un almacenamiento infinito (memoria en la terminologa actual) que contena tanto las instrucciones como los datos. El ingeniero alemnKonrad Zuse escribi de forma independiente sobre este concepto en 1936. Von Neumann conoci a Turing cuando ejerca de profesor sustituto en Cambridge en 1935 y tambin durante el ao que Turing pas en la Universidad de Princeton en 1936-37. Cundo supo del artculo de 1936 de Turing no est claro. Independientemente, J. Presper Eckert y John Mauchly, quienes estaban desarrollando el ENIAC en la Escuela

Moore de Ingeniera Elctrica en la Universidad de Pennsylvania, escribieron sobre el concepto de programa almacenado en diciembre de 1943. Mientras diseaba una nueva mquina, EDVAC, Eckert escribi en enero de 1944 que se almacenaran datos y programas en un nuevo dispositivo de memoria direccionable, una lnea de retardo de mercurio. sta fue la primera vez que se propuso la construccin de un programa almacenado prctico. Por esas fechas, no tenan conocimiento del trabajo de Turing. Von Neumann estaba involucrado en el Proyecto Manhattan en el Laboratorio Nacional Los Alamos, el cual requera ingentes cantidades de clculos. Esto le condujo al proyecto ENIAC, en verano de 1944. All se incorpor a los debates sobre el diseo de un ordenador con programas almacenados, el EDVAC. Como parte del grupo, se ofreci voluntario a escribir una descripcin de l. El trmino von Neumann architecture surgi del primer artculo de von Neumann: First Draft of a Report on the EDVAC, fechado el 30 de junio de 1945, el cual inclua ideas de Eckert y Mauchly. Estaba inconcluso cuando su compaero Herman Goldstine lo hizo circular con slo el nombre de von Neumann escrito en l, para consternacin de Eckert y Mauchly. El artculo fue ledo

por docenas de compaeros de trabajo de Von Neumann en Amrica y Europa, e influenci la siguiente hornada de diseos de computadoras. Posteriormente, Turing desarroll un informe tcnico detallado, Proposed Electronic Calculator, describiendo el Motor de Computacin Automtico (Automatic Computing Engine, ACE). Present ste al Laboratorio Nacional de Fsica Britnico el 19 de febrero de 1946. A pesar de que Turing saba por su experiencia de guerra en el Parque Bletchley que su propuesta era factible, el secretismo mantenido durante muchas dcadas acerca de los ordenadores Colossus le impidi manifestarlo. Varias implementaciones exitosas del diseo ACE fueron producidas. Los trabajos de ambos, von Neumann y Turing, describan ordenadores de programas almacenados, pero al ser anterior el artculo de von Neumann, consigui mayor circulacin y repercusin, as que la arquitectura de computadoras que esboz adquiri el nombre de arquitectura von Neumann. En 1945, el profesor Neumann, que estaba trabajando en la escuela Moore de ingeniera de Filadelfia, donde el ENIAC haba sido construido, emiti en nombre de un

grupo de sus compaeros de trabajo un informe sobre el diseo lgico de los ordenadores digitales. El informe contena una propuesta muy detallada para el diseo de la mquina que desde entonces se conoce como el EDVAC (electronic discrete variable automatic computer). Esta mquina ha sido recientemente completada en Amrica, pero el informe de Von Neumman inspir la construccin 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 diseo de otro tipo de mquina (una mquina paralela en este momento) que debera ser muy rpida, capaz de hacer 20.000 operaciones por segundo. Sealaron que el problema persistente en la construccin de tal mquina estaba en el desarrollo de una memoria adecuada, todos los contenidos de los cuales fueron instantneamente accesibles, y al principio se sugiri el uso de un tubo especial -llamado Selectron- que haba sido inventado por los laboratorios de Princeton de la RCA. Estos tubos son caros y difciles para fabricar, as Von Neumman decidi construir una mquina basada en la memoria de Williams. Esa mquina que se complet en junio de 1952 en Princeton se ha conocido comoMANIAC I. El diseo

de esta mquina que ha sido inspirado de una docena o ms de mquinas que estn actualmente en construccin en Amrica. Clculo automtico en el laboratorio nacional de fsica. Uno de los equipos digitales ms modernos que incorpora novedades y mejoras en la tcnica de la computacin electrnica ha sido demostrado en el laboratorio nacional de fsica, Teddington, donde ha sido diseado y construido por un pequeo equipo de matemticos e ingenieros electrnicos investigadores sobre el personal del laboratorio, asistido por ingenieros de produccin de la compaa elctrica 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 clculo automtico, pero aunque es relativamente pequeo en volumen y contiene solo 800 vlvulas termoinicas, es una mquina de clculo muy rpido y verstil. Los conceptos bsicos y principios abstractos de la computacin por una mquina fueron formuladas por el Dr A. M. Turing, pero el trabajo en dichas mquinas en el Reino Unido se retras por la guerra. En 1945, se hizo una revisin al problema en el laboratorio nacional de Fsica por el profesor J. R. Womersley. Se le adjunt al Dr. Turing un pequeo

equipo de especialistas, y en 1947 la planificacin preliminaria era lo suficientemente avanzada para justificar el establecimiento del grupo especial ya mencionado. En abril de 1948, estos ltimos se convirtieron en la seccin de electrnica del laboratorio, bajo el cargo del Sr. F. M. Colebrook.

con detallados diseos de ingeniera. Y tras esto llegaba el a veces complicado proceso de reescritura y reestructuramiento fsico del computador. El concepto de programa almacenado cambi por completo, se pens en un computador que en su diseo contena un conjunto de instrucciones que podan ser almacenadas en memoria, o sea, un programa que detallaba la computacin del mismo. El diseo de un programa almacenado tambin daba la posibilidad a los programas de ser modificados ellos mismos durante su ejecucin. Uno de los primeros motivos para su creacin fue la necesidad de un programa que incrementara o modificara las direcciones de memoria de algunas instrucciones, las cuales tenan que ser hechas manualmente en los primeros diseos. Esto se volvi menos importante cuando el ndice de registros y el direccionamiento indirecto se convirtieron en algo habitual en laarquitectura de computadores. El cdigo automodificable fue en gran parte ganando posiciones. A gran escala, la habilidad de tratar instrucciones como datos es lo que hacen los ensambladores, compiladores y otras herramientas

Descripcin del concepto programa almacenado

de

Los primeros computadores constaban de programas almacenados. Algunos muy simples siguen utilizando este diseo, por ejemplo, una calculadora es un computador que tiene un programa almacenado. Puede hacer operaciones matemticas simples, pero no puede ser usada como procesador de textos o videoconsola. Cambiar el programa que contenan los dispositivos que usaban esta tecnologa requera reescribir, reestructurar y/o redisear el dispositivo. Los primeros computadores no estaban lo suficiente programados cuando fueron diseados. La tarea de reprogramar, cuando era posible, era un proceso laborioso, empezando con notas en papel y siguiendo

de programacin automticas. Se pueden "escribir programas para escribir programas". Existen inconvenientes en el diseo de Von Neumann. Las modificaciones en los programas poda ser algo perjudicial, por accidente o por diseo. En algunos simples diseos de computador con programas almacenados, un mal funcionamiento del programa puede daar el computador. Otros programas, o el sistema operativo, posiblemente puedan llevar a un dao total en el ordenador. La proteccin de la memoria y otras formas de control de acceso pueden ayudar a proteger en contra de modificaciones accidentales y/o maliciosas de programas.

grandes cantidades de datos. La CPU se ve forzada a esperar continuamente a que lleguen los datos necesarios desde o hacia la memoria. La velocidad de procesamiento y la cantidad de memoria han aumentado mucho ms rpidamente que el rendimiento de transferencia entre ellos, lo que ha agravado el problema del cuello de botella. El trmino cuello de botella de von Neumann fue acuado por John Backus en su conferencia de la concesin de 1977 ACM Turing. Segn Backus: Seguramente debe haber una manera menos primitiva de realizar grandes cambios en la memoria, que empujando tantaspalabras hacia un lado y otro del cuello de botella de von Neumann. No slo es un cuello de botella para el trfico de datos, sino que, ms importante, es un cuello de botella intelectual que nos ha mantenido atados al pensamiento de "una palabra a la vez" en vez de fomentarnos el pensar en unidades conceptuales mayores. Entonces la programacin es bsicamente la planificacin del enorme trfico de palabras que cruzan el cuello de botella de von Neumann, y gran parte de ese trfico no concierne a los propios datos, sino a dnde encontrar stos.2

Cuello de botella de Von Neumann (Von Neumann bottleneck


El canal de transmisin de los datos entre CPU y memoria genera un cuello de botella para el rendimiento del procesador. En la mayora de computadoras modernas, la velocidad de comunicacin entre la memoria y la CPU es ms baja que la velocidad a la que puede trabajar esta ltima, reduciendo el rendimiento del procesador y limitando seriamente la velocidad de proceso eficaz, sobre todo cuando se necesitan procesar

El problema de funcionamiento se redujo introduciendo una memoria cach entre la CPU y la memoria principal, y mejorando los algoritmos del predictor de saltos. Est menos claro que el cuello de botella intelectual que Backus ha criticado haya cambiado mucho desde 1977. La solucin propuesta de Backus no ha tenido una influencia importante. La programacin funcional moderna y la programacin orientada a objetos se preocupan mucho menos de empujar tantas palabras hacia un lado y otro que los anteriores lenguajes como era Fortran.

MANIAC I en Laboratorio Cientfico Los Alamos(Mar 1952) ILLIAC en la Universidad de Illinois, (Sept 1952) AVIDAC en Laboratorios Argonne National (1953) ORACLE en Laboratorio Nacional de Oak Ridge (Jun 1953) JOHNNIAC en RAND Corporation (Ene 1954) BESK en Estocolmo (1953) BESM-1 en Mosc (1952) DASK en Dinamarca (1955) PERM en Mnich (1956?) SILLIAC en Sydney (1956) WEIZAC en Rehovoth (1955)

Primeros ordenadores basados en arquitecturas von Neumann


La primera saga se basaba en un diseo que fue utilizado por muchas universidades y empresas para construir sus equipos. Entre estos, slo ILLIAC y ORDVAC tenan un conjunto de instrucciones compatible.

Primeros ordenadores de programa almacenado


SSEM ENIAC BINAC Manchester Mark I EDSAC EDVAC CSIRAC

ORDVAC (U-Illinois) en Aberdeen Proving Ground, Maryland (completado en noviembre de 1951) IAS machine en Princeton University (Ene 1952)

SEAC Pilot ACE SWAC Computadora Whirlwind UNIVAC 1101