IBM 704

Sistema informático de tubos de vacío (1954)
Una computadora IBM 704 en NACA en 1957
Una computadora IBM 704, con unidades de cinta IBM 727 y pantalla CRT IBM 780
IBM 704 en el Museo Nazionale Scienza e Tecnologia Leonardo da Vinci , Milán

IBM 704 es el nombre del modelo de una gran computadora mainframe digital introducida por IBM en 1954. Diseñada por John Backus y Gene Amdahl , fue la primera computadora producida en masa con hardware para aritmética de punto flotante . [1] [2] El Manual de operaciones del IBM 704 establece: [3]

La máquina electrónica de procesamiento de datos tipo 704 es una calculadora electrónica de gran escala y alta velocidad controlada por un programa almacenado internamente del tipo de dirección única.

El 704 en ese momento era considerado como "prácticamente el único ordenador que podía manejar matemáticas complejas". [4] El 704 fue una mejora significativa sobre el IBM 701 anterior en términos de arquitectura e implementación. Al igual que el 701, el 704 utilizó circuitos lógicos de tubo de vacío , pero aumentó el tamaño de las instrucciones de 18 bits a 36 bits , el mismo tamaño de palabra de la memoria. Los cambios con respecto al 701 incluyen el uso de memoria de núcleo magnético en lugar de tubos Williams , instrucciones aritméticas de punto flotante, direccionamiento de 15 bits y la adición de tres registros de índice . Para soportar estas nuevas características, las instrucciones se ampliaron para utilizar la palabra completa de 36 bits. El nuevo conjunto de instrucciones , que no es compatible con el 701, se convirtió en la base para la subclase de "arquitectura científica" de las computadoras de la serie IBM 700/7000 .

El 704 podía ejecutar hasta 12.000 sumas de punto flotante por segundo. [2] IBM produjo 123 sistemas tipo 704 entre 1955 y 1960. [5]

Lugares de interés

Los lenguajes de programación FORTRAN [6] y LISP [7] se desarrollaron primero para el 704, al igual que el ensamblador SAP: Symbolic Assembly Program , posteriormente distribuido por SHARE como SHARE Assembly Program .

MUSIC , el primer programa de música por computadora, fue desarrollado en el IBM 704 por Max Mathews .

En 1962, el físico John Larry Kelly, Jr. creó uno de los momentos más famosos en la historia de Bell Labs al utilizar una computadora IBM 704 para sintetizar el habla. El sintetizador de voz de Kelly recreó la canción Daisy Bell , con acompañamiento musical de Max Mathews . Arthur C. Clarke estaba visitando casualmente a su amigo y colega John Pierce en las instalaciones de Bell Labs en Murray Hill en el momento de esta demostración de síntesis de voz , y Clarke quedó tan impresionado que seis años después la utilizó en la escena culminante de su novela y guion de 2001: Una odisea del espacio , [8] donde la computadora HAL 9000 canta la misma canción. [9] (Bell Laboratories publicó más tarde una grabación, en discos de 78 RPM de diez pulgadas, de voz y música creada de esta manera. Aparentemente se hizo con un IBM 7090 , el sucesor de estado sólido del 704). [ cita requerida ]

Edward O. Thorp , un instructor de matemáticas en el MIT, utilizó el IBM 704 como herramienta de investigación para investigar las probabilidades de ganar mientras desarrollaba su teoría del juego de blackjack . [10] [11] Utilizó FORTRAN para formular las ecuaciones de su modelo de investigación.

El IBM 704 del Centro de Cálculo del MIT se utilizó como rastreador oficial para la Operación Moonwatch del Observatorio Astrofísico Smithsoniano en el otoño de 1957. IBM proporcionó cuatro científicos para ayudar a los científicos y matemáticos del Observatorio Astrofísico Smithsoniano en el cálculo de las órbitas de los satélites: el Dr. Giampiero Rossoni, el Dr. John Greenstadt, Thomas Apple y Richard Hatch.

El IBM 704 se utilizó para los análisis de dinámica de vuelo de los cohetes Vanguard del NRL . [12]

El Laboratorio Científico de Los Álamos (LASL) desarrolló un monitor temprano llamado SLAM para permitir el procesamiento por lotes . [13]

Registros

Registros IBM 704
3 73 63 5...3 1...2 3...1 51 4...0 7...0 0(posición de bit)
Registros de datos
C.A.Acumulador
 MQMultiplicador/cociente
 SIIndicador de detección
Registros de índice
 XR1Índice 1
 XR2Índice 2
 XR3Índice 3
Contador de programas
 ordenador personalContador de programas
Módulo de circuito de tubo de vacío IBM 704

El IBM 704 tenía un acumulador de 38 bits , un registro multiplicador/cociente de 36 bits y tres registros de índice de 15 bits. El contenido de los registros de índice se resta de la dirección base, por lo que los registros de índice también se denominan "registros de decremento". Los tres registros de índice pueden participar en una instrucción: el campo de 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, cuando se selecciona más de un registro de índice, sus contenidos se combinan mediante OR bit a bit (no se suman) antes de que se produzca el decremento. Este comportamiento persistió en máquinas de arquitectura científica posteriores (como el IBM 709 y el IBM 7090 ) hasta el IBM 7094. El IBM 7094, presentado en 1962, aumentó el número de registros de índice a siete y solo seleccionó uno a la vez; El comportamiento "o" permaneció disponible en un modo de compatibilidad del IBM 7094. [14]

Formatos de instrucciones y datos

Hay dos formatos de instrucciones, denominados "Tipo A" y "Tipo B". [15] La mayoría de las instrucciones eran del tipo B.

Las instrucciones de tipo A tienen, en secuencia, un prefijo de 3 bits (código de instrucción), un campo de decremento de 15 bits, un campo de etiqueta de 3 bits y un campo de dirección de 15 bits . Hay operaciones de salto condicional basadas en los valores de los registros de índice especificados en el campo de etiqueta . Algunas instrucciones también restan el campo de decremento del contenido de los registros de índice. La implementación requiere que los segundos dos bits del código de instrucción sean distintos de cero, lo que da un total de seis posibles instrucciones de tipo A. Una (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 los bits 2 y 3 establecidos en 0 para distinguirlos de las instrucciones de tipo A), un campo de bandera de 2 bits, cuatro bits no utilizados, un campo de etiqueta de 3 bits y un campo de dirección de 15 bits .

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, aunque la instrucción Store Tag no se implementó en el IBM 704.

La implementación original de Lisp utiliza los campos de dirección y decremento para almacenar la cabeza y la cola de una lista enlazada respectivamente. Las funciones primitivas car ("contenido de la parte de dirección del registro") y cdr ("contenido de la parte decremento del registro") recibieron su nombre a partir de estos campos. [16]

Memoria y periféricos

Carga de tarjeta perforada en el lector IBM 711

El 704 incluye controles para: un lector de tarjetas perforadas 711 , una impresora alfabética 716 , un grabador de tarjetas perforadas 721, cinco unidades de cinta magnética 727 y una unidad de control de cinta 753, un lector y grabador de tambor magnético 733 y una unidad de almacenamiento de núcleo magnético 737. El peso total era de aproximadamente 19 466 libras (9,7 toneladas cortas; 8,8 t). [17] [18]

El 704 venía con una consola de control con 36 interruptores o botones de control y 36 interruptores de entrada de datos, uno para cada bit de un registro. La consola de control básicamente solo permite configurar los valores binarios de los registros con interruptores y ver el estado binario de los registros mostrados en el patrón de muchas pequeñas lámparas de neón, que se parecen mucho a los LED modernos. Para la interacción humana con la computadora, los programas se ingresaban inicialmente en tarjetas perforadas en lugar de en la consola, y la salida legible por humanos se dirigía a la impresora.

También estaba disponible el grabador de salida de tubo de rayos catódicos IBM 740 , que es una pantalla vectorial de 21 pulgadas con un tiempo de persistencia de fósforo muy largo de 20 segundos para la visualización humana, junto con una pantalla de 7 pulgadas que recibe la misma señal que la pantalla más grande pero con un fósforo de rápida descomposición diseñado para ser fotografiado con una cámara adjunta. [19]

La unidad de almacenamiento de núcleo magnético 737 sirve como RAM y proporciona 4.096 palabras de 36 bits, el equivalente a 18.432 bytes. [20] Las unidades de cinta magnética 727 almacenan más de 5 millones de caracteres de 6 bits por carrete.

Fiabilidad

El IBM 704 era mucho más fiable que su predecesor, el IBM 701, que tenía un tiempo medio entre fallos de unos 30 minutos. Sin embargo, al ser una máquina de tubos de vacío, el IBM 704 tenía una fiabilidad muy pobre según los estándares actuales. En promedio, la máquina fallaba aproximadamente cada 8 horas, comparable al Manchester Mark 1 en 1949. [21] [22] [23] Esto limitaba el tamaño del programa que los primeros compiladores Fortran podían traducir con éxito porque la máquina fallaba antes de una compilación exitosa de un programa grande. [22]

Véase también

Referencias

  1. ^ "El IBM 704". columbia.edu . Universidad de Columbia . Febrero de 2001 . Consultado el 20 de septiembre de 2024 .
  2. ^ ab "704 Data Processing System". Archivos IBM – Exhibiciones – Mainframes IBM – Sala de referencia de mainframes – Perfiles de productos de mainframes . IBM. 23 de enero de 2003. Archivado desde el original el 14 de enero de 2005. Consultado el 18 de agosto de 2016 .
  3. ^ "Máquinas de procesamiento electrónico de datos IBM TIPO 704" (PDF) . Manual de funcionamiento de IBM 704 . International Business Machines Corporation. 1955 . Consultado el 28 de diciembre de 2017 .
  4. ^ Pesce, Mark (26 de febrero de 2015). "Los ensambladores alguna vez fueron personas: mi tía lo hizo para la NASA". Software – Desarrollador . The Register . Consultado el 18 de agosto de 2016 .
  5. ^ "Historia de IBM. Cronología". IBM. 23 de enero de 2003. Consultado el 4 de julio de 2019 .
  6. ^ "Historia de FORTRAN y FORTRAN II". Grupo de Preservación de Software .
  7. ^ "Prehistoria de LISP: verano de 1956 a verano de 1958". www-formal.stanford.edu .
  8. ^ "Biografía en línea de Arthur C. Clarke". Archivado desde el original el 11 de diciembre de 1997.
  9. ^ "Bell Labs: donde "HAL" habló por primera vez (sitio web de síntesis de voz de Bell Labs)". Archivado desde el original el 1 de abril de 2014.
  10. ^ Documental del canal Discovery con entrevistas de Ed y Vivian Thorp
  11. ^ Levinger, Jeff (10 de febrero de 1961). «Math Instructor Programs Computor: Thorpe, 704 Beat Blackjack» (PDF) . The Tech . 81 (1). Cambridge, MA: Massachusetts Institute of Technology: 1. Archivado desde el original (PDF) el 16 de julio de 2015. Consultado el 8 de mayo de 2009 .
  12. ^ "Vehículo de lanzamiento de satélites Vanguard: un resumen de ingeniería".
  13. ^ Kaisler, Stephen H. (noviembre de 2018). Mainframes de primera generación: la serie IBM 700. Cambridge Scholars Publishing. pág. 69. ISBN 978-1-5275-0650-3. Recuperado el 25 de abril de 2019 .
  14. ^ Principios de funcionamiento de IBM 7094 (PDF) , IBM Systems Reference Library (quinta edición), IBM, 1962, pág. 8, A22-6703-4.
  15. ^ John Savard. "Del IBM 704 al IBM 7094" . Consultado el 15 de noviembre de 2009 .
  16. ^ McCarthy, John (1960). «Funciones recursivas de expresiones simbólicas y su cálculo por máquina, parte I». Archivado desde el original el 4 de octubre de 2013. Consultado el 14 de febrero de 2009 .pág. 28.
  17. ^ Weik, Martin H. (marzo de 1961). "IBM 704". ed-thelen.org . Tercer estudio de los sistemas informáticos digitales electrónicos domésticos.
  18. ^ Weik, Martin H. (diciembre de 1955). "IBM-704". ed-thelen.org . Un estudio de los sistemas informáticos digitales electrónicos domésticos.
  19. ^ "IBM Archives: 704 Cathode Ray Tube Output Recorder". 23 de enero de 2003. Archivado desde el original el 19 de enero de 2005. Consultado el 10 de diciembre de 2012 .
  20. ^ "Archivos de IBM: Unidad de almacenamiento de núcleo magnético IBM 737". 23 de enero de 2003. Archivado desde el original el 19 de enero de 2005. Consultado el 10 de diciembre de 2012 .
  21. ^ Patrick, Robert L. "General Motors/North American Monitor for the IBM 704 Computer" (PDF) . Archivado desde el original (PDF) el 2021-08-31.
  22. ^ ab Lorenzo, Mark Jones (2019). Abstrayendo la máquina: la historia del lenguaje de programación FORTRAN (FORmula TRANslation) . Publicado de forma independiente. ISBN 978-1082395949.
  23. ^ "The Manchester Mark 1", Universidad de Manchester, archivado desde el original el 21 de noviembre de 2008 , consultado el 24 de enero de 2009

Lectura adicional

  • Entrevista de historia oral con Gene Amdahl , Instituto Charles Babbage , Universidad de Minnesota, Minneapolis. Amdahl habla sobre su papel en el diseño de varias computadoras para IBM, incluidas la STRETCH , la IBM 701 y la IBM 704. Habla sobre su trabajo con Nathaniel Rochester y sobre la gestión del proceso de diseño de computadoras por parte de IBM.
Obtenido de "https://es.wikipedia.org/w/index.php?title=IBM_704&oldid=1250054182"