El IBM 704 , presentado por IBM en 1954, es la primera computadora producida en serie con hardware aritmético de punto flotante. [1] El Manual de funcionamiento de IBM 704 establece: [2]
La máquina electrónica de procesamiento de datos tipo 704 es una calculadora electrónica a gran escala y de alta velocidad controlada por un programa almacenado internamente del tipo de dirección única.
El 704 en ese momento fue considerado como "prácticamente la única computadora que podía manejar matemáticas complejas". [3] El 704 fue una mejora significativa con respecto al anterior IBM 701 en términos de arquitectura e implementación. Al igual que el 701, el 704 utiliza circuitos lógicos de tubo de vacío y palabras binarias de 36 bits . Los cambios del 701 incluyen el uso de memoria central 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 admitir estas nuevas funciones, las instrucciones se ampliaron para usar la palabra completa de 36 bits. El nuevo conjunto de instrucciones , que no es compatible con el 701, se convirtió en la base de la subclase de "arquitectura científica" de las computadoras de la serie IBM 700/7000.
El 704 puede ejecutar hasta 12.000 adiciones de punto flotante por segundo. [1] IBM produjo 123 sistemas tipo 704 entre 1955 y 1960. [4]
Lugares emblemáticos
Los lenguajes de programación FORTRAN [5] y LISP [6] se desarrollaron por primera vez para el 704, al igual que el ensamblador SAP: Programa de ensamblaje simbólico , distribuido más tarde por SHARE como Programa de ensamblaje de SHARE .
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 utilizando una computadora IBM 704 para sintetizar el habla. El vocoder sintetizador de la grabadora de voz de Kelly recreó la canción Daisy Bell , con el acompañamiento musical de Max Mathews . Arthur C. Clarke estaba casualmente visitando a su amigo y colega John Pierce en las instalaciones de Bell Labs 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 lo usó en la escena culminante de su novela y guión para 2001: A Space Odyssey , [7] donde la computadora HAL 9000 canta la misma canción. [8] [ contradictorio ] Más tarde tendría un dueto de Daisy Bell con Hatsune Miku .
Edward O. Thorp , profesor 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 . [9] [10] Usó FORTRAN para formular las ecuaciones de su modelo de investigación.
El IBM 704 en el MIT Computation Center 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: Dr. Giampiero Rossoni , el Dr. John Greenstadt, Thomas Apple y Richard Hatch.
El Laboratorio Científico de Los Alamos (LASL) desarrolló un monitor temprano llamado SLAM para permitir el procesamiento por lotes . [11]
Registros
El IBM 704 tiene un acumulador de 38 bits , un registro de cociente multiplicador 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 disminución". Los tres registros de índice pueden participar en una instrucción: el campo de etiqueta de tres bits de 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, entonces sus contenidos son o 'ed - no agregados - juntos antes de que ocurra la disminución. Este comportamiento persistió en máquinas de arquitectura científica posteriores (como IBM 709 e IBM 7090 ) hasta IBM 7094 . El IBM 7094, introducido en 1962, aumentó el número de registros de índice a siete y solo se seleccionó uno a la vez; el comportamiento "o" permanece disponible en un modo de compatibilidad del IBM 7094. [12]
Formatos de instrucciones y datos
Hay dos formatos de instrucción, denominados "Tipo A" y "Tipo B". [13] La mayoría de las instrucciones eran de tipo B.
Las instrucciones de tipo A tienen, en secuencia, un prefijo de 3 bits (código de instrucción), un campo de disminución de 15 bits , un campo de etiqueta de 3 bits y un campo de dirección de 15 bits . Hay operaciones de salto condicionales 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 dos segundos bits del código de instrucción sean distintos de cero, lo que da 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 .
Instrucciones Tipo B tienen, en secuencia, un código de instrucción de 12 bits (con el segundo y tercer bits puestos a 0 para distinguirlos de instrucciones de tipo A), un 2-bit bandera campo, cuatro bits no utilizados, un 3-bit etiqueta de campo y un campo de dirección de 15 bits .
- Los números de punto fijo se almacenan en formato binario de signo / magnitud .
- Los números de coma flotante de precisión simple tienen un signo de magnitud, un exponente de exceso de 128 de 8 bits y una magnitud de 27 bits
- Los caracteres alfanuméricos solían ser BCD de 6 bits , empaquetados de seis por 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, aunque la instrucción Store Tag no se implementó en el IBM 704.
La implementación original de Lisp usa los campos de dirección y decremento para almacenar, respectivamente, el principio y el final de una lista enlazada . Las funciones primitivas car ("contenido de la parte de dirección del registro") y cdr ("contenido de la parte decreciente del registro") recibieron el nombre de estos campos. [14]
Memoria y periféricos
Se incluyen controles en el 704 para: un lector de tarjetas perforadas 711 , una impresora alfabética 716 , un registrador de tarjetas perforadas 721, cinco unidades de cinta magnética 727 y una unidad de control de cinta 753, un lector y registrador de tambor magnético 733 y un núcleo magnético 737 Unidad de almacenamiento. Peso: aproximadamente 19.466 libras (9,7 toneladas cortas; 8,8 t). [15] [16]
El 704 en sí vino con una consola de control que tiene 36 interruptores o botones de control surtidos y 36 interruptores de entrada de datos, uno para cada bit en un registro. Básicamente, la consola de control solo permite configurar los valores binarios de los registros con interruptores y ver el estado binario de los registros que se muestran en el patrón de muchos pequeños tubos de neón, que se parecen mucho a los LED modernos. Para la interacción humana con la computadora, los programas se ingresarían inicialmente en tarjetas perforadas en lugar de en la consola, y la salida legible por humanos se dirigiría a la impresora.
El IBM 740 Tubo de salida de rayos catódicos Recorder también estaba disponible, que es un 21 pulgadas pantalla vector con un tiempo muy largo de fósforo persistencia de tiempo de 20 segundos para la visión humana, junto con una pantalla de 7 pulgadas recibir la misma señal que la pantalla más grande, pero con un brillo de fósforo de rápido deterioro diseñado para ser fotografiado con una cámara adjunta. [17]
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. [18] Las unidades de cinta magnética 727 almacenan más de cinco millones de caracteres de seis bits por carrete.
Ver también
- E / S GM-NAA
- Lista de computadoras de tubo de vacío
Referencias
- ^ a b "Sistema de procesamiento de datos 704" . Archivos de IBM - Exposiciones - Mainframes de IBM - Sala de referencia de Mainframes - Perfiles de productos de Mainframes . IBM. 23 de enero de 2003 . Consultado el 18 de agosto de 2016 .
- ^ "Máquinas de procesamiento de datos electrónicos IBM TIPO 704" (PDF) . IBM 704 Manual de funcionamiento . Corporación de Máquinas de Negocios Internacionales. 1955 . Consultado el 28 de diciembre de 2017 .
- ^ Pesce, Mark (26 de febrero de 2015). "Los ensambladores fueron una vez personas: mi tía lo hizo para la NASA" . Software - Desarrollador . El registro . Consultado el 18 de agosto de 2016 .
- ^ "Historia de IBM Timeline" . IBM. 23 de enero de 2003 . Consultado el 4 de julio de 2019 .
- ^ "Historia de FORTRAN y FORTRAN II - Grupo de preservación de software" . www.softwarepreservation.org .
- ^ "Prehistoria LISP - Verano de 1956 a Verano de 1958" . www-formal.stanford.edu .
- ^ "Biografía en línea de Arthur C. Clarke" . Archivado desde el original el 11 de diciembre de 1997.
- ^ "Bell Labs: donde" HAL "habló por primera vez (sitio web de Bell Labs Speech Synthesis)" . Archivado desde el original el 1 de abril de 2014.
- ^ Documental de Discovery Channel con entrevistas de Ed y Vivian Thorp
- ^ Levinger, Jeff (10 de febrero de 1961). "Programas de Instructor de Matemáticas Computadora: Thorpe, 704 Beat Blackjack" (PDF) . La tecnología . Cambridge, MA: Instituto de Tecnología de Massachusetts. 81 (1): 1.
- ^ Kaisler, Stephen H. (noviembre de 2018). Mainframes de primera generación: IBM 700 Series . Cambridge Scholars Publishing. pag. 69. ISBN 978-1-5275-0650-3. Consultado el 25 de abril de 2019 .
- ^ IBM 7094 Principles of Operation (PDF) , IBM Systems Reference Library (quinta ed.), IBM, 1962, p. 8, A22-6703-4
- ^ John Savard. "Del IBM 704 al IBM 7094" . Consultado el 15 de noviembre de 2009 .
- ^ 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 .pag. 28.
- ^ Weik, Martin H. (marzo de 1961). "IBM 704" . ed-thelen.org . Un tercer estudio de los sistemas informáticos digitales electrónicos domésticos.
- ^ Weik, Martin H. (diciembre de 1955). "IBM-704" . ed-thelen.org . Estudio de los sistemas informáticos digitales electrónicos domésticos.
- ^ "Archivos de IBM: registrador de salida de tubo de rayos catódicos 704" . 23 de enero de 2003 . Consultado el 10 de diciembre de 2012 .
- ^ "Archivos de IBM: Unidad de almacenamiento de núcleo magnético IBM 737" . 23 de enero de 2003 . Consultado el 10 de diciembre de 2012 .
Otras lecturas
- Charles J. Bashe, Lyle R. Johnson, John H. Palmer, Emerson W. Pugh, Primeros ordenadores de IBM (MIT Press, Cambridge, 1986)
- Steven Levy , Hackers: héroes de la revolución informática
enlaces externos
- Entrevista de historia oral con Gene Amdahl Charles Babbage Institute , Universidad de Minnesota, Minneapolis. Amdahl analiza su papel en el diseño de varias computadoras para IBM, incluidas STRETCH , IBM 701 e IBM 704. Discute su trabajo con Nathaniel Rochester y la gestión de IBM del proceso de diseño de computadoras.