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:
- Recibir datos de entrada.
- Enviar datos a la salida.
- Guardar el resultado de la última operación.
- 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