El LGP-30 , acrónimo de Librascope General Purpose y luego Librascope General Precision , es uno de los primeros ordenadores comerciales. Fue fabricado por la empresa Librascope de Glendale, California (una división de General Precision Inc. ), y vendido y reparado por la Royal Precision Electronic Computer Company, una empresa conjunta con la división Royal McBee de la Royal Typewriter Company . El LGP-30 se fabricó por primera vez en 1956, [1] [2] [3] a un precio de venta al público de 47 000 dólares, equivalente a 530 000 dólares en 2023. [4]
La LGP-30 se conocía comúnmente como una computadora de escritorio. Su altura, ancho y profundidad, excluyendo el estante para la máquina de escribir, era de 33 x 44 x 26 pulgadas (84 x 112 x 66 cm). Pesaba alrededor de 800 libras (360 kg), [5] y estaba montada sobre ruedas resistentes que facilitaban el movimiento de la unidad.
El principal consultor de diseño para la computadora Librascope fue Stan Frankel , un veterano del Proyecto Manhattan y uno de los primeros programadores de ENIAC . Diseñó una computadora utilizable con una cantidad mínima de hardware. [6] El conjunto de instrucciones de dirección única tenía solo 16 comandos. La memoria de tambor magnético contenía la memoria principal y los registros del procesador de la unidad central de procesamiento (CPU) , la información de tiempo y el reloj de bits maestro, cada uno en una pista dedicada. La cantidad de tubos de vacío se minimizó mediante el uso de lógica de diodos de estado sólido , una arquitectura de serie de bits [7] y el uso múltiple de cada uno de los 15 flip-flops.
Se trataba de una computadora binaria de 31 bits con una memoria de tambor de 4096 palabras . Las entradas estándar eran el teclado Flexowriter y la cinta de papel (diez caracteres de seis bits por segundo). La salida estándar era la impresora Flexowriter ( máquina de escribir que funcionaba a 10 caracteres por segundo). Un lector de cinta de papel y una perforadora de mayor velocidad opcionales estaban disponibles como periférico independiente.
El ordenador contenía 113 tubos electrónicos y 1450 diodos . Los tubos estaban montados en 34 tarjetas enchufables con circuitos grabados que también contenían componentes asociados. Las 34 tarjetas eran de solo 12 tipos diferentes. Se disponía de extensores de tarjetas para permitir la prueba dinámica de todas las funciones de la máquina. 680 de los 1450 diodos estaban montados en una placa lógica enchufable .
El LGP-30 requería 1500 vatios para funcionar a plena carga. El cable de entrada de alimentación podía enchufarse a cualquier línea monofásica estándar de 115 voltios y 60 ciclos. El ordenador incorporaba una regulación de voltaje adecuada para variaciones de la línea eléctrica de 95 a 130 voltios. Además de la regulación de potencia, el ordenador también contenía circuitos para una etapa de calentamiento, que minimizaba el choque térmico de los tubos para garantizar una mayor vida útil. El ordenador contenía un ventilador de refrigeración que dirigía el aire filtrado a través de conductos hacia los tubos y diodos, para prolongar la vida útil de los componentes y garantizar un funcionamiento adecuado. No era necesario un costoso aire acondicionado si el LGP-30 funcionaba a temperaturas razonables.
Había 32 posiciones de bit por palabra de tambor, pero sólo se utilizaban 31, lo que permitía una "restauración del flujo magnético en el cabezal" en el tiempo de bit 32. Dado que sólo había una dirección por instrucción, se necesitaba un método para optimizar la asignación de operandos . De lo contrario, cada instrucción esperaría una revolución completa del tambor (o disco) cada vez que se hiciera una referencia a los datos. El LGP-30 proporcionaba la optimización de la ubicación de los operandos intercalando las direcciones lógicas en el tambor de modo que dos direcciones adyacentes (por ejemplo, 00 y 01) estuvieran separadas por nueve posiciones físicas. Estos espacios permitían que los operandos se ubicaran junto a las instrucciones que los utilizaban. Había 64 pistas, cada una con 64 palabras (sectores). El tiempo entre dos palabras físicas adyacentes era de aproximadamente 0,260 milisegundos (ms), y el tiempo entre dos direcciones adyacentes era de 9 x 0,260 o 2,340 ms. El tiempo de acceso en el peor de los casos era de 16,66 ms.
La mitad de la instrucción (15 bits) no se utilizó. La mitad no utilizada podría haberse utilizado para instrucciones adicionales, indexación, direccionamiento indirecto o una segunda dirección (+1) para localizar la siguiente instrucción, cada una de las cuales habría aumentado el rendimiento del programa. Ninguna de estas características se implementó en el LGP-30, pero algunas se implementaron en su sucesor de 1960, el RPC-4000.
Una característica única del LGP-30 era su multiplicación incorporada, a pesar de ser un ordenador económico. Como se trataba de un ordenador de tambor, los bits se procesaban en serie a medida que se leían del tambor. A medida que realizaba cada una de las sumas asociadas con la multiplicación, desplazaba efectivamente el operando hacia la derecha, actuando como si el punto binario estuviera en el lado izquierdo de la palabra, en lugar del lado derecho como en la mayoría de los demás ordenadores. La operación de división funcionaba de forma similar.
Para reducir aún más los costos, se prescindió de las tradicionales luces del panel frontal que mostraban los registros internos. En su lugar, Librascope montó un pequeño osciloscopio en el panel frontal que mostraba la salida de los tres cabezales de lectura de registros, uno encima del otro, lo que permitía al operador ver y leer los bits. Los controles de tamaño horizontal y vertical permitían al operador ajustar la pantalla para que coincidiera con una superposición de plástico grabada con los números de bits. Para leer los bits, el operador contaba las transiciones ascendentes y descendentes del trazo del osciloscopio.
A diferencia de otras computadoras de su época, los datos internos se representaban en hexadecimal en lugar de octal , pero al ser una máquina muy económica, utilizaba las teclas físicas de la máquina de escribir que corresponden a las posiciones 10 a 15 en la canasta de tipos para los seis caracteres no decimales (a diferencia de los ahora normales A – F) para representar esos valores, dando como resultado 0 – 9 fgjkqw, lo que fue recordado usando la frase "Las jabalinas de fibra de vidrio matan bastante bien".
El LGP-30 tiene 16 instrucciones. Cada instrucción ocupa una palabra de 31 bits, aunque aproximadamente la mitad de los bits no se utilizan y se ponen a cero. Una instrucción consta de una "orden" como la letra b para "traer desde la memoria" y una parte de dirección como el número 2000 para designar una ubicación de memoria. Todas las instrucciones tienen una apariencia similar en una palabra LGP-30. Los bits de orden ocupan las posiciones 12 a 15 de la palabra y los bits de dirección ocupan las posiciones 18 a 29 de la palabra. Los bits de dirección se dividen a su vez por pista y sector. Aunque todas las instrucciones tienen una dirección, algunas no la utilizan. Es habitual introducir una dirección de 0000 en estas instrucciones. [8]
El LGP-30 tenía un lenguaje de alto nivel llamado ACT-III. Cada token debía estar delimitado por un apóstrofo, lo que dificultaba su lectura y aún más la preparación de las cintas: [9]
s1'dim'a'500'm'500'q'500''índice'j'j+1'j-1''daprt'e'n't'e'r' 'd'a't'a''cr''rdxit's35''s2'yo leí'm'1''yo leí'q'1''yo leí'd''yo leí'n''1';'j''0'flo'd';'d.''s3'sqrt'd.';'sqrd.''1'unflo'sqrd.'i/'10';'sqrd''2010'impresión'cuadrado.''2000'iprt'cuadrado''cr''cr''...
Dartmouth College desarrolló dos implementaciones de ALGOL 60 para LGP-30. Dartmouth ALGOL 30 era un sistema de tres pasos (compilador, cargador e intérprete) que proporcionaba casi todas las características de ALGOL excepto aquellas que requerían la asignación de almacenamiento en tiempo de ejecución. SCALP, un procesador autónomo de ALGOL, era un sistema de un paso para un pequeño subconjunto de ALGOL (sin bloques que no fueran el programa completo), sin declaraciones de procedimientos, declaraciones condicionales pero sin expresiones condicionales, sin construcciones que no fueran las while
de una for
declaración, sin switch
declaraciones anidadas (se permiten las llamadas anidadas) y sin variables y operadores booleanos. Al igual que en ACT-III, cada token tenía que estar separado por un apóstrofo. [10]
DICTATOR es un acrónimo doloroso de DODCO Interpretive Code for Three Address with Technical Optimum Range . DICTATOR , introducido en 1959, es un intérprete diseñado para ocultar los detalles de la máquina LGP- 30 al programador. El lenguaje de programación se parece al código ensamblador de tres operandos con dos operandos de origen y un operando de destino. Todos los números están en punto flotante con una mantisa de ocho dígitos y un exponente de dos dígitos. Se admiten logaritmos naturales y exponentes junto con seno, coseno y arctan . Se admiten hasta cuatro bucles anidados. Se implementan operaciones de búsqueda de tablas y movimiento de memoria de bloques. El intérprete utiliza un poco más de la mitad de la memoria total de LGP-30; tarda unos 30 minutos en cargar la cinta de papel a través de Flexowriter. La suma, resta, multiplicación y división de punto flotante tardan menos de 455 milisegundos cada una. El coseno se calcula en 740 milisegundos. [11]
El procedimiento para poner en marcha o " arrancar " la LGP-30 fue uno de los más complicados que se hayan ideado jamás. En primer lugar, la cinta de papel de arranque se encajaba en la consola de la máquina de escribir, una Friden Flexowriter . El operador presionaba una palanca en la Flexowriter para leer un campo de dirección y presionaba un botón en el panel frontal para transferir la dirección a un registro de la computadora. Luego, se presionaba la palanca en la Flexowriter para leer el campo de datos y se presionaban tres botones más en el panel frontal para almacenarlo en la dirección especificada. Este proceso se repetía, tal vez seis u ocho veces, y se desarrolló un ritmo:
rebuzno, ruido metálico,burrrp, ruido, ruido, ruido, ruido,rebuzno, ruido metálico,burrrp, ruido, ruido, ruido, ruido,rebuzno, ruido metálico,burrrp, ruido, ruido, ruido, ruido,rebuzno, ruido metálico,burrrp, ruido, ruido, ruido, ruido,rebuzno, ruido metálico,burrrp, ruido, ruido, ruido, ruido,rebuzno, ruido metálico,burrrp, clunk, clunk, clunk.
El operador entonces quitó la cinta de arranque, colocó la cinta que contenía el cargador regular, colocándola con cuidado para que no se atascara, y presionó algunos botones más para iniciar el programa de arranque. Una vez que el cargador regular estuvo dentro, la computadora estaba lista para leer una cinta de programa. El cargador regular leía una cinta de formato más compacto que el cargador de arranque. Cada bloque comenzaba con una dirección de inicio para que la cinta pudiera rebobinarse y volver a intentarse si ocurría un error. Si se cometía algún error en el proceso, o si el programa fallaba y dañaba el programa de carga, el proceso debía reiniciarse desde el principio. [12]
En 1963, [13] Librascope produjo una actualización transistorizada del LGP-30 llamada LGP-21. [14] [15] La nueva computadora tenía alrededor de 460 transistores y alrededor de 375 diodos. Costaba solo $16,250, un tercio del precio de su predecesora. Desafortunadamente, también era aproximadamente un tercio de la velocidad de la computadora anterior.
La computadora central pesaba alrededor de 90 libras (41 kg), [16] el sistema básico (incluyendo impresora y soportes) alrededor de 155 libras (70 kg). [17]
Otra máquina sucesora, más potente, fue la General Precision RPC 4000, anunciada en 1960. [18] Similar a la LGP-30, pero transistorizada, contaba con 8.008 palabras de 32 bits de almacenamiento en tambor de memoria. Tenía 500 transistores y 4.500 diodos, se vendía por 87.500 dólares y pesaba 500 libras (230 kg). [19] [20] [21]
Edward Lorenz utilizó el LGP-30 en su intento de modelar patrones climáticos cambiantes. Su descubrimiento de que las diferencias masivas en el pronóstico podían derivar de pequeñas diferencias en los datos iniciales lo llevó a acuñar los términos atractor extraño y efecto mariposa , conceptos centrales en la teoría del caos . [22] El RPC-4000 (sucesor del LGP-30) también es recordado como el ordenador en el que Mel Kaye realizó una legendaria tarea de programación en código de máquina , contada por Ed Nather en la épica hacker La historia de Mel . [23]
La simulación de software de LGP-30 y LGP-21 está respaldada por SIMH , un emulador multiplataforma y multisistema gratuito y de código abierto.
{{cite web}}
: Mantenimiento de CS1: otros ( enlace )En noviembre de 1955, (...) ocurrieron dos eventos importantes. La computadora LGP-30, que contenía siete cabezales MH-10R, no funcionó correctamente en la Exposición Internacional de Automatización en Chicago el 15 de noviembre de 1955. De hecho, una computadora LGP-30 no funcionó satisfactoriamente hasta marzo de 1956, y la computadora no se ofreció a la venta al público en general hasta el otoño de 1956.
{{cite book}}
: CS1 maint: varios nombres: lista de autores ( enlace )Del tamaño de dos escritorios, pesa 900 libras.