UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA INGENIERÍA EN SISTEMAS DE INFORMACIÓN ARQUITECTUTA DE COMPUTADORAS ING.

SAMUEL GARCÍA

ARQUITECTURA DE VON NEUMANN ARQUITECTURA DE HARVARD

KAREN JEANNIRA DE LA CRUZ LÓPEZ CARNÉ: 0907-08-2594 JALAPA, 11 DE AGOSTO DE 2012

....................................................... 5 Descripción del concepto de programa almacenado ............................................................................................................................................................................................................. 7 ARQUITECTURA DE HARVARD ........................................................................................................ 8 2 ...INDICE ARQUITECTURA DE VON NEUMANN ......................................... 7 Cuello de botella de Von Neumann (Von Neumann bottleneck)...................... 4 Desarrollo del concepto de programa almacenado ................................ 4 Origen ....

Y cuando hablamos de la Arquitectura Harvard nos referimos al modelo. tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes. Cuando hablamos de la Arquitectura Von Neumann: Tradicionalmente nos referimos a los sistemas con microprocesadores se basan en esta arquitectura. direcciones y datos). que utilizan los microcontroladores PIC. 3 .INTRODUCCIÓN A continuación trataremos un tema de suma importancia dentro del Curso de Arquitectura de computadoras como lo son: La Arquitectura de Von Neumann y la Arquitectura de Harvard. está conectada a una memoria principal única (casi siempre sólo RAM) donde se guardan las instrucciones del programa y los datos. en la cual la unidad central de proceso (CPU). A dicha memoria se accede a través de un sistema de buses único (control.

Compañero de Albert Einstein. El primer computador comercial construido en esta forma fue el UNIVAC I. Kurt Gödel y Alan Turing en Princeton. En 1949 había encontrado y desarrollado la solución a este problema. 4 . aunque también diseñó otras formas de construcción. Este trabajaba en 1945 en el Laboratorio Nacional Los Álamos cuando se encontró con uno de los constructores de la ENIAC. Su "EDVAC" fue el modelo de las computadoras de este tipo construidas a continuación. Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción. Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente: 1. Se habla desde entonces de la arquitectura de Von Neumann. Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica o ALU. Von Neumann se interesó por el problema de la necesidad de recablear la máquina para cada nueva tarea. la memoria. fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos. John Von Neumann.ARQUITECTURA DE VON NEUMANN 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. escribiéndola de la misma forma. consistente en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos. es decir en código binario. un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes. la unidad de control.

Allí se incorporó a los debates sobre el diseño de un ordenador con programas almacenados. Presper Eckert y John Mauchly. permitiendo así operaciones repetitivas. EDVAC. Estaba inconcluso cuando su compañero Herman Goldstine lo hizo circular con solo el nombre de von Neumann en él. 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. Ésta puede cambiar el valor del contador del programa. 3. Von Neumann estaba involucrado en el Proyecto Manhattan en el Laboratorio Nacional Los Alamos. Mientras diseñaba una nueva máquina. 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. Decodifica la instrucción mediante la unidad de control. Cuándo supo del artículo de 1936 de Turing no está claro. fechado el 30 de junio de 1945. el cual requería ingentes cantidades de cálculos.2. Desarrollo del concepto de programa almacenado El matemático Alan Turing. El ingeniero alemán Konrad Zuse escribió de forma independiente sobre este concepto en 1936. una línea de retardo de mercurio. para consternación de Eckert y Mauchly. se ofreció voluntario a escribir una descripción de él. Esta fue la primera vez que se propuso la construcción de un programa almacenado práctico. 4. Esto le condujo al proyecto ENIAC. en verano de 1944. quien había sido alertado de un problema de lógica matemática por las lecciones de Max Newman en la Universidad de Cambridge. y que ahora es conocida como la “Máquina de Turing”. quienes estaban desarrollando el ENIAC en la Escuela Moore de Ingeniería Eléctrica en la Universidad de Pennsylvania. El artículo fue leído por docenas de compañero de trabajo de von Neumann en América y Europa. que fue publicado en los “Proceedings of the London Mathematical Society”. no tenían conocimiento del trabajo de Turing. El término “von Neumann architecture” surgió del primer artículo de von Neumann: “First Draft of a Report on the EDVAC”. el EDVAC. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada. el cual incluía ideas de Eckert y Mauchly. mediante la aritmética y lógica anteriores. escribieron sobre el concepto de “programa almacenado” en diciembre de 1943. Por esas fechas. Eckert escribió en enero de 1944 que se almacenarían datos y programas en un nuevo dispositivo de memoria direccionable. El contador puede cambiar también cuando se cumpla una cierta condición aritmética. que pueden alcanzar cualquier grado de complejidad. Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente. En él describía una máquina hipotética que llamó “máquina computadora universal”. e influenció la siguiente hornada de diseños de computadoras. 5 . J. Como parte del grupo. haciendo que el ordenador pueda 'tomar decisiones'. with an Application to the Entscheidungs problem”. Se ejecuta la instrucción. Independientemente. escribió un artículo en 1936 titulado “On Computable Numbers.

Los conceptos básicos y principios abstractos de la computación por una máquina fueron formuladas por el Dr A. Turing. donde el ENIAC había sido construido. Teddington. Los trabajos de ambos. 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. Womersley. publicaron un informe en el que describen el diseño de otro tipo de máquina (una máquina paralela en este momento) que debería ser muy rápida. el profesor Neumann que estaba trabajando en la escuela Moore de ingeniería de Filadelfia. pero el informe de Von Neumman inspiró la construcción de la EDSAC (electronic delay-storage automatic calculator) en Cambridge. En 1945. se hizo una revisión al problema en el laboratorio nacional de Física por el profesor J. En 1945. Varias implementaciones exitosas del diseño ACE fueron producidas. von Neumann y Turing. Esta máquina ha sido recientemente completada en América. Señalaron que el problema persistente en la construcción de tal máquina estaba en el desarrollo de una memoria adecuada. así Von Neumman decidió construir una máquina basada en la memoria de Williams. Se le adjuntó al Dr. consiguió mayor circulación y repercusión. 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 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. “Proposed Electronic Calculator”. Turing un pequeño equipo de especialistas. es una máquina de cálculo muy rápido y versátil. M. y en 1947 la planificación 6 . y al principio se sugirió el uso de un tubo especial -llamado Selectron. 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. todos los contenidos de los cuales fueron instantáneamente accesibles. describiendo el Motor de Computación Automático (Automatic Computing Engine. pero aunque es relativamente pequeño en volumen y contiene solo 800 válvulas termoiónicas. asistido por ingenieros de producción de la compañía eléctrica inglesa. capaz de hacer 20. pero al ser anterior el artículo de von Neumann. Burks. 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. R. Estos tubos son caros y difíciles para fabricar. 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). ACE). En 1947. así que la arquitectura de computadoras que esbozó adquirió el nombre de “arquitectura von Neumann”. pero el trabajo en dichas máquinas en el Reino Unido se retrasó por la guerra.que había sido inventado por los laboratorios de Princeton de la RCA. Goldstine y Von Neumann.000 operaciones por segundo. el secretismo mantenido durante muchas décadas acerca de los ordenadores Colossus le impidió manifestarlo. Esa máquina que se completó en junio de 1952 en Princeton se ha conocido como MANIAC I. Turing desarrolló un informe técnico detallado. describían ordenadores de programas almacenados.Posteriormente. 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. Cálculo automático en el laboratorio nacional de física.

Cambiar el programa que contenían los dispositivos que usaban esta tecnología requería reescribir. Existen inconvenientes en el diseño de Von Neumann. Colebrook. Y tras esto llegaba el a veces complicado proceso de reescritura y reestructuramiento físico del computador. Descripción del concepto de programa almacenado Los primeros computadores constaban de programas almacenados. o sea. Esto se volvió menos importante cuando el índice de registros y el direccionamiento indirecto se convirtieron en algo habitual en la arquitectura de computadores. Se pueden "escribir programas para escribir programas". En algunos simples diseños de computador con programas almacenados. Uno de los primeros motivos para su creación fue la necesidad de un programa que incrementara o modificara las direcciones de memoria de algunas instrucciones. El concepto de programa almacenado cambió por completo. las cuales tenían que ser hechas manualmente en los primeros diseños. Otros programas. sobre todo cuando se necesitan procesar grandes cantidades de datos.preliminaria era lo suficientemente avanzada para justificar el establecimiento del grupo especial ya mencionado. se pensó en un computador que en su diseño contenía un conjunto de instrucciones que podían ser almacenadas en memoria. un programa que detallaba la computación del mismo. La CPU se ve forzada 7 . Puede hacer operaciones matemáticas simples. por accidente o por diseño. En la mayoría de computadoras modernas. Cuello de botella de Von Neumann (Von Neumann bottleneck) El canal de transmisión de los datos entre CPU y memoria genera un cuello de botella para el rendimiento del procesador. M. pero no puede ser usada como procesador de textos o videoconsola. la velocidad de comunicación entre la memoria y la CPU es más baja que la velocidad a la que puede trabajar esta última. por ejemplo. bajo el cargo del Sr. estos últimos se convirtieron en la sección de electrónica del laboratorio. empezando con notas en papel y siguiendo con detallados diseños de ingeniería. La tarea de reprogramar. El diseño de un programa almacenado también daba la posibilidad a los programas de ser modificados ellos mismos durante su ejecución. Las modificaciones en los programas podía ser algo perjudicial. la habilidad de tratar instrucciones como datos es lo que hacen los ensambladores. compiladores y otras herramientas de programación automáticas. A gran escala. cuando era posible. El código automodificable fue en gran parte ganando posiciones. posiblemente puedan llevar a un daño total en el ordenador. Algunos muy simples siguen utilizando este diseño. reduciendo el rendimiento del procesador y limitando seriamente la velocidad de proceso eficaz. una calculadora es un computador que tiene un programa almacenado. un mal funcionamiento del programa puede dañar el computador. reestructurar y/o rediseñar el dispositivo. era un proceso laborioso. F. La protección de la memoria y otras formas de control de acceso pueden ayudar a proteger en contra de modificaciones accidentales y/o maliciosas de programas. Los primeros computadores no estaban lo suficiente programados cuando fueron diseñados. o el sistema operativo. En abril de 1948.

Los dos son importantes para la CPU. Si. el término Arquitectura Harvard hacía referencia a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos (en oposición a la Arquitectura de von Neumann). El término “cuello de botella de von Neumann” fue acuñado por John Backus en su conferencia de la concesión de 1977 ACM Turing. ARQUITECTURA DE HARVARD Originalmente. pero a costa de un precio muy alto. no se gana nada incrementando la velocidad de la CPU (este problema es conocido como limitación de memoria). Mientras los datos que necesita el procesador estén en la caché. el rendimiento será mucho mayor que si la caché 8 . La velocidad de procesamiento y la cantidad de memoria han aumentado mucho más rápidamente que el rendimiento de transferencia entre ellos. lo que ha agravado el problema del cuello de botella. y el lugar donde se encuentran almacenados (o dirección).2 El problema de funcionamiento se redujo introduciendo una memoria caché entre la CPU y la memoria principal. sin saber en realidad qué es lo que contienen los datos. así que se debe poner mucha atención en reducir el número de veces que se accede a ella para mantener el rendimiento. Todas las computadoras constan principalmente de dos partes. la CPU que procesa los datos. Está menos claro que el cuello de botella intelectual que Backus ha criticado haya cambiado mucho desde 1977. más importante. En los últimos años la velocidad de las CPUs ha aumentado mucho en comparación a la de las memorias con las que trabaja. Se puede fabricar memoria mucho más rápida. No sólo es un cuello de botella para el tráfico de datos. los datos en sí. La solución propuesta de Backus no ha tenido una influencia importante. por ejemplo. El término proviene de la computadora Harvard Mark I. Entonces la programación es básicamente la planificación del enorme tráfico de palabras que cruzan el cuello de botella de von Neumann. que empujando tantas palabras hacia un lado y otro del cuello de botella de von Neumann. y mejorando los algoritmos del predictor de saltos. sino que. 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. y la memoria que guarda los datos. La solución. Cuando hablamos de memoria manejamos dos parámetros.a esperar continuamente a que lleguen los datos necesarios desde o hacia la memoria. que almacenaba las instrucciones en cintas perforadas y los datos en interruptores. pues muchas instrucciones frecuentes se traducen a algo así como "coge los datos de ésta dirección y añádelos a los datos de ésta otra dirección". por tanto. sino a dónde encontrar éstos. es proporcionar una pequeña cantidad de memoria muy rápida conocida con el nombre de memoria caché. La programación funcional moderna y la programación orientada a objetos se preocupan mucho menos de “empujar tantas palabras hacia un lado y otro” que los anteriores lenguajes como era Fortran. cada instrucción ejecutada en la CPU requiere un acceso a la memoria. y gran parte de ese tráfico no concierne a los propios datos. Según Backus: Seguramente debe haber una manera menos primitiva de realizar grandes cambios en la memoria.

el set de instrucciones y el bus de memoria de programa pueden diseñarse de tal manera que todas las instrucciones tengan una sola posición de memoria de programa de longitud. al ser los buses independientes. lo que optimiza el uso de la memoria en general. o procesador de señal digital. La optimización de la caché es un tema muy importante de cara al diseño de computadoras. y al mismo tiempo leer la siguiente instrucción a ejecutar. Como los buses son independientes éstos pueden tener distintos contenidos en la misma dirección y también distinta longitud. usados habitualmente en productos para procesamiento de audio y video.  El tiempo de acceso a las instrucciones puede superponerse con el de los datos. Esta arquitectura suele utilizarse en DSPs. Ventajas de esta arquitectura:  El tamaño de las instrucciones no está relacionado con el de los datos.tiene que obtener primero los datos de la memoria principal. 9 . Las instrucciones y los datos se almacenan en cachés separadas para mejorar el rendimiento. logrando una mayor velocidad en cada operación. Por otro lado. Ambos buses son totalmente independientes lo que permite que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos y a la de instrucciones. También la longitud de los datos y las instrucciones puede ser distinta. Entonces podemos decir que la arquitectura de computadoras es la parte mas importante del estudio general del computador. logrando así mayor velocidad y menor longitud de programa. Para un procesador de Set de Instrucciones Reducido. y la otra sólo almacena datos (Memoria de Datos). Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa). La arquitectura Harvard ofrece una solución particular a este problema. por lo que funciona mejor sólo cuando la frecuencia de lectura de instrucciones y de datos es aproximadamente la misma. o RISC (Reduced Instrucción Set Computer). y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa. la CPU puede acceder a los datos para completar la ejecución de una instrucción. Además. tiene el inconveniente de tener que dividir la cantidad de caché entre los dos.

En conclusión hay dos formas distintas de construir ordenadores: utilizando una única memoria para datos e instrucciones. en la arquitectura Harvard se propone que el programa esté totalmente separado de los datos con los que trabaja: es decir.CONCLUSIÓN Aunque ya han pasado muchísimos años desde que se fabricaron las primeras computadoras. el programa en una memoria. y los datos en otra memoria independiente. la gran mayoría de computadores sigue utilizando la Arquitectura de Von Neuman. Está claro que se hacía necesario almacenar un programa en forma de una secuencia de instrucciones. pero a diferencia de la arquitectura de Von Neumann. 10 . y ha cambiado la tecnología a emplearse para su construcción. o bien. dos memorias separadas e independientes: una para datos y otra para instrucciones.

org/node/187 http://es.com/articulos/1518-arquitectura-de-von-neumann-y-arquitectura-harvard 11 .org/wiki/Arquitectura_de_von_Neumann http://es.org/wiki/Arquitectura_Harvard http://latecladeescape.BIBLIOGRAFÍA http://seccperu.wikipedia.wikipedia.

Sign up to vote on this title
UsefulNot useful