stringtranslate.com

Toro Gamma 60

El Bull Gamma 60 fue un gran ordenador mainframe transistorizado diseñado por la Compagnie des Machines Bull . Anunciado inicialmente en 1957, la primera unidad se envió en 1960. Tiene la distinción de ser el primer ordenador multiproceso del mundo y el primero en presentar una arquitectura especialmente diseñada para el paralelismo . [1] [2]

El Gamma 60 fue la punta de lanza de numerosas tecnologías innovadoras a principios de los años 60, en particular en el campo de la multiprogramación, utilizando herramientas que todavía estaban en sus etapas iniciales. Tras su lanzamiento, su arquitectura atrajo una atención significativa entre los diseñadores de máquinas, convirtiéndose en un tema de estudio junto con las supercomputadoras contemporáneas y siendo citado como un ejemplo de progreso en el diseño de computadoras. [3] [4]

A pesar de sus innovaciones, el gran tamaño de la Gamma 60 (cerca de 370 m2), su alto coste, el consumo de energía y la complejidad acabaron por dar lugar a un éxito comercial limitado, con sólo unas veinte unidades vendidas en todo el mundo. Entre sus principales competidores se encontraban las IBM 7070, 7090 y 7030 "Stretch". [5] La última Gamma 60 permaneció en servicio hasta 1974. [6]

Diseño

El Gamma 60 marcó la entrada de Bull en el campo de la memoria central , la lógica de estado sólido y las capacidades de cinta magnética . [7] Su núcleo arquitectónico se basaba en una memoria central grande y de alta velocidad, con un árbitro (conocido como el Distribuidor de Programa) responsable de distribuir datos e instrucciones a las distintas unidades dentro de la computadora. El procesador estaba segmentado en una unidad central y una serie de unidades de procesamiento especializadas y discretas. Este diseño permitía el funcionamiento simultáneo de hasta cinco clústeres, cada uno de los cuales contenía cinco unidades de procesamiento. [8]

Cada unidad de la computadora, ya sea una unidad de procesamiento o un dispositivo periférico, operaba de manera autónoma y solicitaba datos e instrucciones a la unidad central cuando estaban disponibles. La transmisión de datos hacia y desde las unidades de procesamiento se producía a través de dos buses independientes: uno para la transmisión y otro para la recuperación. [4]

Procesador

El procesador operaba en una configuración paralela de 24 bits, con sus tipos de datos primarios empleando una, dos o cuatro palabras, también denominadas "catenae", que iban desde 24 a 96 bits de ancho. Los dispositivos externos más simples y lentos a menudo empleaban una lógica paralela de 8 bits internamente. Estos dispositivos se comunicaban con la unidad central a través de mensajes de bits en serie para las solicitudes de instrucciones y transferencia de datos. Todos los mensajes eran asincrónicos y la máquina, a través de clases de prioridad, estaba diseñada para acomodar latencias de dispositivo muy altas si fuera necesario, incluso desde una ALU ( Unidad Lógica Aritmética ). [4]

El procesador se dividió en cuatro tipos de elementos de procesamiento: [2]

Aunque hasta veinticinco de esas unidades de procesamiento especializadas podían funcionar simultáneamente, en la máquina sólo existía una unidad central (que funcionaba como despachador), lo que no clasifica como una arquitectura SMP ( multiprocesamiento simétrico ).

Dada la distribución de las unidades de procesamiento en gabinetes separados, la elección de una velocidad de reloj más lenta de 100 kHz, la mitad de lo que se había previsto originalmente, tenía como objetivo mitigar el impacto de los retrasos de propagación . Aunque esto impuso una limitación en el rendimiento de las unidades de procesamiento individuales, la estrategia de Bull fue contrarrestarla mediante el paralelismo y la capacidad de agregar fácilmente unidades de procesamiento adicionales. [5] Curiosamente, si bien la lógica Gamma 60 estaba transistorizada, el voltaje operativo de los transistores de germanio era demasiado bajo para contrarrestar la impedancia de las grandes distancias que a veces podían ocurrir entre algunos gabinetes y periféricos. Como resultado, se tuvieron que usar tubos de vacío en ciertos casos para controlar el reloj y algunas señales de E/S. [9]

En términos modernos, la CPU Gamma 60 se describiría como un procesador central de tiempo compartido de hardware para procesos paralelos asincrónicos, utilizando un paralelismo de bifurcación-unión explícito a nivel de instrucción. [4]

El Gamma 60 prefiguró la arquitectura de los procesadores superescalares , donde el papel de su memoria central ahora es asumido en parte por cachés. Además, compartía similitudes con arquitecturas EPIC como Intel Itanium , en que cada instrucción era su propio hilo, y la gestión de la concurrencia de ejecución y la coherencia del acceso a memoria se colocaba bajo la responsabilidad del programador. [8] [4]

Memoria

Memoria central del Gamma 60

La memoria central se implementó con una pila de memoria central con un ciclo de memoria básico de 10 μs, lo que la convirtió en el componente más rápido del Gamma 60 (en comparación, una adición de punto fijo requería 100 microsegundos). Las direcciones de memoria principal se codificaron en 15 bits, lo que permitió que la memoria central almacenara 32.768 palabras o 96 kB.

El mapa de memoria era continuo y compartido por todas las unidades, excepto los primeros 128 bytes que eran específicos de cada unidad y contenían un conjunto de registros locales. Como la memoria central tenía, con diferencia, la latencia más baja de todos los componentes, constituía el corazón del Gamma 60. A partir de entonces, las unidades de procesamiento no tenían memoria de trabajo además de sus registros, sino que el Distribuidor de Programas les enviaba datos e instrucciones cargando punteros a la memoria central en sus registros. [4]

La memoria de 128 bytes de cada unidad de procesamiento se implementó utilizando memoria de núcleo planar y siguió el siguiente mapa: [2]

Una excepción fue el Distribuidor de Programas, que tenía su propio conjunto de registros.

Periféricos

Los periféricos del Gamma 60 se clasificaron en cuatro clases distintas según sus características de latencia y rendimiento. [10]

Clase 0

Consola Bull Gamma 60

La clase 0 incluía los periféricos más rápidos y con mayor capacidad de respuesta en el tiempo. El distribuidor de programas favorecía esta clase sobre cualquier otra para transferir instrucciones y datos. Consistía en dos dispositivos: la unidad lógica (ALU binaria) y el pupitre del operador.

Clase 1

La clase 1 incluía la Unidad Aritmética (ALU BCD), el Comparador General y el Transcodificador (unidad de traducción).

Clase 2

La clase 2 incluía dispositivos de almacenamiento, en particular:

Los tambores magnéticos actuaban como memorias de gran tamaño con un tiempo de acceso más lento que la memoria central (10 milisegundos frente a 10 microsegundos). Se podían añadir hasta cuatro tambores a la Gamma 60, cada uno con una capacidad de 128 pistas de 200 palabras (150 kB cada una). Su memoria no estaba asignada al espacio de nombres de la memoria principal, sino que se accedía a ella como si se tratara de una cinta magnética.

Hasta diez procesadores de E/S especializados, denominados Uniselectores, podían controlar hasta doce unidades de cinta cada uno. Sin embargo, solo se podían conectar 48 unidades de cinta simultáneamente.

Las cintas magnéticas tenían una densidad de grabación de 200 bits por pulgada y una longitud de 730 m o 1100 m. Las unidades de cinta magnética utilizaban modulación de fase en lugar de NRZ (sin retorno desde cero), una tecnología que se había desarrollado previamente para la memoria de tambor de la Gamma 3 .

Clase 3

La clase 3 incluía equipos de grabación más lentos como:

Clase 4

Por último, la clase 4 incluía los periféricos más lentos, como teletipos y máquinas de escribir.

Ciclo de ejecución

Diagrama de bloques del Gamma 60

El mecanismo de secuenciación empleado por el Gamma 60 comprendía una orquestación de obtención y distribución de instrucciones, control de ejecución, acceso a memoria y comunicación entre procesos. La siguiente secuencia detalla un ciclo completo de ejecución de instrucciones: [2]

  1. El distribuidor de programas buscó la unidad de procesamiento de mayor prioridad que solicitaba una instrucción (señal ITR).
  2. El distribuidor de programas envió una señal a la unidad de procesamiento de mayor prioridad, que luego devolvió su palabra de estado, posteriormente colocada en el Registro de direcciones (AR).
  3. a ) Si la unidad estaba ocupada pero no estaba ejecutando una directiva, el distribuidor de programas buscaba y ejecutaba la instrucción a la que se dirigía el Registro de Dirección de Programa (PAR) de esa unidad. Cuando se encontraba una nueva directiva, se enviaba a la unidad de procesamiento y el distribuidor de programas buscaba otro trabajo. b ) Si la unidad de procesamiento de mayor prioridad estaba disponible, el distribuidor de programas verificaba la cola de la unidad en busca de procesos en espera. Si los encontraba, el PAR se cargaba con la dirección del puntero de cabecera de cola de la unidad de procesamiento más uno, se actualizaba el puntero de cabecera de cola y comenzaba la búsqueda y ejecución de instrucciones para esa unidad hasta que se encontraba una palabra directiva (o de corte). Como antes, al enviar la directiva, el distribuidor de programas restablecía la señal de solicitud de instrucción y buscaba otro trabajo.
  4. Cuando la unidad de procesamiento estaba lista para recibir o transmitir datos hacia/desde la memoria, enviaba una señal al árbitro de memoria.
  5. El árbitro de memoria honró la solicitud de memoria, utilizando la dirección del DAR (Registro de dirección de datos) apropiado.
  6. La unidad de procesamiento continuó con la transferencia de datos hasta que se completó la instrucción. Luego envió una nueva señal de solicitud de instrucción al distribuidor de programas.

Programación

La programación del Gamma 60 era tediosa, ya que en aquella época no existían herramientas de desarrollo adecuadas para la programación paralela. Los lenguajes de alto nivel aparecieron recién dos años después de la introducción del Gamma 60.

Existían dos tipos de lenguajes de máquina:

Reconociendo la necesidad de un lenguaje de alto nivel, Bull comenzó el desarrollo de un nuevo lenguaje para Gamma 60 llamado AP3. Sin embargo, esta iniciativa finalmente fue abandonada en favor de ALGOL , en el que Bull invirtió significativamente a partir de fines de la década de 1950. [13] El compilador ALGOL 60 finalmente se lanzó en diciembre de 1962. [13]

Aunque Algol resolvió muchos problemas de complejidad en la programación del Gamma 60, no era adecuado para aplicaciones comerciales. Además, COBOL no existía cuando se diseñó el Gamma 60 y todavía estaba en sus primeras etapas durante la vida útil de la computadora. Además, el Gamma 60 usaba un modelo de bifurcación-unión [7] para el cual COBOL no había sido diseñado. Como resultado, los desarrolladores no tuvieron otra alternativa que usar el código B para programar el Gamma 60 en aplicaciones comerciales. [7]

Esta ausencia de herramientas avanzadas de alto nivel para dividir tareas en pequeños subprocesos simultáneos significaba que la mayoría de los programas solo utilizaban una fracción de las capacidades del hardware. [14]

Instrucciones

Una instrucción Gamma 60 completa estaba compuesta por una serie de palabras de 24 bits de cuatro tipos:

Una instrucción completa debe siempre acompañarse de una directiva.

Los formatos de instrucciones podían variar según la unidad de procesamiento y admitían direccionamiento de memoria directo, relativo e indirecto. El Gamma 60 realizaba principalmente operaciones de memoria mediante operaciones de carga y almacenamiento en la memoria principal, o utilizaba instrucciones de procesamiento para manipular registros en las unidades de procesamiento. El multiprocesamiento se lograba con dos instrucciones: cut ("coupure") activaba una unidad de procesamiento especificando una dirección de programa, mientras que simu ("simultané") habilitaba una bifurcación asincrónica para otra unidad.

A modo de ejemplo, consideremos la siguiente expresión:

Esto podría implementarse utilizando el siguiente pseudocódigo Gamma 60: [4]

[C] cortar a unidad de multiplicación: [A] dirección (carga) b [A] dirección (carga) c [A] dirección (tienda) a [D] directiva (mult)[C] cortar a unidad aritmética: [A] dirección (carga) a [A] dirección (carga) d [A] dirección (tienda) d [D] directiva (agregar)

La distribución de instrucciones entre las unidades de procesamiento, así como el manejo de la sincronización, se realizaba automáticamente mediante el Distribuidor de Programas.

Un sistema operativo temprano, GGZ ( Gestion Générale Zéro , o Gestión General versión Cero), fue desarrollado para el Gamma 60. Se entregó como un supervisor residente compacto almacenado en cinta magnética, que contenía un gestor de arranque, una tabla de recursos, un manejador de errores y un intérprete de comandos del operador. El gestor de arranque era capaz de inicializar varias variables durante el arranque o aceptarlas del operador. [7]

Más tarde se lanzó un sistema operativo más avanzado, GGU ( Gestión General de Unidades ), pero quedó incompleto a medida que la computadora se acercaba al final de su vida útil. GGU introdujo funciones como administración de memoria, recuperación de errores mejorada y administración y programación de tareas automatizadas. [11] Se utilizó en particular en RTT en Bélgica. [6]

Desafortunadamente, las herramientas de software disponibles a fines de los años cincuenta y principios de los sesenta, como compiladores, sistemas operativos y depuradores, todavía eran demasiado primitivas para aprovechar por completo las capacidades del Gamma 60. Los compiladores que permitían la explotación automática de la concurrencia para una arquitectura EPIC recién surgieron a fines de los años noventa, después de un período de desarrollo que excedió la vida útil total del Gamma 60. [5]

Debido a los importantes desafíos que presentaba el desarrollo de programas con las herramientas rudimentarias de la época, Bull perdió varios clientes ante IBM, cuyas máquinas, aunque de un solo procesador, eran más simples y rentables. [15]

Clientela

Modelo a escala del RTT Gamma 60, en exhibición en el Museo de Computación NAM-IP en Namur, Bélgica.

Unas veinte grandes empresas y organizaciones mostraron interés en el Gamma 60 a finales de los años cincuenta y principios de los sesenta, aunque no todas lo compraron. La unidad enviada a AG Vie fue la primera que se fabricó, pero tuvo problemas de fiabilidad porque todavía se estaban descubriendo y resolviendo algunos problemas de hardware. Cuando se agotó la paciencia de la empresa, el ordenador fue desmantelado prematuramente. Gaz de France (ahora Engie ) también expresó su interés, pero más tarde se retiró debido a las complejidades operativas y de implementación. El contrato finalmente se adjudicó al IBM 7070. En la siguiente tabla se enumeran otros clientes: [15]

Maqueta de la SNCF Gamma 60 antiguamente expuesta en la estación de Auteuil, cerca de París.

La Régie des Télégraphes et Téléphones , más tarde conocida como Belgacom y ahora Proximus , contaba con una de las instalaciones Gamma 60 más grandes, con un promedio de veinte unidades de procesamiento. [17] La ​​instalación se extendía por dos pisos: el piso inferior albergaba un alternador de 400 kVA que suministraba corriente estabilizada a la computadora, junto con robustos sistemas de aire acondicionado para mantener la electrónica de germanio sensible al calor a una temperatura constante de 18 °C. El piso superior estaba dividido en tres salas: una para la computadora central, otra para la consola del operador y los lectores de cinta, y la última sala para perforadoras y lectores de tarjetas. [6]

El Gamma 60 que permaneció en servicio durante más tiempo también fue el de RTT, donde funcionó de forma continua durante 13 años. La decisión de sustituir sus dos sistemas Gamma 60 a mediados de los años 1970 por varios ordenadores Siemens 4004 tuvo motivaciones políticas, ya que el gobierno belga había establecido un contrato de cinco años que vinculaba sus sistemas de información a Siemens y Phillips. [6]

Legado

Bull dedicó importantes recursos al desarrollo de la Gamma 60, a pesar de que la utilización práctica de sus innovaciones arquitectónicas no sería factible hasta la década de 1980 o incluso la de 1990, lo que afectó en gran medida a su éxito comercial. [8] Los desafíos a los que se enfrentó en el mercado llevaron a dificultades financieras que obstaculizaron la creación de una versión más accesible y reducida, adecuada para empresas más pequeñas. En cambio, la Gamma 30 de gama media pasó a ser una versión con licencia de la computadora RCA 301, más simple y tradicional, que, si bien tuvo éxito en la competencia con la IBM 1401 , no pudo capitalizar las innovaciones de la Gamma 60. [18]

En 1963, Bull fue finalmente comprada por General Electric y el sucesor principal del Gamma 60 se convirtió en la familia GE 600 a partir de 1965.

En la actualidad no existen ejemplares supervivientes del Gamma 60, salvo algunos de sus componentes que se exhiben en algunos museos. El Museo de la Informática NAM en Namur, Bélgica, exhibe un modelo a escala detallado del Gamma 60 tal como apareció en RTT. El Gamma 60 también apareció en la película Alphaville (1965) de Jean-Luc Godard , donde interpretaba al ordenador antagonista Alpha 60. [19]

No se conoce la existencia de ningún emulador de Gamma 60 a fecha de 2024 .

Véase también

Referencias

  1. ^ Bataille, M. (1972-04-01). "Algo viejo: el Gamma 60, el ordenador que se adelantó a su tiempo". ACM SIGARCH Computer Architecture News . 1 (2): 10–15. doi :10.1145/641276.641278. ISSN  0163-5964.
  2. ^ abcd "Boceto arquitectónico de Bull Gamma 60 - Mark Smotherman". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .
  3. ^ Thornton, James E. (octubre de 1980). "El proyecto CDC 6600". Anales de la historia de la informática . 2 (4): 338–348. doi :10.1109/MAHC.1980.10044. ISSN  0164-1239. Mis obligaciones de diseño en el 1604 habían aumentado hasta incluir la supervisión de un número cada vez mayor de ingenieros. Escapé del tumulto brevemente para asistir a un seminario y un curso breve en la UCLA sobre ordenadores gigantes. El seminario revisó máquinas como STRETCH, LARC, ATLAS, ILLIAC II y GAMMA 60.
  4. ^ abcdefg Tumlin, Smotherman. "Una evaluación del diseño del Gamma 60". db.aconit.org . Universidad de Clemson . Consultado el 13 de agosto de 2023 .
  5. ^ abc "Una opinión sobre la Concepción de Gamma 60". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .
  6. ^ abcd "Gamma 60 Bull à RTT, chr4rtt". www.histoireinform.com . Consultado el 13 de agosto de 2023 .
  7. ^ ABCDE Bellec, Jean (2002). "Gamma 60, una introducción". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .
  8. ^ abc Bellec, Jean (2003). "Una opinión sobre la Concepción de Gamma 60". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .
  9. ^ "Patrimonio científico y técnico: el ordenador Gamma 60 de Bull cumple 60 años". Echosciences Grenoble (en francés e inglés) . Consultado el 19 de agosto de 2023 .
  10. ^ Davous, Bataille, Harrand (13 de agosto de 2023). "Le Gamma 60, por M. Davous, Bataille, Harrand, Ingénieurs à la Compagnie des Machines Bull". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .{{cite web}}: CS1 maint: varios nombres: lista de autores ( enlace )
  11. ^ ab Maitre, André. "Histoire du Gamma 60: aspectos técnicos - le logiciel". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .
  12. ^ Dreyfus, Pierre (1958). "Características de diseño de programación de la computadora GAMMA 60". Documentos y debates presentados en la conferencia conjunta de computadoras del este del 3 al 5 de diciembre de 1958: Computadoras modernas: objetivos, diseños, aplicaciones en XX - AIEE-ACM-IRE '58 (Eastern) . págs. 174–181. doi :10.1145/1458043.1458080.
  13. ^ ab Mounier-Kuhn, Pierre (2014). "Algol en Francia: del proyecto universal a la cultura integrada". IEEE Annals of the History of Computing . 36 (4): 6. ISSN  1058-6180.
  14. ^ Flamm, Kenneth (1 de diciembre de 2010). La creación de la computadora: gobierno, industria y alta tecnología. Brookings Institution Press. ISBN 978-0-8157-0721-9.
  15. ^ ab Bourboulon, José (2005). La aventura Gamma 60 . Fédération des Equipes Bull. ISBN 978-2-7462-1177-3.
  16. ^ ""El uso de las máquinas más avanzadas da testimonio del dinamismo del CNEP - BNP Paribas", a principios de los años 1960". BNP Paribas - Pozo de Historia . Consultado el 20 de agosto de 2023 .
  17. ^ "Historia de la Compagnie des Machines Bull". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .
  18. ^ Leclerc, Bruno. "Le Gamma 60 - Una aventura humana y técnica". www.feb-patrimoine.com . Consultado el 13 de agosto de 2023 .
  19. ^ "Protagonizada por la computadora - Bull Gamma 60 en Alphaville (1965)". www.starringthecomputer.com . Consultado el 21 de agosto de 2023 .

Enlaces externos