# IBM 7090

La computadora 7090 fue creada a finales de 1958 por IBM (International Business Machines).

## Introducción

Su antecesor, IBM 709, usaba tubos de vacío pero en la IBM 7090 se usaron ya transistores, consiguiendo unas velocidades seis veces superiores que su antecesora. Y mucha más diferencia en la velocidad se observaba con la IBM 704 que era menos potente. Las primeras instaladas datan de finales de 1959. Era compatible con muchos de los programas creados para 704 y compartía parte del conjunto de instrucciones de la 709.
La IBM 7090 se creó como una computadora de propósito general, pero, como todas las computadoras de su época, su diseño prestó importancia a la velocidad en el cálculo científico. También se usó para negocios como controlador del stock, contabilidad de las empresas, etc.
En 1965 ya se habían vendido más de 300 IBM 7090/94, con un precio que rondaba los tres millones de dólares.

## Registros

Los registros podían ser directamente direccionables y visibles por el programador y otros no podían ser modificados directamente por el programador sino que era la propia máquina la que los modificaba. Los bits se leían de izquierda a derecha.
En la siguiente tabla se muestran los registros no direccionables:
| Nombre | Longitud | Descripción |
| Contador de instrucciones | 15 bits | Apunta a la siguiente instrucción a ejecutar |
| Registro de direcciones | 15 bits | Contiene al dirección de las instrucciones |
| Registro de almacenamiento | 36 bits | Registro donde se colocan los datos leídos de memoria antes de ser usados |
| Registro de instrucciones | 18 bits | Registro donde se almacena la instrucción cuando está ejecutándose |
En la siguiente tabla se muestran los registros direccionables:
| Nombre | Longitud | Descripción |
| AC (Registro Acumulador) | 38 bits | Se usa para realizar operaciones como la suma y la resta, donde un operando se almacena en el registro acumulador y el otro operando en otro registro distinto, quedando el resultado en el registro acumulador |
| MQ (Registro Multiplicador) | 36 bits | Se usa principalmente para la multiplicación y la división. El resto queda almacenado en el registro AC. |
| XR (Registros de índice) | 15 bits | Había 3 registros índice en el 7090 y siete en el 7094 |
| SE (Indicador del sentido) | 36 bits | Usado para leer y escribir |

## Instrucciones

En la 7090/94 se observa un tamaño de palabra de las instrucciones de 36 bits; es un tamaño fijo. Las instrucciones empleaban uno o varios registros. Hay más de 180 instrucciones que permiten realizar operaciones aritméticas de enteros y de flotantes, operaciones lógicas, de entrada y salida, etc. Las instrucciones se dividen en campos. El primer campo indicaba el tipo, entre los cuales tenemos el A, que sirve para decrementar el registro índice, el B, el C, el D y el E. En el siguiente campo nos encontramos: El OP o código de operación, que se trata de un código octal que indica la instrucción que se va a realizar. El Decremento, que es utilizado por un conjunto de instrucciones para cambiar el registro índice. Las etiquetas, que son tres bits que determinan si afecta a algún registro. La Dirección, donde se almacenan las instrucciones, el contador y la máscara.