Articulo de referencia

Toro Gamma 3

La Gamma 3 fue una de las primeras computadoras electrónicas de tubos de vacío . Fue diseñada por la Compagnie des Machines Bull en París , Francia, y lanzada en 1952. Diseñado ...

La Gamma 3 fue una de las primeras computadoras electrónicas de tubos de vacío . Fue diseñada por la Compagnie des Machines Bull en París , Francia, y lanzada en 1952.

Diseñado originalmente como un acelerador electrónico para máquinas tabuladoras electromecánicas , similar al IBM 604 , se fue mejorando gradualmente con nuevas características y evolucionó hasta convertirse en una computadora de programa almacenado de primera generación (Gamma AET, 1955, luego ET, 1957). [ 1 ] [ 2 ] En sus configuraciones de programa almacenado, el Gamma 3 compitió principalmente con el IBM 650 .

Durante sus diez años de disponibilidad, esta máquina facilitó la transición de los equipos electromecánicos de registro de unidades a las computadoras. La Gamma 3 fue un éxito comercial, llegando a vender más de 1200 unidades e impulsando a IBM a lanzar la 1401 como competidora. [ 3 ] [ 4 ]

Al modelo Gamma 3 le sucedieron el Gamma 10 de gama baja , el Gamma 30 de gama media y el ordenador central Gamma 60 , de gran tamaño y gama alta .

Historia

Hasta la década de 1950, Compagnie des Machines Bull, al igual que su rival IBM, comercializaba principalmente tabuladoras de tarjetas perforadas para la gestión de inventarios, nóminas y contabilidad.

Estas tabuladoras realizaban operaciones aritméticas mediante una serie de ruedas de dígitos accionadas por un dispositivo electromecánico. Solo admitían el incremento, y por lo tanto la suma, lo que hacía que las restas y multiplicaciones fueran particularmente lentas. [ 5 ]

Para aumentar la velocidad de cálculo y evitar retrasos en la lectura de tarjetas perforadas durante operaciones más complejas, se hizo necesario un acelerador capaz de superar las limitaciones electromecánicas. [ 5 ]

A partir de 1949, la compañía Bull se interesó en los tubos de vacío por su velocidad de conmutación en comparación con la adición de ruedas y relés electromecánicos . La computadora se diseñó utilizando circuitos lógicos que comprendían alrededor de 400 tubos de vacío, 8000 diodos de germanio y registros de 48 bits hechos de líneas de retardo eléctricas para reducir aún más la dependencia de los tubos de vacío. [ 6 ] [ 7 ]

La máquina tiene una velocidad de reloj de 281 kHz , [ 8 ] superior a los 50 kHz del IBM 604 y, lo que es más importante, varios órdenes de magnitud más rápida que los dispositivos electromecánicos. El tiempo de ejecución para sumar dos números era de 680 μs, mientras que las multiplicaciones tardaban 5,7 ms. La duración de la ejecución de las instrucciones variaba de 0,6 ms a 10 ms, con un tiempo medio de 2 ms. [ 8 ] [ 9 ] La Gamma 3 estaba conectada a la tabuladora mediante un cable enchufado en lugar de su panel de conexión (donde se codificaban las instrucciones del programa); por lo tanto, el programa residía y se ejecutaba en el ordenador Gamma 3 en lugar de en la tabuladora. [ 2 ]  

Sin embargo, aunque la Gamma 3 era programable mediante un panel de conexión extraíble similar al de las tabuladoras, seguía siendo un dispositivo periférico de la tabuladora y no al revés. Además, a pesar de ser electrónica, binaria y tener un conjunto de instrucciones Turing-completo , la Gamma 3 aún carecía de la capacidad de almacenar programas en memoria. [ 6 ]

Unidades Gamma 3 producidas en la planta de Bull en Angers, Francia, durante la década de 1950.

Un primer paso hacia la configuración de programas almacenados se dio con el Programa de Tarjetas (Programme Par Carte, PPC), que introdujo la capacidad de ejecutar un programa cargado desde tarjetas perforadas en lugar de cableadas a un panel de conexión. [ 6 ] IBM también experimentó con un concepto similar con la extensión CPC (Card Programmed Calculator) añadida a la 604. [ 10 ] Sin embargo, aunque esto eliminaría la limitación de 64 pasos de programación y permitiría ejecutar programas de tamaño arbitrario, los programas aún no se ejecutaban en la memoria principal, por lo que su velocidad de ejecución dependía de la velocidad de lectura de las tarjetas perforadas que contenían el programa.

La computadora se actualizó en 1955 con la inclusión de un tambor magnético , lo que añadió 8192 palabras de memoria, equivalentes a 49 kB (64 pistas de 8 bloques de 16 palabras de 48 bits), [ 11 ] [ 12 ] una cantidad bastante generosa para la época. Se podían almacenar hasta tres instrucciones por palabra en el tambor, lo que permitía almacenar hasta 25 000 instrucciones. [ 7 ] Esta nueva versión se denominó Gamma 3 AET (Armoire Extension Tambour, o Gabinete de Extensión de Tambor).

Los programas se almacenaban en la memoria del AET en grupos de 48 instrucciones, denominados "series". Cuando era necesario, una serie se movía del tambor a un grupo de memoria intermedio que actuaba como caché de instrucciones, lo que permitía al ordenador obtener cada instrucción una por una y transferirlas a su registro de instrucciones . Curiosamente, las instrucciones, en particular las direcciones, podían modificarse dentro de la unidad aritmética del ordenador, al igual que cualquier otro dato. Esta capacidad allanó el camino para el direccionamiento indirecto o indexado. [ 7 ] La caché de instrucciones también mitigó el problema que se presentaba con el IBM 650, que requería optimizar la disposición de las instrucciones en el tambor para evitar que su latencia ralentizara el programa. [ 13 ]

Como última mejora, en 1957 se duplicó la altura del tambor magnético, alcanzando las 16 384 palabras (98 kB) o 50 000 instrucciones, y se incluyó una consola de operador independiente, con una pantalla CRT de osciloscopio y botones para examinar la memoria y ejecutar el código paso a paso. [ 14 ] Esta nueva configuración se denominó Gamma 3 ET, por Extension Tambour.

Sistema Gamma ET completo en la exposición SICOB de París, a finales de la década de 1950. La consola del operador es visible en primer plano, junto con dos máquinas tabuladoras. Los gabinetes de la CPU y la memoria se encuentran al fondo.

Con su capacidad para cargar y ejecutar programas en memoria, la Gamma 3 en sus configuraciones AET y ET se convirtió en la primera computadora comercial francesa de programa almacenado (aunque SEA ya había fabricado computadoras de programa almacenado anteriormente). [ 1 ] El tabulador ahora funcionaba como un dispositivo de entrada/salida, mientras que la Gamma 3 se convirtió en una unidad central de procesamiento con una arquitectura Von-Neumann . [ 15 ] Gradualmente, los equipos de registro de unidades electromecánicas dieron paso a las computadoras electrónicas. [ 16 ] La Gamma 3 ET se posicionó como competidora de la computadora IBM 650, que tenía un diseño muy similar. [ 1 ] [ 3 ]

El primer cliente en recibir una Gamma 3 fue Crédit Lyonnais en Saint-Étienne en marzo de 1953. [ 8 ] Posteriormente, la Gamma 3 y la 3 ET se utilizaron tanto en el procesamiento de datos comerciales dentro de grandes empresas como para cálculos científicos, en particular en el entonces emergente CERN y CNRS [ 1 ] [ 17 ] o Air Liquide . [ 18 ]

Bull nunca vendió la Gamma 3 en Estados Unidos a pesar de su asociación con Remington Rand - Univac y de tener una versión personalizada con una  fuente de alimentación de 60 Hz. [ 7 ]

El Gamma 3 fue un éxito comercial en Europa, con aproximadamente 1200 unidades vendidas, superando en ventas al IBM 650. [ 3 ] El Gamma 3 ampliado se comparaba muy favorablemente con su competidor: el espacio de memoria era cuatro veces mayor y podía almacenar doce veces más instrucciones en memoria, mientras que la velocidad de procesamiento era generalmente más alta. [ 7 ] Este éxito impulsó a IBM a diseñar el 1401 en respuesta. [ 3 ] [ 19 ]

Organización de la memoria

El Gamma 3 implementa tres tipos de memoria, todas ellas basadas en palabras de 48 bits o 12 caracteres BCD.

El primer tipo son un grupo de siete registros en el núcleo de la CPU. M1 , también llamado Memoria del Operador, es el acumulador y tiene conectado el sumador-restador, mientras que M2 es el acumulador auxiliar para aritmética de doble precisión de 96 bits. M3 a M7 son registros de propósito general llamados Memorias Comunes ( Mémoires Banales ). Las transferencias entre ellos pasan por M1. M0 es un registro especial vinculado a M1 y no disponible para el programador. [ 20 ]

Estructura del ordenador Gamma 3, según un curso de programación de la década de 1950. Los bloques de código y datos del tambor alimentan los grupos de memoria (mitad inferior). Los tres primeros grupos (0, 1 y 2) son ejecutables y se denominan Series. La Serie 3 está asignada al panel de conexiones, mientras que el Grupo 3 funciona como búfer de E/S. El código máquina de una Serie se recupera de la memoria, se decodifica y se ejecuta (mitad superior).

Además de esos registros genéricos, el Gamma 3 también utiliza seis registros internos:

  • MC : Memoria de comparación. Este registro almacena el resultado de una instrucción de comparación.
  • MD : Memoria de desplazamiento. Este registro de desplazamiento se utiliza tanto para operaciones BCD como aritméticas.
  • MS1 : Memoria de signo. Almacena el signo aritmético actual. MC, MD y MS1 están vinculados al acumulador y forman parte de la memoria del operador.
  • NL : Número de línea, que ahora se denominaría Contador de programa .
  • RNL1 / RNL2  : Registro de número de línea, que actúa como registros de pila .

Para reducir el número de tubos electrónicos, una fuente común de fallos, los registros (memorias comunes) utilizan líneas de retardo eléctricas en lugar de biestables. [ 21 ]

Un segundo tipo de memoria se conoce como Memorias Circulantes, que actúan como búferes, ya que su contenido está diseñado para intercambiarse con la memoria de tambor. Las memorias circulantes, denominadas de M8 a M15 , se implementan mediante líneas de retardo magnetorrestrictivas en un gabinete independiente y dedicado (ET). Estas ocho memorias se agrupan en pares para formar cuatro "grupos". Los grupos 0, 1 y 2 son ejecutables y se denominan "series", y cada serie funciona como una caché de instrucciones con capacidad para 48 instrucciones. El panel de conexiones, cuando se utiliza, constituye la serie 3. Esta se usaría posteriormente para extensiones específicas distribuidas como subrutinas cableadas.

El grupo 3 actúa como búfer de E/S. También se puede añadir un módulo de memoria "Ordonnateur" (ORD), que proporciona cuatro grupos adicionales (del 4 al 7), cada uno de los cuales almacena datos, ninguno de ellos ejecutable.

Finalmente, la memoria de tambor funciona como un gran dispositivo de intercambio que almacena tanto código como datos, y se alimenta mediante tarjetas perforadas. En la Gamma 3, el código no se ejecuta desde el tambor, sino desde los tres primeros grupos de memorias circulantes. Si bien esto aumenta la velocidad de ejecución, también hace que los saltos de memoria sean más costosos, ya que primero se debe intercambiar una página del tambor a las memorias MC con una instrucción específica ("TB").

El tambor consta de un cilindro de duraluminio  de 15 o 30 cm de longitud que gira a unas 2750 rpm. Alberga 64 o 128 pistas de 8 bloques, cada bloque con un grupo; por lo tanto, el tambor puede almacenar hasta 1024 series o 49 152 instrucciones. [ 21 ] La densidad de grabación se aproximaba a los 300 bits por pulgada, utilizando modulación de fase , lo que constituía un récord en aquel momento. [ 22 ]

Conjunto de instrucciones

Tabla de códigos original de 1959. Esto ayuda a convertir mnemónicos a código máquina. Por ejemplo, la instrucción CB se traduce a TO=1,AD=15.

Una instrucción Gamma 3 consta de una palabra de 16 bits compuesta por cuatro números hexadecimales : un código de operación ( TO , Type d'Opération ), una dirección ( AD ), un orden de inicio ( OD , Ordre Début ) y un orden de finalización ( OF , Ordre Fin ). El campo TO especifica el tipo general de instrucción, mientras que los otros tres campos actúan como parámetros. [ 20 ] OD y OF establecen posiciones , que pueden ser dígitos en modo binario o caracteres en modo BCD. El conjunto de instrucciones proporciona un total de 29 mnemónicos.

Ejemplo de programa en una hoja de codificación. La primera columna muestra las etiquetas y los saltos. Las columnas siguientes muestran el registro de programa (NL), los mnemónicos, el contenido del registro de desplazamiento (MD) y el contenido de los primeros cuatro registros.

Inicialmente no se proporcionaba ningún ensamblador, a menudo llamado autocodificador en aquella época, ni lenguajes de alto nivel como Fortran , que aún no se habían inventado. En su lugar, el programador primero creaba un diagrama de flujo del programa, lo completaba con mnemónicos, convertía manualmente los mnemónicos a código máquina mediante una tabla y, a continuación, escribía el código resultante en una hoja de codificación para su revisión antes de perforarlo en tarjetas. Tras cargar el programa en la memoria de tambor, el panel del operador permitía al programador examinar y depositar datos en la memoria, así como controlar el flujo del programa para fines de depuración. [ 14 ]

Las instrucciones residen en una serie alojada en las memorias circulantes del gabinete ET, donde el procesador (el gabinete Gamma 3) recupera y decodifica el código. Se pueden cablear programas cortos en el panel de conexiones, aunque lo más común es que se perforen en tarjetas y se introduzcan en la memoria de tambor para su ejecución como programa almacenado. [ 12 ]

La siguiente tabla describe las instrucciones con sus mnemónicos y el código máquina correspondiente:

Dado que el panel de conexiones estaba asignado a la serie 3, algunas extensiones y subrutinas se distribuyeron posteriormente como programas precableados para el panel de conexiones. Un ejemplo de ello fue la extensión ' PDF ' ( Point Decimal Flottant , o Floating Point Decimal), que añadía dos instrucciones adicionales: BD y DCC para facilitar el uso de números de punto flotante. [ 23 ]

Las descripciones completas del conjunto de instrucciones, junto con ejemplos de programación, todavía se pueden encontrar hoy en día en algunos cursos de programación de la década de 1950. [ 24 ] [ 12 ]

En los últimos días de la Gamma 3, un equipo de estudiantes liderado por el profesor Pierre Bacchus de la Universidad de Lille implementó un lenguaje de alto nivel . Este lenguaje, Auto-Programmation Bull (APB), combinaba elementos del lenguaje ensamblador de la Gamma 3 con elementos estructurados de lo que se convertiría en ALGOL 60. [ 25 ] Finalmente , se hizo bastante popular entre los usuarios de la Gamma 3 y posteriormente se adaptó a la IBM 1620. [ 25 ]

Particularidades históricas y técnicas

El Gamma 3 cuenta con una ALU de modo dual , capaz de operar tanto en modo decimal (palabras BCD de 12 caracteres ) para el procesamiento de datos comerciales, como en modo binario (palabras de 48 bits) para computación industrial y científica. Algunas instrucciones específicas, CD y CB, permiten la conmutación entre ambos modos. [ 9 ]

Como característica poco común para la década de 1950, la Gamma 3 estaba equipada opcionalmente con una biblioteca de punto flotante integrada. Este modelo, conocido como Gamma 3M, estaba destinado a cálculos científicos. [ 9 ] Con el tiempo, esta capacidad se incorporó a la Gamma 3 ET.

Los números de coma flotante se representan mediante 48 bits. El primer bit se utiliza para el signo, los siguientes ocho bits para el exponente y los siguientes 39 bits para la mantisa (también llamada comúnmente mantisa). [ 21 ]

A finales de la década de 1950, el profesor Louis Bolliet impartió los primeros cursos universitarios de programación en Francia utilizando máquinas Gamma 3 ET, lo que marcó un cambio de los cursos ofrecidos por el fabricante a un marco académico. Estos cursos ahora están disponibles en línea y han sido fundamentales para la creación de simuladores Gamma 3. [ 24 ]

La Gamma 3 fue la primera computadora producida en más de mil unidades. [ 26 ]

Preservación

Aún existen cuatro ejemplares del Gamma 3. Uno se exhibe en el museo Technikum cerca de Frankfurt, [ 27 ] otro en la Fédération des Équipes Bull en Angers , Francia, donde fue fabricado, [ 28 ] y otro en el Museo degli Strumenti per il Calcolo en Pisa , Italia. [ 29 ] Por último, el museo ACONIT en Grenoble , Francia, alberga un ejemplar único del Gamma 3 ET. [ 11 ]

Véase también

Referencias

  1. 1 2 3 4 "Compagnie des Machines Bull lanza la Gamma ET, la primera computadora con programa almacenado producida para la venta en Francia  : History of Information" . www.historyofinformation.com . Consultado el 25 de julio de 2023 .
  2. 1 2 "Gamma 3" . www.feb-patrimoine.com . Consultado el 23 de julio de 2023 .
  3. 1 2 3 4 "Orígenes de la arquitectura y el diseño del 1401" . ibm-1401.info . Consultado el 23 de julio de 2023 .
  4. Bashe, Charles J. (1986). Los primeros ordenadores de IBM . The MIT Press. pp. 461, cap. 12. ISBN  9780262523936.
  5. 1 2 "tabulatrice BS120 Bull, chr3inf2" . www.histoireinform.com . Consultado el 22 de julio de 2023 .
  6. 1 2 3 "Compagnie des machines Bull" . www.feb-patrimoine.com . Consultado el 22 de julio de 2023 .
  7. 1 2 3 4 5 Leclerc, Bruno. "Bull Gamma 3 ET - El calculador del ordenador" . www.feb-patrimoine.com . Consultado el 25 de julio de 2023 .
  8. 1 2 3 "Compagnie des machines Bull" . www.feb-patrimoine.com . Consultado el 22 de julio de 2023 .
  9. ^ Guyot , Alain (2022) . "Arithmétique du Gamma 3" (PDF) . ACÓNITO (en francés).
  10. "Archivos de IBM: Calculadora programada con tarjeta" . www.ibm.com . 23 de enero de 2003. Consultado el 22 de julio de 2023 .
  11. 1 2 "DBAconit V26.3" . db.aconit.org . Consultado el 22 de julio de 2023 .
  12. ^ Chabrol , Jean (1959) . Curso ET-ORD (PDF) (en francés).
  13. "La IBM 650" . www.columbia.edu . Consultado el 26 de julio de 2023 .
  14. 1 2 "Imagen de una Gamma ET completa que muestra la consola del operador, la Unidad Central de Procesamiento, las memorias de tambor y las máquinas tabuladoras" . Boletín de la Federación de Equipos . 1957.
  15. ^ Bellec, Jean. La mécanographie (PDF) (en francés). Centro Nacional de Artes y Oficios (CNAM). págs.13 (capítulo 12.1). 
  16. «Musée virtual de l'informatique | Gamma 3 ET» . aconit.inria.fr . Consultado el 22 de julio de 2023 .
  17. "Destino de objetos científicos y técnicos : L'aventure du Gamma 3 (10/5 - año 2018)" . www.echosciences-grenoble.fr . Consultado el 22 de julio de 2023 . 
  18. "APLICACIONES DE UNA COMPUTADORA DIGITAL ELECTRÓNICA EN EL DISEÑO DE PLANTAS DE BAJA TEMPERATURA" . Consultado el 19 de diciembre de 2023 .
  19. "Cronología de la industria de las tecnologías de la información" . www.feb-patrimoine.com . Consultado el 22 de julio de 2023 .
  20. 1 2 Ponsard, Christophe (2023). Comprensión del ordenador de primera generación Bull GAMMA 3 mediante emulación (PDF) . FOSDEM 23.
  21. 1 2 3 Baumann, Arnaud. Extensión de documentación Bull-Gamma 3 (PDF) . IMAG. pp. cap. 5.1. 
  22. Leclerc, Bruno (enero de 1990). "De Gamma 2 a Gamma ET: El nacimiento de la computación electrónica en Bull". Annals of the History of Computing . 12 (1): 5– 22. doi : 10.1109/MAHC.1990.10010 . ISSN 0164-1239 . La señal almacenada estaba en un modo autosincronizado y modulado en fase. La densidad de bits era cercana a 300 bits por pulgada, más del 50 % superior al estado del arte de la época. 
  23. Toro, Compañía de máquinas (1952). "CNUM - M14926 : Gamma 3, cálculo electrónico" . CNAM-MUSEO CM0.4-BUL . Consultado el 6 de agosto de 2023 . 
  24. ^ Bolliet , Luis. "Curses de Programación Gamma ET" (PDF) . Université de Grenoble - Mathématiques Appliquées (en francés).
  25. 1 2 Mounier-Kuhn, Pierre (2014). "Algol en Francia: Del proyecto universal a la cultura integrada" . IEEE Annals of the History of Computing . 36 (4): 6– 25. Bibcode : 2014IAHC...36d...6M . doi : 10.1109/MAHC.2014.50 . ISSN 1058-6180 . 
  26. Leclerc, Bruno (enero de 1990). "De Gamma 2 a Gamma ET: El nacimiento de la computación electrónica en Bull". Annals of the History of Computing . 12 (1): 5– 22. doi : 10.1109/MAHC.1990.10010 . ISSN 0164-1239 . 
  27. "Una calculadora de tubos de primera generación: BULL GAMMA 3 - technikum29" . www.technikum29.de . Consultado el 22 de julio de 2023 .
  28. ^ ocgall (30 de abril de 2016). "Angers, depuis 56 ans, Bull pionnier en électronique !" . Des Mauges en Anjou... (en francés) . Consultado el 22 de julio de 2023 . 
  29. «MUSEO DEGLI STRUMENTI PER IL CALCOLO - I Grandi Calcolatori: Gamma 3 BULL» . www.fondazionegalileogalilei.it . Consultado el 30 de julio de 2023 .
  • Especificaciones técnicas y conjunto de instrucciones
  • Visualización 3D del Gamma 3
  • Simulador de programación de tablero de conexiones
  • Simulador en línea Gamma 3 ET
  • FOSDEM: Entendiendo el ordenador Bull GAMMA 3 de primera generación mediante emulación
  • Descripción del Gamma 3 en el sitio web de ACONIT.
  • Descripción del Toro Gamma 3, Fédération des Équipes
  • Bull Gamma 3 en el sitio web de Technikum
  • Lista de reproducción de YouTube con entrevistas relacionadas con Bull gamma 3 (en francés).