28 de agosto de 2013

Modelo de Von Neumann

El nacimiento 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 Álamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de 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 datos, escribiéndola de la misma forma, es decir código binario. Su EDVAC fue el modelo de las computadoras de este tipo construidas a continuación. Se habla desde entonces de 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.

En las primeras computadoras (Electrinic Numerical Integrtor And Computer ENIAC) la ejecución de tareas era tediosa debido a que no se contaba con la facilidad de tener tareas, programa y datos al mimos tiempo en la memoria de la computadora, esto llevo a la reflexión de que era posible tener programas, datos y tareas residiendo en una porción de memoria, más tarde utilizado en la EDVAC(Electronic Discrete Variable Computer). En 1946, Von Newmann y sus colaboradores(Princeton Institute for Advanced Studies, por lo que también se le conoció como Computador IAS) diseñaron un modelo de computadora cuya característica principal el Concepto de Programa Almacenado, no fue sino hasta el año de 1952 cuando se termino este diseño que sirvió más adelante como prototipo de las subsecuentes computadoras de propósito general, los componentes de este prototipo son:













  • Una memoria principal, que almacena datos e instrucciones.
  • Una Unidad Aritmética Lógica(ALU), con capacidad para operar con datos binarios.
  • Una Unidad de Control, que interpreta las instrucciones en memoria para su ejecución.
  • Unidades de Entrada / Salida, administra sus operaciones la Unidad de Control

La Máquina de Von Neumann tenía cinco partes básicas: la memoria, la unidad aritmética-lógica, la unidad de control del programa y los equipos o unidades de entrada y salida.

  • Memoria: Constaba de 4096 palabras, cada una con 40 bits. Cada palabra podía contener dos instrucciones de 20 bits o un número entero de 39 bits y su signo. Las instrucciones tenían 8 bits dedicados a señalar el tipo de la misma y 12 bits para especificar alguna de las 4096 palabras de la memoria.
  • Unidad de Control: Es la que supervisaba la transferencia de información y la indicaba a la unidad aritmética lógica cual operación debía ejecutar.
  • Unidad Aritmética Lógica: Es aquella que se encarga de realizar las operaciones aritméticas y lógicas necesarias para la ejecución de una instrucción.
  • Acumulador: 40 bits llamado en acumulador que sirven para:

  1. Recibir datos de entrada.
  2. Enviar datos a la salida.
  3. Guardar el resultado de la última operación.
  4. Una instrucción típica era sumar una palabra de la memoria al acumulador o almacenar este en la memoria.

La arquitectura Von Newman que, si bien no es la primera en aparecer, sí que lo hizo prácticamente desde el comienzo de las computadoras y se sigue desarrollando actualmente. Claro es que está siendo desplazada por otra que permite una mayor velocidad de proceso, la RISC. En los primeros tiempos de las computadoras, con sistemas de numeración decimal, una electrónica sumamente complicada muy susceptible a fallos y un sistema de programación cableado o mediante fichas, Von Newman propuso dos conceptos básicos:

  • La utilización del sistema de numeración binario. Simplificaba enormemente los problemas que la implementación electrónica de las operaciones y funciones lógicas planteaban, a la vez proporcionaba una mayor inmunidad a los fallos.
  • Almacenamiento de la secuencia de instrucciones de que consta el programa en una memoria interna, fácilmente accesible, junto con los datos que referencia. De esta forma la velocidad de proceso experimenta un considerable incremento; recordemos que una instrucción o un dato estaba codificado en una ficha.

Tomando como modelo las máquinas que aparecieron incorporando las anteriores características, la computadora se puede considerar compuesta por las siguientes partes:

  • La unidad central de proceso viene a ser el cerebro de la computadora y tiene por misión efectuar las operaciones aritmético-lógicas y controlar las transferencias de información a realizar. Es la que coordina el funcionamiento conjunto de las demás unidades y realiza los cálculos necesarios; por eso la podemos subdividir en una unidad de control y en una unidad de cálculo o unidad aritmético-lógica.

  • La memoria interna contiene el conjunto de instrucciones que ejecuta la CPU en el transcurso de un programa. Es también donde se almacenan temporalmente las variables del mismo, los datos que se precisan y todos los resultados que devuelve.
  • Las unidades de entrada y salida son las encargadas de la comunicación de la máquina con el exterior, proporcionando al operador una forma de introducir al ordenador tanto los programas como los datos y obtener los resultados.

Un elemento importante del hardware, que contiene una tarjeta de sistema, fuente de poder y ranuras de expansión para tarjetas opcionales. Los elementos de la tarjeta de sistema son microprocesador, memoria de solo lectura y memoria de acceso aleatorio deben estar conectadas; aparece en este momento el concepto de bus: el bus es un conjunto de líneas que enlazan los distintos componentes del ordenador, por ellas se realiza la transferencia de datos entre todos sus elementos.

  • Control: forman parte de él líneas que seleccionan de dónde y a dónde va dirigida la información, también marcan la secuencia de pasos a seguir para la transferencia.
  • Datos: por él, de forma bidireccional, fluyen datos entre elementos de la computadora.
  • De direcciones:La memoria está dividida en pequeñas unidades de almacenamiento que contienen las instrucciones del programa y los datos. El bus de direcciones consta de un conjunto de líneas que permite seleccionar de qué posición de la memoria se quiere leer su contenido.

La forma de operar de la computadora en su conjunto es direccionar una posición de la memoria en busca de una instrucción mediante el bus de direcciones, llevar la instrucción a la unidad central de proceso CPU por medio del bus de datos, marcando la secuencia de la transferencia el bus de control. En la CPU la instrucción se decodifica, interpretando que operandos necesita: si son de memoria, es necesario llevarles a la CPU; una vez que la operación es realizada, si es preciso se devuelve el resultado a la memoria.

Los procesadores varían en velocidad y capacidad de memoria, registros y bus de datos. Un bus de datos transfiere datos entre el procesador, la memoria y los dispositivos externos. Se muestran dichas partes, llamadas genéricamente unidades funcionales debido a que, desde el punto de vista del funcionamiento, son independientes.

El nombre de cada parte nos indica la función que realiza. La unidad de memoria principal se encarga de almacenar las instrucciones que realizará la unidad de control al ejecutar un programa y los datos que serán procesados. La unidad E/S será encargada de comunicación con el exterior a través de los periféricos. Estos periféricos pueden ser: de entrada, como teclados; de salida, como tubos de rayos catódicos, y de entrada y salida, como discos magnéticos. La memoria principal está formada por un conjunto de unidades llamadas palabras. Dentro de cada una de estas palabras se guarda la información que constituye una instrucción o parte de ella, o un dato o parte de un dato. A la cantidad de palabras que forman la Memoria Principal se denomina capacidad de memoria.

Así, cuanto mayor sea el número de palabras mayor será el de instrucciones y datos que se almacenarán. Una palabra está formada de unidades más elementales llamadas bits, del mismo modo que una palabra está formada por letras. Cada bit solo puede guardar dos valores, 0 o 1; por eso se dice que son elementos binarios. El número de bits que forman una palabra se llama longitud de palabra. Por regla, las computadoras potentes tienen memorias con longitud de palabra grande, mientras que las computadoras pequeñas tienen memorias con longitud de palabra menor.

El término arquitectura de Von Neumann se acuñó a partir del memorando First Draft of a Report on the EDVAC 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.


La forma de operar de la computadora en su conjunto es direccionar una posición de la memoria en busca de una instrucción mediante el bus de direcciones, llevar la instrucción a la unidad central de proceso CPU por medio del bus de datos, marcando la secuencia de la transferencia el bus de control. En la CPU la instrucción se decodifica, interpretando que operandos necesita: si son de memoria, es necesario llevarles a la CPU; una vez que la operación es realizada, si es preciso se devuelve el resultado a la memoria.
Los procesadores varían en velocidad y capacidad de memoria, registros y bus de datos. Un bus de datos transfiere datos entre el procesador, la memoria y los dispositivos externos. Se muestran dichas partes, llamadas genéricamente unidades funcionales debido a que, desde el punto de vista del funcionamiento, son independientes.

El nombre de cada parte nos indica la función que realiza. La unidad de memoria principal se encarga de almacenar las instrucciones que realizará la unidad de control al ejecutar un programa y los datos que serán procesados. La unidad E/S será encargada de comunicación con el exterior a través de los periféricos. Estos periféricos pueden ser: de entrada, como teclados; de salida, como tubos de rayos catódicos, y de entrada y salida, como discos magnéticos. La memoria principal está formada por un conjunto de unidades llamadas palabras. Dentro de cada una de estas palabras se guarda la información que constituye una instrucción o parte de ella, o un dato o parte de un dato. A la cantidad de palabras que forman la Memoria Principal se denomina capacidad de memoria.

Así, cuanto mayor sea el número de palabras mayor será el de instrucciones y datos que se almacenarán. Una palabra está formada de unidades más elementales llamadas bits, del mismo modo que una palabra está formada por letras. Cada bit solo puede guardar dos valores, 0 o 1; por eso se dice que son elementos binarios. El número de bits que forman una palabra se llama longitud de palabra. Por regla, las computadoras potentes tienen memorias con longitud de palabra grande, mientras que las computadoras pequeñas tienen memorias con longitud de palabra menor.

El término arquitectura de Von Neumann se acuñó a partir del memorando First Draft of a Report on the EDVAC 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.




No hay comentarios:

Publicar un comentario