martes, 11 de diciembre de 2007

ARQUITECTURA VON NEUMANN:

Los primeros computadores se programaban en realidad recableándolos. Esto prácticamente equivalía a reconstruir todo el computador cuando se requería de un nuevo programa. La tarea era simplificada gracias a un panel de contactos (muy similar al de los primeros conmutadores telefónicos que eran atendidos por operadoras, y que hoy en día sólo llegamos a ver en viejas películas en blanco y negro) con el que era posible enlazar circuitos para crear secciones dedicadas a una actividad específicas. La programación del computador se llevaba a cabo, literalmente, reconstruyéndolo.
Mientras que el recablear al computador establecía una clara distinción entre los datos (representados por los estados o señales eléctricas que serín mantenidas por los relevadores o a través de los bulbos que conformaban al computador) y el programa (las conexiones que serían establecidas entre estos componentes del hardware) la labor de "programación" requería sino del propio creador del computador si a un verdadero experto y conocedor de electrónica, principios de lógica digital y del problema mismo. Esto vino a cambiar con el concepto del programa almacenado, un concepto teórico muy importante que fue establecido por el matemático John von Neumann el 30 de junio de 1945 en un borrador sobre el diseño de la EDVAC. A diferencia de los primeros computadores, von Neumann proponía que tanto el programa como sus datos fueran almacenados en la memoria del computador. Esto no solo simplificaba la labor de programación al no tener que llevar a cabo el recableado del computador sino que además libraba y generalizaba el diseño del hardware para hacerlo independientede cualquier problema y enfocado al control y ejecución del programa. Este concepto fue tan importante y decisivo que dio lugar al concepto de la arquitectura de von Neumann, aún presente en nuestros días.

La arquitectura de von Neumann se compone de tres elementos:

1.-La Unidad Central de Procesamiento (CPU, por sus siglas en inglés), que es considerada como el cerebro y corazón del computador. Internamente consiste de una Unidad Aritmético-Lógica (ALU), un conjunto de registros y una Unidad de Control (CU). La ALU es donde se realizan todas las operaciones que involucran un procesamiento matemático (particularmente aritmético) o lógico (operaciones booleanas). Los registros permiten el almacenammiento de datos para estas operaciones y sus resultados. En la CU es donde se ejecutan todo el resto de las operaciones (decisión, control, movimiento de datos). Una CPU con todos estos elementos implementada en un solo chip recibe el nombre de microprocesador.

2.-La memoria, que es donde datos y programa es almacenado. La memoria puede ser visto como un arreglo unidimensional finito en la que cada localidad es identificada por un valor asociado a su posición y que es comunmente llamado dirección. Existen diversos tipos de memoria, identificados por el tipo de tecnología usada, aunque para un computador son generalmente clasificadas en dos grandes grupos por tipo de uso al que de destina. La memoria RAM (Random Access Memory, Memoria de Acceso Aleatorio) y que es aquella destinada al almacenamiento de datos y programas (incluyendo al sistema operativo), es considerada temporal o de tipo volátil ya que pierde si contenido cuendo el computador es apagadoo reinicializado. La memoria ROM es aquella de tipo permanente, aun cuando el computador sea desenergizado mantendrá su contenido. Es usada principalmente para el almacenamiento de pequeños programas destinados a la adminsitración básica de recursos, especialmente de entrada y salida.

3.-Las interfaces de entrada y salida (I/O). destinadas a liberar de trabajo a la CPU en la comunidación con dispositivos de entrada (teclados, ratones), salida (impresoras) y entrada-salidas (discos, cintas).
Estos tres elementos están interconectados a través de un conjunto de líneas que llevan instrucciones (control bus), datos (data bus) y que permiten dar los valores de direcciones de memoria y dispositivos (memory bus).

La unidad de control de la IAS trae instrucciones de la memoria y las ejecuta una por una. La figura 1 muestra que tanto la unidad de control como la ALU contienen localidades de almacenamiento llamadas registros, definidos de la siguiente manera:
· Registro Temporal de Memoria “Buffer” (MBR): Contiene una palabra que debe ser almacenada en memoria, o recibe una palabra procedente de la memoria.
· Registro de Dirección de Memoria (MAR): Especifica la dirección de memoria de la palabra que va a ser escrita o leída en MBR.
· Registro de Instrucción (IR): Contiene el código de operación de la instrucción que se va a ejecutar.
· Registro Temporal de Instrucción (IBR): Almacena temporalmente la instrucción contenida en la parte derecha de una palabra.
· Contador de Programa (PC): Contiene la dirección de la siguiente pareja de instrucciones que se traerán de memoria.
· Acumulador (AC) Multiplicador Cociente (MQ): Se emplean para almacenar temporalmente operandos y resultados de operaciones de la ALU.

Virtualmente todas las computadoras se han diseñado basándose en los conceptos desarrollados por von Neumann. Tal diseño se conoce como Arquitectura de von Neumann y se basa en tres conceptos clave:
· Los datos y las instrucciones se almacenan en una sola memoria de lectura - escritura.
· Los contenidos de esta memoria se direccionan indicando su posición, sin considerar el tipo de dato contenido en la misma.
· La ejecución se produce siguiendo una secuencia de instrucción tras instrucción (a no ser que dicha instrucción se modifique explícitamente).

No hay comentarios: