Arquitectura de von Ne



Descargar 217.37 Kb.
Página1/3
Fecha de conversión03.03.2017
Tamaño217.37 Kb.
  1   2   3
La arquitectura de von Neumann es una familia de 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 interrupciones de dispositivos externos como ratón, teclado, etc).

Índice


  • 1 Origen

  • 2 Organización

  • 3 Origen de término Arquitectura Von Neumann

  • 4 Desarrollo del concepto de programa almacenado

  • 5 Descripción del concepto de programa almacenado

  • 6 Cuello de botella de Von Neumann (Von Neumann bottleneck)

  • 7 Primeros ordenadores basados en arquitecturas von Neumann

  • 8 Primeros ordenadores de programa almacenado

  • 9 Véase también

  • 10 Referencias

Origen[editar · editar código]

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. Éste trabajaba en 1945 en el Laboratorio Nacional Los Álamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de Albert Einstein, Kurt Gödel y Alan Turing en Princeton, Von Neumann se interesó por el problema de la necesidad de reconfigurar 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 laarquitectura de Von Neumann, aunque también diseñó otras formas de construcción. 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.

Organización[editar · editar código]

Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica 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 instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de 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 unidad de 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', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.

Origen de término Arquitectura Von Neumann[editar · editar código]

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.1

Desarrollo del concepto de programa almacenado[editar · editar código]

Artículo principal: 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 1936titulado “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 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. Cuándo 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. Ésta 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 sólo el nombre de von Neumann escrito en él, para consternación de Eckert y Mauchly. El artículo fue leído por docenas de compañeros 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 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á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 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 MANIAC 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 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 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[editar · editar código]

Los primeros computadores constaban de programas almacenados. Algunos muy simples siguen utilizando este diseño, por ejemplo, una calculadora es un computador que tiene un programa almacenado. Puede hacer operaciones matemáticas simples, pero no puede ser usada como procesador de 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 computadores no estaban lo suficiente programados cuando fueron diseñados. La tarea de reprogramar, cuando era posible, era un proceso laborioso, empezando con notas en papel y siguiendo con detallados diseños de ingeniería. Y tras esto llegaba el a veces complicado proceso de reescritura y reestructuramiento físico del computador.

El concepto de programa almacenado cambió por completo, se pensó en un computador que en su diseño contenía un conjunto de instrucciones que podían ser almacenadas en 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 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 registros y el direccionamiento indirecto se convirtieron en algo habitual en la arquitectura de computadores. El código 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 de programación automáticas. Se pueden "escribir programas para escribir programas".

Existen inconvenientes en el diseño de Von Neumann. Las modificaciones en los programas podía ser algo perjudicial, por accidente 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, o el sistema 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)[editar · editar código]

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 y la CPU es más 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 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 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 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 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, y gran parte de ese tráfico no concierne a los propios datos, sino a dónde encontrar éstos.2

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 solución propuesta de Backus no ha tenido una influencia importante. 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.

INTRODUCCIÓN

La hombre en su interminable afán por facilitarse la vida, hace que su genio inventor diseñe artefactos, maquinas y sistemas que efectúen cálculos y realicen labores que parecen engorrosas. La automatización consiste en reemplazar al hombre por una máquina para ejecución de una tarea, y se ha venido desarrollando casi a la par con la historia de la humanidad.

Dentro de estas máquinas creadas por el hombre, tenemos al computador que es un dispositivo con él cual se pueden realizar tareas muy diversas, cargando distintos programas en la memoria para que los ejecute el procesador. Buscando siempre optimizar los procesos, ganar tiempo, hacerlo más fácil de usar y simplificar las tareas rutinarias.

Las computadoras esta formada por una estructura que data de los años 40 pero que aun sigue en la mayoría de las PC’s de la actualidad, nos referimos a la arquitectura Von Neumann, se refiere a las arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard). El término se acuñó en el documento First Draft of a Report on the EDVAC (1945), escrito por el conocido matemático John Von Neumann, que propuso el concepto de programa almacenado. Dicho documento fue redactado en vistas a la construcción del sucesor de la computadora ENIAC.

En el presente se sigue usando esta estructura solo con algunas modificaciones.

Computadora Von Neumann

Una computadora (Hispanoamérica) u ordenador (España) es un dispositivo electrónico compuesto básicamente de un procesador, memoria y dispositivos de entrada/salida (E/S). La característica principal de la computadora, respecto a otros dispositivos similares, como una calculadora no programable, es que con él se pueden realizar tareas muy diversas, cargando distintos programas en la memoria para que los ejecute el procesador. Siempre se busca optimizar los procesos, ganar tiempo, hacerlo más fácil de usar y simplificar las tareas rutinarias.

http://www.monografias.com/trabajos28/arquitectura-von-neumann/image341.jpghttp://www.monografias.com/trabajos28/arquitectura-von-neumann/image342.jpg

Una Apple IIc Pascal Macintosh Classic (1990)

Los dispositivos de entrada/salida (también llamados periféricos) sirven para intercambiar información con el exterior. Una computadora normalmente utiliza un programa informático especial denominado sistema operativo diseñado, construido y probado para gestionar los recursos de la computadora: memoria, dispositivos de E/S, dispositivos de almacenamiento (discos duros, unidades de DVD y CD).

Una computadora es cualquier dispositivo usado para procesar información de acuerdo con un procedimiento bien definido. Sin embargo, la definición anterior incluye muchos dispositivos de usos específicos que sólo pueden realizar una función o un número determinado de funciones.

Si pensamos en las computadoras modernas, la característica más importante que los distingue de los aparatos anteriores es que tienen unaprogramación adecuada. Con cualquier computadora se puede emular el funcionamiento de otro (únicamente limitado por la capacidad de almacenamiento de datos y las diferentes velocidades), y, de hecho, se cree que con las actuales computadoras se puede emular a cualquier computadora que se invente en el futuro (aunque sean mucho más lentos).

Por lo tanto, en cierto sentido, esta capacidad crítica es una prueba muy útil, para identificar las computadoras de uso general de los aparatos destinados a usos específicos. Esta característica de poderse emplear para un uso general, se puede formalizar en una regla según la cual con una máquina de estas características, se debe poder emular el funcionamiento de una máquina de Turing universal. Las máquinas que cumplan con esta definición son homologables a la máquina de Turing.

Originariamente, el procesamiento de la información estaba relacionado de manera casi exclusiva con problemas aritméticos, pero las computadoras modernas son usadas para muchas tareas diferentes normalmente sin ninguna relación con las matemáticas.

Sin embargo, en los últimos 20 años aproximadamente, muchos aparatos domésticos, sobre todo las consolas para videojuegos, a las que hay que añadir los teléfonos móviles, los vídeos, los asistentes personales digitales (PDA) y un sinfín de aparatos caseros, industriales, para coches y electrónicos, tienen circuitos homologables a la máquina de Turing (con la limitación de que la programación de estos aparatos está instalada en un chip de memoria ROM que hay que remplazar cada vez que queremos cambiar la programación).

Esta especie de computadoras que se encuentran dentro de otras computadoras de uso general son conocidos como microcontroladores o computadores integrados. Por lo tanto, muchas personas han restringido la definición de computadoras a aquellas máquinas cuyo propósito principal sea el procesamiento de información y que puedan adaptarse a una gran variedad de tareas cara al usuario, sin ninguna modificación física, excluyendo a aquellos dispositivos que forman parte de un sistema más grande como los teléfonos, microondas o aviones. Tradicionalmente existen tres tipos de computadoras que cumplen con estos requisitos: las computadoras centrales, las minicomputadoras y las computadoras personales.

Las computadoras con arquitectura Von Neumann se refiere a las arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard). El término se acuñó en el documento First Draft of a Report on the EDVAC (1945), escrito por el conocido matemático John Von Neumann, que propuso 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 Presper Eckert, John Mauchly, Arthur Burks, y otros durante varios meses antes de que Von Neumann redactara el borrador del informe.

Los ordenadores con arquitectura Von Neumann constan de las siguientes partes:

http://www.monografias.com/trabajos28/arquitectura-von-neumann/image343.gif

La unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio detransporte de los datos entre las distintas partes.

Un ordenador con arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente:

1) 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.

2) Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.

3) Descodifica 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.

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', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.

5) Vuelve al paso N° 1.

Procesador

Conjunto de circuitos electrónicos altamente integrado para cálculo y control computacional, es utilizado como Unidad Central de Proceso en un sistema microordenador y en otros dispositivos electrónicos complejos como cámaras fotográficas , impresoras, etc. y como añadido en pequeños aparatos extraíbles de otro aparato más complejo como por ejemplo: equipos musicales de automóviles, etc.

Los procesadores modernos están integrados por millones de transistores y otros componentes empaquetados en una cápsula cuyo tamaño varía según su las necesidades de las aplicaciones a las que van dirigidas, y que van actualmente desde el tamaño de un grano de lenteja hasta el de casi una galleta. Las partes lógicas que componen un procesador son, entre otras: unidad aritmético-lógica, registros de almacenamiento , unidad de control , Unidad de ejecución , memoria caché y buses de datos control y dirección .

En años anteriores existían varias marcas de procesadores: Intel de procesadores: Intel (Integrated Electronics), Amd (Advanced Micro Devices) y Cyrix, en la actualidad solo quedan los dos primeros ya que Cyrix dejo de fabricar procesadores, y fue vendida a Nacional Semiconductor; posteriormente Amd se encargaría de comprar Geode Business (Antigua Cyrix).

Procesadores Intel

Dentro de la familia de los procesadores que Intel ha fabricado a lo largo de su historia están los procesadores x86, entre los cuales podemos mencionar los 286, 386, 486, 586, 686.

La velocidad de los procesadores se mide en Megahertz (MHz =Millones de ciclos por segundo).

Este parámetro indica el número de ciclos de instrucciones que el procesador realiza por segundo, pero sólo sirve para compararlo con procesadores del mismo tipo.

Parámetros significativos de un procesador son su ancho de bus, medido en bits y la frecuencia de reloj a la que trabajan, medida en hertzios, tamaño de memoria caché medido en Kb (kilobytes).

http://www.monografias.com/trabajos28/arquitectura-von-neumann/image344.jpg

  1   2   3


La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal