IBM 709
El IBM 709 fue un sistema informático anunciado inicialmente por IBM en enero de 1957 e instalado por primera vez en agosto de 1958. El 709 era una versión mejorada de su predecesor, el IBM 704, y fue el tercero de la serie IBM 700/7000 de computadoras científicas. Las mejoras incluyeron entrada/salida superpuesta, direccionamiento indirecto y tres "convertir" instrucciones que proporcionaron soporte para la aritmética decimal, la supresión del cero inicial y varias otras operaciones. El 709 tenía 32.768 palabras de memoria de núcleo magnético de 36 bits y podía ejecutar 42.000 instrucciones de suma o resta por segundo. Podía multiplicar dos enteros de 36 bits a una velocidad de 5000 por segundo.
Un emulador de hardware opcional ejecutaba programas antiguos de IBM 704 en el IBM 709. Este fue el primer emulador disponible comercialmente. Los registros y la mayoría de las instrucciones 704 se emularon en hardware 709. Las instrucciones complejas del 704, como la trampa de punto flotante y las rutinas de entrada y salida, se emularon en el software 709.
El programa de ensamblaje FORTRAN se introdujo por primera vez para el 709.
Era un sistema grande; las instalaciones de los clientes usaban de 100 a 250 kW para hacerlas funcionar y casi la misma cantidad nuevamente en el enfriamiento. Pesaba alrededor de 2110 libras (960 kg) (sin equipo periférico). El 709 fue construido utilizando tubos de vacío.
IBM anunció una versión transistorizada del 709, llamada IBM 7090, en 1958, solo un año después del anuncio del 709, lo que acortó la vida útil del 709.
Registros
El IBM 709 tiene un acumulador de 38 bits, un registro de cociente multiplicador de 36 bits y tres registros de índice de 15 bits cuyo contenido se resta de la dirección base en lugar de agregarse a él. Los tres registros de índice pueden participar en una instrucción: el campo etiqueta de 3 bits en la instrucción es un mapa de bits que especifica cuál de los registros participa en la operación; sin embargo, si se especifica más de un registro de índice, sus contenidos se combinan mediante una operación lógica o, no por adición.p. 12
Formatos de instrucciones y datos
Hay cinco formatos de instrucción, denominados Tipos A, B,C, D y E. La mayoría de las instrucciones son del tipo B.
Las instrucciones de tipo A tienen, en secuencia, un prefijo de 3 bits (código de instrucción), un campo decremento de 15 bits, una etiqueta de 3 bits y un campo de dirección de 15 bits. Son operaciones de salto condicional basadas en los valores de los registros de decremento especificados en el campo etiqueta. Algunos también restan el campo decremento del contenido de los registros de índice. La implementación requiere que los dos segundos bits del código de instrucción no sean cero, dando un total de seis posibles instrucciones de tipo A. Uno (STR, código de instrucción binario 101) no se implementó hasta el IBM 709.
Las instrucciones de tipo B tienen, en secuencia, un código de instrucción de 12 bits (con el segundo y el tercer bit configurados en 0 para distinguirlos de las instrucciones de tipo A), un campo de bandera de 2 bits, cuatro bits sin usar, un campo de etiqueta de 3 bits y un campo de dirección de 15 bits.
Los tipos C, D y E se utilizan para instrucciones especializadas.
- Los números de puntos fijos se almacenan en formato binario de señal/magnitud.
- Números de puntos flotantes de precisión única tienen un signo de magnitud, un exceso de 8 bits-128 exponente y un significado de 29 bits
- Los caracteres alfabéricos son de 6 bits BCD, empaquetados de seis a una palabra.
El conjunto de instrucciones subdivide implícitamente el formato de datos en los mismos campos que las instrucciones de tipo A: prefijo, decremento, etiqueta y dirección. Existen instrucciones para modificar cada uno de estos campos en una palabra de datos sin cambiar el resto de la palabra.
Canal de E/S
Las principales mejoras del 709 sobre el 704 anterior involucraron más memoria de núcleo magnético y aparentemente el primer uso de canales de E/S independientes. Mientras que la E/S en 704 es una función programada del procesador central, las palabras de datos se transfieren hacia o desde el registro de E/S, una a la vez, usando una 'copia'. instrucción: el 709 utiliza el sincronizador de datos IBM-766, que proporciona dos datos "programados" canales de E/S. Se pueden conectar hasta tres sincronizadores de datos a un 709, cada uno capaz de controlar hasta 20 unidades de cinta IBM 729 y una impresora de línea alfanumérica IBM 716, un lector de tarjetas IBM 711 y una perforadora de tarjetas 721. Esto permite seis veces más dispositivos de E/S en 709 y permite que la E/S continúe en varios dispositivos mientras la ejecución del programa continúa en paralelo. Se pueden conectar hasta dos unidades de tambor magnético IBM 733, cada una con 8192 palabras de memoria, independientemente de los sincronizadores de datos. El 709 inicialmente podía cargar programas (arranque) desde tarjeta, cinta o tambor.
El IBM 738 Magnetic Core Storage utilizado en el 709 también fue un hito de la tecnología híbrida. Aunque los controladores de matriz de núcleo son todos de tubo de vacío, los amplificadores de detección de lectura fueron un uso muy temprano de los transistores en la informática.