-1 La arquitectura de Von Neumann. Los primeros computadores se programaban en realidad recableándolos. E sto 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. Ver fig.) 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. La ENIAC (Electronic Numerical Integrator And Computer) fue la primera computadora electrónica de uso general en el mundo. Uno de los inconvenientes más grandes de la ENIAC era que tenia que ser programada manualmente mediante conmutadores y conectando y desconectando cables. ENIAC, Primer computador electrónico y su panel de conexiones El proceso de programación podría ser más fácil si el programa se representará en una forma adecuada para ser guardado en la memoria junto con los datos. Entonces, la computadora conseguiría sus instrucciones leyéndolas de la memoria, y se podría hacer o modificar un programa escribiendo en una zona de memoria. E sta idea conocida como concepto de programa almacenado, se atribuye a los diseñadores de la ENIAC, sobre todo al matemático John von Neumann. 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ían 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. E sto 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 E D VA C. A diferencia de los primeros computadores, Von Neumann proponía que tanto el programa como sus datos fueran almacenados en la memoria del computador. E sto 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 independiente de cualquier problema y enfocado al control y ejecución del programa. E ste concepto fue tan importante y decisivo que dio lugar al concepto de la arquitectura de Von Neumann, aún presente en nuestros días. John Von Neumann junto a E D VA C. Como decía anteriormente, en 1946 Von Neumann y colegas empezaron el diseño de la nueva computadora que llamaron IA S y que fue terminada hasta 1952, siendo el prototipo de toda una secuencia de computadoras de uso general. La memoria de la IA S consiste de 1000 localidades de almacenamiento, llamadas palabras de 40 bits, guardando tanto instrucciones como datos. Cada palabra podía contener un número representado con un bit de signo y 39 de magnitud, o bien dos instrucciones de 20 bits cada una. La unidad de control de la IA S 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” (MB R): Contiene una palabra que debe ser almacenada en memoria, o recibe una palabra procedente de la memoria. · Registro de Dirección de Memoria (MA R): E specifica la dirección de memoria de la palabra que va a ser escrita o leída en M B R. · 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). 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 boleanas). Los registros permiten el almacenamiento de datos para estas operaciones y sus resultados. En la C U es donde se ejecutan todo el resto de las operaciones (decisión, control, movimiento de datos). Una C PU 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 comúnmente 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 R AM (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 su contenido cuando el computador es apagado o reinicializado. La memoria R O M es aquella de tipo permanente, aun cuando el computador sea desenergizado mantendrá su contenido. E s usada principalmente para el almacenamiento de pequeños programas destinados a la administració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 C P U en la comunicación con dispositivos de entrada (teclados, ratones), salida (impresoras) y entrada-salidas (discos, cintas). E stos 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). E squema de la arquitectura de Von Neumann.