VENCEDORES VENCIDOS

domingo, 25 de diciembre de 2011

La máquina de von Newman. El IAS

Una breve historia del ENIAC
La primera generación: los tubos de vacío
ENAC: El ENIAC (Electronic Numerical Integrator And Computer),  diseñado y construido bajo la supervisión de John Mauchly y Jhon Prester Eckert en la universidad de Pennsylvania, fue el primer computador electrónico de propósito general del mundo.
El ENIAC era una máquina decimal y no binaria. Es decir, los números estaban representados en forma decimal y la aritmética se realizaba también en el sistema decimal. Su memoria consistía en veinte “acumuladores”, cada uno capaz de contener un número decimal de diez dígitos. Cada dígito estaba representado por un anillo de diez tubos de vacío. En un momento dado, solo uno de los tubos de vacío estaba en estado ON representando uno de los diez dígitos. Uno de los mayores inconvenientes de ENIAC era que tenía que ser programado manualmente mediante conmutadores y conectando y desconectando cables.

La máquina de von Newman. La tarea de cargar y modificar programas para el ENIAC era extremadamente tediosa. El proceso de programación podría ser más fácil si el programa se representara en una forma adecuada para ser guardado en la memoria junto con los datos. Entonces, un computador podría conseguir sus instrucciones leyéndolas de la memoria, y se podría hacer o modificar un programa colocando los valores en una zona de memoria.  
Esta idea conocida como concepto del programa-almacenado, se atribuye a los diseñadores del ENIAC, sobre todo al matemático Jhon von Newman, que era asesor del proyecto ENIAC.
En 1946 von Newman y sus colegas empezaron, en el instituto para Estudios avanzados de Princeton, el diseño de un nuevo computador de programa-almacenado, que llamaron IAS. El computador  IAS, no completado hasta 1952, es el prototipo de toda una serie de computadores de propósito general.

Estructura general del computador IAS. Consta de:

·         Una memoria principal que almacena tanto datos como instrucciones (hace referencia a instrucciones de máquina, NO instrucciones de lenguaje de alto nivel).
·         Una unidad aritmético-lógica (ALU) capaz de hacer operaciones con datos binarios.
·         Una unidad de control que interpreta las instrucciones en memoria y provoca su ejecución.
·         Un equipo de entrada salida (E/S) dirigido por la unidad de control.



Esta estructura fue esbozada en la primera proposición de von Newman, que merece la pena mencionar en estos momentos:
1.       Primero: como el dispositivo es principalmente un computador, tendrá que realizar las operaciones aritméticas elementales muy frecuentemente. Estas son la suma, la resta, la multiplicación y la división. Es por tanto razonable que contenga elementos especializados solo en estas operaciones.  Tendrá que existir la parte de aritmética central que constituirá la primera parte específica: CA (Central Arithmetical).

2.       Segundo: la secuencia adecuada de las operaciones, debe ser realizado eficientemente por un órgano de control central. Si el dispositivo tiene que ser versatíl, es decir, lo más cercano a servir para todo uso, entonces hay que hacer una distinción entre las instrucciones específicas que se dan y definir un problema particular, y los órganos de control general que se ocupan de que se lleven a cabo estas instrucciones (sean cuales sean). Las primeras deben almacenarse en algún lugar, las otras deben representarse definiendo partes operativas del dispositivo. Con el control central nos referimos solo a esta última función, y los órganos que la realizan forman la segunda parte específica: CC (Central Control).

3.       Tercero: cualquier dispositivo que realice secuencias largas y compicadas de operaciones (concretamente de cálculo) debe tener una memoria considerable.

 La memoria total es la tercera parte específica del dispositivo: M (Memoria).  Las tres partes especificas CA, CC (juntas C)y M corresponden a las neuronas asociativas del sistema nervioso humano. El dispositivo tiene que estar dotado con la habilidad de mantener contacto de entada y salida (sensorial y motor) con medios específicos de este tipo: el medio será llamado el medio de grabación del dispositivo: R (Recording)

4.       Cuarto: el dispositivo tiene que tener órganos para trasferir información a partir de R a sus partes específicas C y M. estos órganos forman su entrada, la cuarta parte específica: I (Input). Veremos que lo mejor es hacer todas las transferencias a partir de R (mediante I) hasta M y nunca directamente a partir de C.

5.       Quinto: el dispositivo tiene que tener órganos para trasferir información a partir de sus partes específicas C y M hacia R. Estos órganos forman su salida, la quinta parte específica: O (Output). Veremos que lo mejor es hacer todas las transferencias a partir deM (mediante O) a R, y nunca a partir de C.



Salvo raras excepciones, todos los computadores de hoy en día tienen la misma estructura general y funcionamiento que las máquinas de von Newman. Por eso, merece la pena describir brevemente  la manera de operar del computador IAS.
La memoria del IAS consiste en 1000 posiciones de almacenamiento, llamadas palabras, de cuarenta dígitos binarios (bits) cada una (No hay una definición universal del término palabra. En general una palabra es un conjunto ordenado de bytes o bits que representa la unidad básica de almacenamiento de información que se puede almacenar, trasmitir o con la que se puede operar en un determinado computador, normalmente, si un procesador tiene un conjunto de instrucciones de longitud fija, entonces la longitud de las instrucciones es igual a la longitud de la palabra).Tanto los datos como las palabras se almacenan ahí. Por tanto, los números se pueden representar en forma binaria y cada instrucción tiene también un código binario. Cada número se representa con un bit de signo y 39 bits de valor. Una palabra puede contener también dos instrucciones de veinte bit, donde cada instrucción consiste en un código de operación de ocho bits (codop) que especifica la operación que se va a realizar y una dirección de doce bits que indica una de las palabras de la memoria (numeradas de 0 a 99).



 La unidad de control dirige al IAS captando instrucciones de la memoria y ejecutando una a una.
Para explicar esto, se necesita un diagrama de estructura más detallado. 


Esta figura nos muestra que tanto la unidad de control como la ALU contienen posiciones de almacenamiento, llamadas registros, de finidos de la siguiente manera:
El IAS opera ejecutando rápidamente un ciclo de instrucción. Cada ciclo de instrucción consta de dos subciclos. Durante el ciclo de captación, el codop de la siguiente instrucción es cargado en el IR y la parte que contiene la dirección es almacenada en el MAR. Esta instrucción puede ser captada desde el IBR, o puede ser obtenida de la memoria cargando una palabra en el MBR, y luego en IBR, IR y MAR.
¿Por qué la indirección? Todas estas operaciones están controladas por circuitos electrónicos, y dan lugar al uso de caminos de datos. Para simplificar la electrónica, se usa un solo registro para especificar la dirección en memoria para lectura o escritura, y un solo registro para la fuente o el destino.
Una vez que el codop está en el IR, se lleva a cabo el ciclo de ejecución. Los circuitos de control interpretan el codop y ejecutan la instrucción enviando las señales de control adecuadas para provocar que los datos se transfieran o que la ALU realice una operación.



El computador IAS tiene un total de 21 instrucciones, estas se pueden agrupar de la siguiente manera: 


La parte de codop (los ocho primeros bits) especifican cual de las 21 instrucciones va a ser ejecutada. La parte de la dirección (los doce bits restantes) especifican cual de las 1000 posiciones de memoria está implicada. 



















No hay comentarios:

Publicar un comentario