IBM 700/7000

La Serie IBM 700/7000 fue una serie de computadoras de gran tamaño (mainframes) construida por IBM desde los años 1950 hasta inicios de los años 1960. La serie incluía varias arquitecturas de procesador incompatibles. Los 700 usaban lógica de tubos de vacío y se volvieron obsoletos con la introducción de la serie 7000 transistorizados. Los 7000, en su momento, fueron reemplazados por el System/360, el cual fue anunciado en 1964. Sin embargo el 360/65, el primer 360 completo capaz de reemplazar a los 7000, no estuvo disponible hasta noviembre de 1965. Problemas iniciales con el OS/360 y el alto costo de convertir el software mantuvo en servicio a muchos computadores 7000 por varios años.

Arquitecturas 
La serie IBM 700/7000 tenía seis formas completamente diferentes de almacenar datos e instrucciones:
 Primeras científicas (palabras de 36/18 bit): 701 (Computador de Defensa)
 Científicas (palabras de 36 bit): 704, 709, 7090, 7094, 7040, 7044
 Comercial (cadenas de caracteres de largo variable): 702, 705, 7080
 Serie 1400 (cadenas de caracteres de largo variable): 7010
 Decimal (palabras de 10 dígitos): 7070, 7072, 7074
 Supercomputdor (palabras de 64 bit): 7030 "Stretch" ("agrandada")

La clase 700 usaba válvulas termoiónicas, la clase 7000 estaba transistorizada. Todas las máquinas usaban (como muchos computadores de la época) memoria de núcleo magnético; excepto en los primeros modelos 701 y 702, los cuales usaban memoria CRT. Mientras que las arquitecturas eran diferentes, la máquinas compartían la misma clase de tecnología electrónica y generalmente usaban los mismos periféricos incluyendo las unidades de cinta (IBM 727 y 729), lectores de tarjetas, perforadoras de tarjetas e impresoras. Los primeros periféricos adoptaron la tecnología de las máquina de contabilidad de IBM e incluso usaban los plugboards. Posteriormente los periféricos fueron adoptados por la Serie IBM 1400 de gama media.

Los primeros computadores se vendieron sin software. Cuando surgieron los sistemas operativos, con cuatro diferentes arquitecturas de mainframes más la arquitectura de gama media de la serie 1400, se convirtió en un importante problema para IBM, ya que significa por lo menos cuatro desarrollos de software diferentes.

El System/360 combinaba las mejores características de la arquitectura de las series 7000 y 1400 en un solo diseño, sin embargo algunos modelos 360 tenían características opcionales que permitían emular las instrucciones del 1400 y 7000. Uno de los argumentos de venta del IBM System/370 fue la emulación de la serie 1400/7000 mejorada (permitía hacerlo bajo control del sistema operativo, en lugar de reiniciar el sistema y arrancar en modo emulación, como se hacía con el 360).

Primera Arquitectura (701) 
Conocido como el Computador de Defensa durante el desarrollo en el IBM Poughkeepsie Laboratory, esta máquina se dio a conocer oficialmente el 7 de abril de 1953 como la Máquina de Procesamiento de Datos Electrónica IBM 701.

Formatos de Datos 
Los números tenían una longitud de 36 o 18 bits, y sólo de coma fija. (Ver: ¿Por qué palabras de 36 bits?)
 Los números de coma fija eran almacenados en binario con formato de signo/magnitud.

Formato de Instrucciones 
Las instrucciones eran de 18 bits de largo, de direccionamiento simple.
 Signo (1 bit) - Direccionamiento de operandos de palabra completa (-) o media palabra (+)
 Opcode (5 bits) - 32 instrucciones
 Direccionamiento (12 bits) - 4096 direcciones de media palabra

Para expandir la memoria de 2048 a 4096 palabras, una 33ra instrucción se añadía para usar el bit más significativo del campo de dirección para seleccionar el banco (Esta instrucción fue creada probablemente usando la instrucción "No OP", la cual parece haber sido la única instrucción con bits no usados, y que originalmente ignoraba su campo de dirección. Sin embargo, la documentación sobre esta nueva instrucción no está disponible actualmente).

Registros 
Los registros del procesador consistían en:
 AC - Acumulador de 38 bit
 MQ - Coeficiente multiplicador de 36 bit

Memoria 
2.048 o 4.096 palabras binarias de 36 bits, con caracteres de 6 bits

Arquitectura Científica (704/709/7090/7094)

Formatos de Datos 
Los números son de 36 bits, con coma fija y flotante.
 Los números de coma fija son almacenados en binario en formato de signo/magnitud. 
 Los números de precisión simple coma flotante tenían signo, 8 bit exceso/128 bit de exponente, y magnitud de 29 bits
 Los números de doble precisión, introducidos en el 7094, tenían signo, 17 bit exceso-65536 exponente, y una magnitud de 54
 Los caracteres alfanuméricos tenían 6 bit en formato BCD

Formato de Instrucciones 
El formato de instrucciones básico tenía 3 bit de prefijo, 15 bit de decremento, 3 bit de etiqueta("tag"), y 15 bit de direccionamiento. El campo de prefijo especificaba el tipo de instrucción. El campo de decremento a menudo contenía un operando inmediato que modificaba el resultado de la operación, o era usado para definir el tipo de instrucción. Los 3 bits de etiqueta especificaban tres (siete en el 7094) índices de registro, el contenido de cada uno era restado de la dirección para obtener la dirección efectiva. El campo de dirección contenía tanto una dirección como un operando inmediato.

Registros 
Los registros del procesador consistían en:
 AC - Acumulador de 38-bit
 MQ - Coeficiente multiplicador de 36-bit
 XR - Índice de registro de 15-bit (tres o siete)
 SI - Indicador de estado de 36-bit

Los registro del acumulador (y el coeficiente multiplicador) estaban en formato de signo/magnitud.

Los Índices de registros operaban usando el formato de complemento a 2 y cuando se usaban para modificar una dirección de instrucción eran restados de la dirección en la instrucción. En máquinas con tres índices de registro, si la etiqueta ("tag") tenía un set de 2 o 3 bits (p.e. selección de múltiples registros) entonces sus valores eran juntados antes la resta. El IBM 7094, con siete índices de registro tenía un modo "compatibilidad" para poder usar los programas de las primeras máquinas.

Los indicadores de estado permitían interactuar con el operador a través de un panel con interruptores y luces.

Memoria 
 704
 4.096, 8.192 o 32.768; palabras binarias de 36 bits con caracteres de 6 bits
 709, 7090, 7094, 7094 II
 32.768; palabras binarias de 36 bits con caracteres de 6 bits

Entrada/Salida 
La serie 709/7090 usaba Canales Sincronizadores de Datos para la entrada/salida de alta velocidad, como cinta y discos. Los CSD ejecutaban sus propios programas simples de la memoria del computador que controlaban la transferencia de datos entre la memoria y los dispositivos de E/S. La E/S de la perforadora de tarjetas y de la impresora de alta velocidad eran a menudo transferido a cintas magnéticas y manejada desde una IBM 1401 separada. Más adelante, los canales de datos fueron usados para conectar un 7094 y un 7044 para formar el IBM 7094/7044 Direct Coupled System (DCS) ("Sistema Directo Acoplado"). En esta configuración, el 7044 manejaba principalmente la E/S.

Programa Ensamblador FORTRAN 
El Programa Ensamblador FORTRAN (FORTRAN Assembly Program, FAP) fue el macro ensamblador por defecto para el 709, 7090, y el 7094.

Su pseudo-operación BSS, usada para reservar memoria, es el origen del nombre común de la "sección BSS", que aún se usa en muchos lenguajes ensamblador hoy día para designar rangos de direcciones de memoria reservada del tipo que no tiene que ser grabada en la imagen ejecutable.

Arquitectura Comercial (702/705/7080) 
El IBM 702 y el IBM 705 eran similares y el 705 podía correr muchos de los programas del 702 sin modificaciones, pero no eran totalmente compatibles.

El IBM 7080 fue la versión transitorizada del 705, con varias mejoras. Para compatibilidad hacia abajo, podía correr en modo 705 I, modo 705 II, modo 705 III o en modo 7080 completo.

Formato de Datos 
Los datos eran representados por cadenas de longitud variables finalizadas con una marca de grabación.

Formato de Instrucciones 
Cinco caracteres: un carácter de opcode y 4 caracteres de dirección - OAAAA

Registros 
 702
 dos acumuladores (A & B) - 512 caracteres
 705
 un acumulador - 256 caracteres
 14 unidades de almacenaje auxiliar - 16 caracteres
 1 unidades de almacenaje auxiliar - 32 caracteres
 7080
 1 acumulador - 256 caracteres
 30 unidades de almacenaje auxiliar - 512 caracteres
 32 unidades de almacenaje de comunicación - 8 caracteres

Memoria 
 702
 2.000 to 10.000 caracteres en tubos Williams (en incrementos de 2.000 caracteres)
 Tasa de ciclo de caracteres - 23 microsegundos
 705 (modelos I, II, o III)
 20.000 o 40.000 u 80.000 caracteres de memoria de núcleo magnético
 Tasa de ciclo de caracteres - 17 microsegundos o 9,8 microsegundos
 7080
 80.000 or 160.000 caracteres de memoria de núcleo magnético
 Tasa de ciclo de caracteres - 2,18 microsegundos

Arquitectura Serie 1400 (7010) 

La arquitectura comercial del 700/7000 estaba inspirada en la muy exitosa Serie IBM 1400 de computadoras administrativas de gama media. Posteriormente IBM introdujo la versión mainframe del IBM 1410 llamado IBM 7010.

Formato de Datos 
Los datos eran representados por cadenas de longitud variables finalizadas con una marca de palabra

Formato de Instrucciones 
Largo variable: 1, 2, 6, 7, 11, o 12 caracteres.

Registros 
Ninguno, todas las instrucciones operaban en la memoria.

Memoria 
100.000 caracteres.

Arquitectura Decimal (7070/7072/7074) 

El IBM 7070, IBM 7072 y el IBM 7074 eran máquinas decimales, con palabras de longitud fija. Usaban 10 dígitos como el pequeño y más antiguo IBM 650, pero su juego de instrucciones no era compatible con éste.

Formato de Datos 
 Largo de palabra - 10 dígitos decimales más el signo
 Codificación de Dígito - código two-out-of-five
 Coma Flotante - opcional. Exponente de dos dígitos.
 Tres signos para cada palabra - Más, Menos y Alfa
 Más y Menos indicaban valores numéricos de 10 dígitos.
 Alfa indicaba 5 caracteres de textos codificados por pares de dígitos. 61 = A, 91 = 1.

Formato de Instrucciones 
 Todas las instrucciones eran de una palabra
 2 dígitos de op code (incluyendo sólo signo, Más o Menos)
 2 dígitos de índice de registro
 2 dígitos para campo de control - permitía seleccionar el set de dígitos, desplazamiento a la izquierda o derecha
 4 dígitos de dirección

Registros 
 Todos los registros eran de una palabra, podían ser direccionados como memoria
 Acumuladores - 3 (direcciones 9991, 9992, y 9993 - estánar; 99991, 99992, y 99993 - 7074 extendido)
 Registro de Programa - 1 (dirección 9995 - estándar; 99995 - 7074 extendido)
 Direccionable de consola solamente. Almacena la dirección actual.
 Contador de Instrucción - 1 (dirección 9999 - estándar; 99999 - 7074 extendido)
 Direccionable de consola solamente.
 Índice de Registro - 99 (direcciones 0001-0099)

Memoria 
 5.000 a 9.990 palabras (estándar)
 15.000 a 30.000 palabras (7074 extendido)
 Tiempo de Acceso - 6 microsegundos (7070/7072), 4 microsegundos (7074)
 Tiempo de suma - 72 microsegundos (7070), 12 microsegundos (7072), 10 microsegundos (7074)

Serie IBM 700, valvulares, 1950s 
 IBM 701 - Primero computador electrónico de IBM - introducido en 1952
 IBM 702 - comercial - introducido in 1953
 IBM 704 - científico - introducido en 1954
 IBM 705 - comercial - introducido en 1954
 IBM 709 - científico - introducido en 1958

serie IBM 7000, transistorizados, 1960s 
 IBM 7010 - Versión de alta gama del IBM 1410 - introducido en 1962
 IBM 7030 - Supercomputador ampliado - introducido en 1961
 IBM 7040 - científico - introducido en 1963
 IBM 7044 - científico - introducido en 1963
 IBM 7070 - decimal - introducido en 1960
 IBM 7072 - decimal - introducido en 1962
 IBM 7074 - decimal - introducido en 1961; usado por el Internal Revenue Service de EE. UU. en 1962
 IBM 7080 - comercial - introducido en 1961
 IBM 7090 - científico - introducido en 1959
 IBM 7094 - científico - introducido en 1962
 IBM 7094 II - científico - introducido en 1964

Referencias

Enlaces externos 

 Árbol de la familia de Mainframes de IBM
 La Arquiitectura de los primeros computadores de IBM (PDF)
 IBM 705
 IBM 7030 Stretch
 IBM 7070
 IBM 7094
 IBM 7090/94 Architecture 
 Jack Harper's FAP page 

Hardware de IBM
Primeras computadoras
Mainframes de IBM
Mainframes