Arquitectura de Von Neumann

March 24, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Arquitectura de Von Neumann...

Description

 

Arquitectura de von Neumann

Diagrama de la arquitectura Von Neumann. arquitectura de von Neumann es una familia de  La de arquitecturas de computadoras computadoras   quelos utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para Harvard)). datos (a diferencia de la  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  las  interrupciones  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  proyecto ENIAC ENIAC  del matemático de origen húngaro,  húngaro, John Von Neumann Neumann.. Este trabajaba en 1945 en el de Laboratorio Los Álamos se ,encontró con yuno deTuring  los  en Einstein,  Kurt Gödel  Gödel  Alan Turing constructores la ENIAC.Nacional Compañero de Albertcuando de  Einstein Princeton, 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  el  UNIVAC I, I,  fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.

 

Organización aritmético-lógica   Los ordenadores con esta arquitectura constan de cinco partes: La  La unidad aritmético-lógica o ALU, ALU, la  la unidad de control, control, la la  memoria memoria,, un un  dispositivo de entrada/salida  entrada/salida y el  el  bus bus de datos 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 instrucción desde la memoria en la dirección  el contador de programa programa  y la guarda en el  el registro de dirección indicada por el  instrucción..  instrucción 2.  Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente. 3.  Decodifica la instrucción mediante la  la unidad de control. control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada. 4.  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', pueden alcanzar cualquier grado de complejidad, mediante la aritmética y que lógica anteriores.

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  the EDVAC   EDVAC  (1945) 1945) escrito por el conocido matemático  matemático John von Neumann  Neumann en el almacenado.. Dicho documento fue redactado en que se proponía el concepto de  de   programa programa almacenado computadora  ENIAC ENIAC  y su contenido fue vistas a la construcción del sucesor de la  la  computadora Eckert,, John William Mauchly, Mauchly, Arthur Burks  Burks y otros durante desarrollado por  John Presper Eckert varios meses antes de que von Neumann redactara el borrador del informe. Es por ello que otros tecnólogos como  como David A. Patterson  Patterson y John L. Hennessy Hennessy  promueven  promueven la sustitución de 1

este término por el de arquitectura Eckert-Mauchly.  

Desarrollo del concepto de programa almacenado Turing,, quien había sido alertado de un problema de lógica matemática El matemático  matemático Alan Turing  por las lecciones de Max Newman en la  la Universidad de Cambridge, Cambridge, escribió un artículo en 1936  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 tenía un

almacenamiento infinito (memoria en la terminología actual) que contenía tanto las instrucciones como los datos. El ingeniero alemán  alemán  Konrad Zuse  Zuse escribió de forma independiente sobre este concepto en 1936.  1936. Von Neumann 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  Princeton en 1936-37. Cuándo supo del artículo de 1936 de Turing no está claro. Independientemente, J. Presper Eckert Independientemente,  Eckert  y John Mauchly Mauchly,, quienes estaban desarrollando el ENIAC  la  Universidad de Pennsylvania Pennsylvania,,  ENIAC en la Escuela Moore de Ingeniería Eléctrica en la escribieron sobre el concepto de “ programa almacenado ” en diciembre de 1943. Mientras diseñaba una nueva máquina,  máquina, EDVAC, 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. Neumann  estaba involucrado en el el  Proyecto Manhattan Manhattan  en el Laboratorio Nacional Von Neumann 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  ENIAC, 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  compañero Goldstine lo hizo circular con solo el nombre de von Neumann en él,  para consternación de Eckert y Mauchly. El artículo fue fu e leído por docenas de compañe compañeros ros 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  al Laboratorio Nacional de Física Británico  Británico el 19 de febrero de 1946. 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 Colossus  le impidió manifestarlo. Varias implementaciones exitosas del diseño ordenadores  Colossus ordenadores ACE fueron producidas. Los trabajos depero ambos, Neumann y Turing, describían ordenadores programas almacenados, al servon anterior el artículo de von Neumann, consiguióde 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 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 delay-stora ge 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áquina 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 desar rollo 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  como  MANIAC I. I.  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. 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 p or 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. En 1945, se hizo una revisión al problema en el laboratorio nacional de Física por el  profesor J. R. Womersley. Se le adjuntó al Dr. Turing Tur ing un 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 sección de electrónica del laboratorio, bajo el cargo del Sr. F. M. Colebrook.

Descripción del concepto de programa almacenado Los primeros  primeros computadores  computadores constaban de programas almacenados. Algunos muy simples calculadora  es un computador que tiene un siguen utilizando este diseño, por ejemplo, una  una calculadora  programa almacenado. Puede hacer operaciones oper aciones matemáticas simples, pero no puede ser  usada como  como procesador  procesador de textos  textos  o videoconsola. Cambiar el programa que contenían los dispositivos que usaban esta tecnología requería reescribir, reestructurar y/o rediseñar el dispositivo. Los primeros  primeros computadores  computadores no estaban lo suficiente programados cuando fueron diseñados. La tarea de reprogramar, cuando era  posible, era un proceso laborioso, empezando empez ando con notas en papel y siguiendo con detallados ingeniería.. Y tras esto llegaba el a veces complicado proceso de reescritura y diseños de  de ingeniería reestructuramiento físico del computador.

 

El concepto de programa almacenado cambió por completo, se pensó en un  un  computador   instrucciones  que podían ser almacenadas en que en su diseño contenía un  un conjunto de instrucciones memoria, o sea, un programa que detallaba la computación del mismo. El diseño de un programa almacenado también daba la posibilidad a los  los   programas  programas de ser  modificados ellos mismos durante su ejecución. 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, las cuales tenían que ser hechas manualmente en los  primeros diseños. Esto se volvió menos importante cuando el índice de  de registros  registros y el direccionamiento computadores.. El código indirecto se convirtieron en algo habitual en la  la arquitectura de computadores automodificable fue en gran parte ganando posiciones. A gran escala, la habilidad de tratar instrucciones como datos es lo que hacen los ensambladores, compiladores  ensambladores, compiladores y otras herramientas de programación automáticas. Se  pueden "escribir programas para escribir escr ibir programas". Neumann.. Las modificaciones en los Existen inconvenientes en el diseño de  de Von Neumann  programas podía ser algo perjudicial, por accidente accident e o por diseño. En algunos simples diseños de computador con programas almacenados, un mal funcionamiento del programa  puede dañar el computador. Otros programas, programas , o el  el sistema operativo operativo,, posiblemente puedan llevar a un daño total en el ordenador. 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.

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. En la mayoría de computadoras modernas, la velocidad de comunicación entre la memoria el y larendimiento CPU es más que la velocidad a laseriamente que puede la trabajar esta última, reduciendo delbaja procesador y limitando velocidad de proceso eficaz, sobre todo cuando se necesitan procesar 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 más rápidamente que el rendimiento de transferencia entre ellos, lo que ha agravado el problema del cuello de botella. El término “cuello de botella de von Neumann” fue acuñado por  John Backus Backus  en su

conferencia de la concesión de 1977 ACM Turing. Según Backus:

 

Seguramente debe haber una manera menos primitiva de realizar grandes cambios en la memoria, que empujando tantas  tantas  palabras  palabras hacia un lado y otro del cuello de botella de von  Neumann. No sólo es un cuello de botella para el tráfico de datos, sino s ino que, más 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 programación es básicamente la planificación del enorme tráfico de  palabras que cruzan el cuello de botella de von Neumann, Ne umann, y gran parte de ese tráfico no concierne a los propios datos, sino a dónde encontrar éstos. éstos .2  caché  entre la CPU y El problema de funcionamiento se redujo introduciendo una  una  memoria caché 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 solución propuesta de Backus no ha tenido una influencia importante. La  programación funcional moderna y la programación programa ción orientada a objetos se preocupan mucho menos de “empujar tantas palabras hacia un lado y otro” que los anteriores lenguajes como era  era Fortran. Fortran. 

Primeros ordenadores basados en arquitecturas von Neumann La primera saga se basaba en un diseño que fue utilizado por muchas universidades y empresas para construir sus equipos. Entre estos, sólo ILLIAC y ORDVAC tenían un conjunto de instrucciones compatible.  



         

 

  



             



   



ORDVAC ORDVAC  (U-Illinois) en  en Aberdeen Proving Ground, Ground, Maryland (completado en noviembre de 1951) IAS machine  machine en Princeton University (Ene 1952) I en Laboratorio Científico Los Alamos(Mar 1952) MANIAC I  ILLIAC  ILLIAC en la Universidad de Illinois, (Sept 1952) AVIDAC  AVIDAC en Laboratorios Argonne National (1953) ORACLE  ORACLE en Laboratorio Nacional de Oak Ridge (Jun 1953) JOHNNIAC  JOHNNIAC  en RAND Corporation (Ene 1954) BESK   en Estocolmo (1953) BESM-1  BESM-1 en Moscú (1952) DASK  en Dinamarca (1955) PERM  en Munich (1956?) PERM SILLIAC SILLIAC  en Sydney (1956) WEIZAC  en Rehovoth (1955) WEIZAC

 

Arquitectura Harvard

Arquitectura Harvard. Originalmente, el término Arquitectura Harvard hacía referencia a las  las arquitecturas de computadoras  que utilizaban dispositivos de almacenamiento físicamente separados para computadoras las instrucciones y para los datos (en oposición a la  la  Arquitectura de von Neumann) Neumann). El término proviene de la computadora  computadora Harvard Mark II,, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores. CPU  que procesa los Todas las computadoras constan principalmente de dos partes, la  la  CPU datos, y la  la memoria memoria  que guarda los datos. Cuando hablamos de memoria manejamos dos dirección)). Los  parámetros, los datos en sí, y el lugar donde se encuentran en cuentran almacenados (o  (o dirección dos son importantes para la CPU, 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", sin saber en realidad qué es lo que contienen los datos. 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, así que se debe poner mucha atención en reducir el número de veces que se accede a ella para mantener el rendimiento. Si, por ejemplo, cada instrucción ejecutada en la CPU requiere un acceso a la memoria, no se gana nada incrementando la velocidad de la CPU (este problema es conocido como limitación de memoria). Se puede fabricar memoria mucho más rápida, pero a costa de un precio muy alto. La solución, por tanto, es proporcionar una pequeña cantidad de memoria muy rápida conocida con el nombre de  de memoria caché caché.. Mientras los datos que necesita el procesador estén en la caché, el rendimiento será mucho mayor que si la caché tiene que obtener primero los datos

 

de la memoria principal. La optimización de la caché es un tema muy importante de cara al diseño de computadoras. La arquitectura Harvard ofrece una solución particular a este problema. Las instrucciones y los datos se almacenan en cachés separadas para mejorar el rendimiento. Por otro lado, tiene el inconveniente de tener que dividir la cantidad de caché entre los dos, por lo que funciona mejor sólo cuando la frecuencia de lectura de instrucciones y de datos es aproximadamente la misma. Esta arquitectura suele utilizarse en DSPs, o  o  procesador  procesador de señal digital, digital, usados habitualmente en productos para procesamiento de audio y video. Arquitectura Harvard:  Harvard: Este modelo, que utilizan los Microcontroladores PIC, 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.

Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra sólo almacena datos (Memoria de Datos). 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. Como los buses son independientes estos pueden tener distintos contenidos en la misma dirección y también distinta longitud. Tambien la longitud de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la memoria en general. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), 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. Además, al ser los buses independientes, la CPU puede acceder a los datos para completar  la ejecución de una instrucción, y al mismo tiempo leer la siguiente instrucción a ejecutar. Ventajas de esta arquitectura:  * El tamaño de las instrucciones no esta relacionado con el de los datos, y por lo tanto

 puede ser  optimizado para que cualquier instrucción ocupe una sola posición de memoria de  programa,

 

logrando así mayor velocidad y menor longitud de programa. * El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operación.

Modelo o Arquitectura de Harvard   Luego de estudiar la arquitectura de Von Neumann podemos observar que tiene un solo bus para los datos de memoria y programas, lo cual produce la sobrecarga del bus para llevar las distintas instrucciones al CPU, ya que exige varios accesos a memoria; limitación que es superada por la arquitectura de Harvard la cual consiste en dos memorias que están conectadas al CPU por  medio de sistemas de buses completamente independientes (separados), una de las memorias es encargada solo de almacenar datos (Memoria de Datos) mientras que la otra es la responsable de llevar las instrucciones de los programas (Memoria de Programa), gracias a estas memorias el tiempo de desempeño mejora ya que es posible acceder a programas y datos a la misma vez (la instrucción es llevada a l CPU en una sola entrada a la Memoria de Programa, mientras el bus de datos esta libre entra a él para obtener  los datos necesarios para la realización de la instrucción.

Ventajas y desventajas:

La gran ventaja de este modelo es que se pueden ejecutar al mismo tiempo tanto accesos como también a los bancos de datos, agilizando las operaciones; y que el tamaño de las instrucciones no están asociadas con los datos lo cual lleva a que la instrucción ocupe una sola posición en la memoria de programa. Además el tiempo de acceso a las operaciones puede superponerse con el de los datos.  Aunque este modelo de Harvard supero las limitaciones de Von Neumann también tiene un gran inconveniente o desventaja la cual es la mayor complicación estructural, ya que exige el uso de múltiples sistemas de buses.  

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF