La gama CDC Cyber de supercomputadoras de clase mainframe fueron los productos principales de Control Data Corporation (CDC) durante los años 1970 y 1980. En su época, eran la arquitectura informática elegida para la computación científica y matemáticamente intensiva. Se utilizaban para modelar el flujo de fluidos, el análisis de tensiones en la ciencia de los materiales, el análisis de mecanizado electroquímico, [1] el análisis probabilístico, [2] la computación académica y energética, [3] el modelado de protección contra la radiación, [4] y otras aplicaciones. La línea también incluía las minicomputadoras Cyber 18 y Cyber 1000. Al igual que su predecesora, la CDC 6600 , eran inusuales en el uso de la representación binaria de complemento a unos .
La línea Cyber incluía cinco series diferentes de computadoras:
Aunque estaban pensadas principalmente para grandes aplicaciones de oficina en lugar de las tareas tradicionales de supercomputadoras, algunas de las máquinas Cyber incluían instrucciones vectoriales básicas para un mayor rendimiento en las funciones tradicionales de CDC.
Las arquitecturas Cyber 70 y 170 fueron sucesoras de las series CDC 6600 y CDC 7600 anteriores y, por lo tanto, compartían casi todas las características de la arquitectura anterior. La serie Cyber-70 es una actualización menor de los sistemas anteriores. El Cyber-73 tenía en gran medida el mismo hardware que el CDC 6400, con la adición de una unidad de comparación y movimiento (CMU). Las instrucciones CMU aceleraban la comparación y el movimiento de datos de caracteres de 6 bits no alineados con palabras. El Cyber-73 podía configurarse con una o dos CPU. La versión de CPU dual reemplazó al CDC 6500. Al igual que el CDC 6200, CDC también ofreció un Cyber-72. El Cyber-72 tenía un hardware idéntico al Cyber-73, pero añadía ciclos de reloj adicionales a cada instrucción para ralentizarlo. Esto permitió a CDC ofrecer una versión de menor rendimiento a un precio más bajo sin la necesidad de desarrollar nuevo hardware. También podía entregarse con CPU dual. El Cyber 74 era una versión actualizada del CDC 6600. [5] El Cyber 76 era esencialmente un CDC 7600 renombrado . Ni el Cyber-74 ni el Cyber-76 tenían instrucciones CMU.
La serie Cyber-170 representó la transición de los CDC de componentes electrónicos discretos y memoria central a circuitos integrados y memoria de semiconductores . Los modelos 172, 173 y 174 utilizan circuitos integrados y memoria de semiconductores, mientras que el 175 utiliza transistores discretos de alta velocidad. [6] La serie Cyber-170/700 es una actualización de finales de la década de 1970 de la línea Cyber-170.
El procesador central (CPU) y la memoria central (CM) operaban en unidades de palabras de 60 bits . En la jerga de CDC, el término "byte" se refería a entidades de 12 bits (que coincidían con el tamaño de palabra utilizado por los procesadores periféricos). Los caracteres eran de seis bits, los códigos de operación eran de seis bits y las direcciones de memoria central eran de 18 bits. Las instrucciones del procesador central eran de 15 o 30 bits. El direccionamiento de 18 bits inherente a la serie Cyber 170 impuso un límite de 262.144 (256K) palabras de memoria principal, que es memoria de semiconductores en esta serie. El procesador central no tiene instrucciones de E/S, y depende de las unidades de procesador periférico (PP) para realizar la E/S.
Un sistema de la serie Cyber 170 consta de una o dos CPU que funcionan a 25 o 40 MHz, y está equipado con 10, 14, 17 o 20 procesadores periféricos (PP) y hasta 24 canales de alto rendimiento para E/S de alta velocidad . Debido a los tiempos de referencia de memoria relativamente lentos de la CPU (en algunos modelos, las instrucciones de referencia de memoria eran más lentas que las divisiones de punto flotante), las CPU de gama alta (por ejemplo, Cyber-74, Cyber-76, Cyber-175 y Cyber-176) están equipadas con ocho o doce palabras de memoria de alta velocidad utilizadas como caché de instrucciones. Cualquier bucle que encaje en la caché (que normalmente se denomina en pila ) se ejecuta muy rápido, sin hacer referencia a la memoria principal para la búsqueda de instrucciones. Los modelos de gama baja no contienen una pila de instrucciones. Sin embargo, dado que se empaquetan hasta cuatro instrucciones en cada palabra de 60 bits, cierto grado de precarga es inherente al diseño.
Al igual que los sistemas anteriores, la serie Cyber 170 tiene ocho registros de dirección de 18 bits (A0 a A7), ocho registros de índice de 18 bits (B0 a B7) y ocho registros de operandos de 60 bits (X0 a X7). Siete de los registros A están vinculados a su registro X correspondiente. Al configurar los registros A1 a A5, se lee esa dirección y se obtiene en el registro X1 a X5 correspondiente. De la misma manera, al configurar los registros A6 o A7, se escribe el registro X6 o X7 correspondiente en la memoria central en la dirección escrita en el registro A. A0 es efectivamente un registro de borrador.
Las CPU de gama alta consistían en múltiples unidades funcionales (por ejemplo, desplazamiento, incremento, suma flotante) que permitían cierto grado de ejecución paralela de instrucciones. Este paralelismo permite a los programadores de ensamblaje minimizar los efectos del lento tiempo de obtención de memoria del sistema al obtener previamente los datos de la memoria central mucho antes de que se necesiten. Al intercalar instrucciones independientes entre la instrucción de obtención de memoria y las instrucciones que manipulan el operando obtenido, el tiempo ocupado por la obtención de memoria se puede utilizar para otros cálculos. Con esta técnica, junto con la creación artesanal de bucles ajustados que encajan dentro de la pila de instrucciones, un programador experto en ensamblaje cibernético puede escribir código extremadamente eficiente que aprovecha al máximo la potencia del hardware.
El subsistema de procesador periférico utiliza una técnica conocida como barril y ranura para compartir la unidad de ejecución; cada PP tenía su propia memoria y registros, pero el procesador (la ranura) ejecutaba por sí mismo una instrucción de cada PP a su vez (el barril). Esta es una forma rudimentaria de multiprogramación de hardware . Los procesadores periféricos tienen 4096 bytes de palabras de memoria de 12 bits y un registro acumulador de 18 bits. Cada PP tiene acceso a todos los canales de E/S y a toda la memoria central (CM) del sistema, además de la propia memoria del PP. El conjunto de instrucciones del PP carece, por ejemplo, de amplias capacidades aritméticas y no ejecuta código de usuario; el propósito del subsistema de procesador periférico es procesar E/S y, por lo tanto, liberar la(s) unidad(es) de procesador central más potente(s) para ejecutar cálculos de usuario.
Una característica de las CPU Cyber de gama baja es la Unidad de Comparación y Movimiento (CMU, por sus siglas en inglés). Proporciona cuatro instrucciones adicionales destinadas a ayudar a las aplicaciones de procesamiento de texto. En una desviación inusual del resto de las instrucciones de 15 y 30 bits, estas son instrucciones de 60 bits (tres de ellas utilizan los 60 bits, la otra utiliza 30 bits, pero su alineación requiere que se utilicen 60 bits). Las instrucciones son: mover una cadena corta, mover una cadena larga, comparar cadenas y comparar una cadena intercalada. Operan en campos de seis bits (numerados del 1 al 10) en la memoria central. Por ejemplo, una sola instrucción puede especificar "mover la cadena de 72 caracteres que comienza en la palabra 1000, carácter 3, a la posición 2000, carácter 9". El hardware CMU no está incluido en las CPU Cyber de gama alta, porque los bucles codificados a mano podrían ejecutarse tan rápido o más que las instrucciones CMU.
Los sistemas posteriores normalmente ejecutan el NOS (sistema operativo de red) de CDC . La versión 1 de NOS continuó actualizándose hasta aproximadamente 1981; la versión 2 de NOS se lanzó a principios de 1982, con la versión final de 2.8.7 PSR 871, entregada en diciembre de 1997, que continúa teniendo correcciones de errores no oficiales menores, mitigación del Y2K, etc. en apoyo de DtCyber. Además de NOS, los únicos otros sistemas operativos comúnmente utilizados en la serie 170 fueron NOS/BE o su predecesor SCOPE , un producto de la división Sunnyvale de CDC. Estos sistemas operativos proporcionan tiempo compartido de aplicaciones por lotes e interactivas. El predecesor de NOS fue Kronos , que fue de uso común hasta 1975 aproximadamente. Debido a la fuerte dependencia de las aplicaciones desarrolladas en el conjunto de caracteres de la instalación en particular, muchas instalaciones optaron por ejecutar los sistemas operativos más antiguos en lugar de convertir sus aplicaciones. Otras instalaciones parchearían las versiones más nuevas del sistema operativo para usar el conjunto de caracteres más antiguo para mantener la compatibilidad de la aplicación.
El desarrollo del Cyber 180 comenzó en el Advanced Systems Laboratory, una empresa conjunta de desarrollo de CDC/NCR que comenzó en 1973 y se encontraba en Escondido, California. La familia de máquinas se llamó originalmente Integrated Product Line (IPL) y estaba destinada a ser un reemplazo de memoria virtual para las líneas de productos NCR 6150 y CDC Cyber 70. El sistema IPL también se llamó Cyber 80 en los documentos de desarrollo. El lenguaje del escritor de software (SWL), un lenguaje de alto nivel similar a Pascal , se desarrolló para el proyecto con la intención de que todos los lenguajes y el sistema operativo (IPLOS) se escribieran en SWL. SWL luego fue renombrado PASCAL-X y finalmente se convirtió en Cybil . La empresa conjunta se abandonó en 1976, y CDC continuó con el desarrollo del sistema y renombró el Cyber 80 como Cyber 180. Las primeras máquinas de la serie se anunciaron en 1982 y el anuncio del producto para el sistema operativo NOS/VE ocurrió en 1983.
A medida que el mundo de la informática se estandarizó a un tamaño de byte de ocho bits , los clientes de CDC comenzaron a presionar para que las máquinas Cyber hicieran lo mismo. El resultado fue una nueva serie de sistemas que podían operar en modos de 60 y 64 bits. El sistema operativo de 64 bits se llamó NOS/VE y admitía las capacidades de memoria virtual del hardware. Los sistemas operativos de 60 bits más antiguos, NOS y NOS/BE , podían ejecutarse en un espacio de direcciones especial para la compatibilidad con los sistemas más antiguos.
Las verdaderas máquinas de 180 modos son procesadores microcodificados que pueden admitir ambos conjuntos de instrucciones simultáneamente. Su hardware es completamente diferente al de las máquinas 6000/70/170 anteriores. El pequeño paquete de intercambio de 170 modos se asignó al paquete de intercambio de 180 modos, mucho más grande; dentro del paquete de intercambio de 180 modos, hay un identificador de máquina virtual (VMID) que determina si se ejecuta el conjunto de instrucciones de complemento a dos de 8/16/64 bits de 180 o el conjunto de instrucciones de complemento a uno de 12/60 bits de 170.
En la línea inicial había tres auténticos 180, con nombres en código P1, P2 y P3. P2 y P3 eran diseños más grandes refrigerados por agua. El P2 fue diseñado en Mississauga , Ontario , por el mismo equipo que más tarde diseñó el P1 más pequeño, y el P3 fue diseñado en Arden Hills, Minnesota . El P1 era un novedoso gabinete de 60 placas refrigerado por aire diseñado por un grupo de Mississauga; el P1 funcionaba con corriente de 60 Hz (no necesitaba grupos electrógenos). Un cuarto modelo 180 de alta gama, el 990 (con nombre en código THETA), también estaba en desarrollo en Arden Hills.
Las 180 se comercializaron inicialmente como máquinas 170/8xx sin ninguna mención del nuevo sistema de 8/64 bits en su interior. Sin embargo, el programa de control principal es un programa de modo 180 conocido como Interfaz Ambiental (EI). El sistema operativo 170 (NOS) utilizaba una sola página fija y grande dentro de la memoria principal. Había algunas pistas que un usuario atento podía captar, como el mensaje "construyendo tablas de páginas" que aparecía en la consola del operador en los paneles de inicio y de arranque en seco con 16 (en lugar de 12) interruptores de palanca por palabra PP en el P2 y el P3.
Los procesadores periféricos en los 180 verdaderos son siempre máquinas de 16 bits, donde el bit de signo determina si se está ejecutando una instrucción PP de 16/64 bits o de 12/60 bits. Las instrucciones de E/S de una sola palabra en los PP son siempre instrucciones de 16 bits, por lo que en el arranque en seco los PP pueden configurar el entorno adecuado para ejecutar tanto EI como NOS y el software de modo 170 existente del cliente. Para ocultar este proceso al cliente, a principios de la década de 1980 CDC había dejado de distribuir el código fuente de su paquete Deadstart Diagnostic Sequence (DDS) y lo había convertido en el paquete propietario Common Tests & Initialization (CTI).
La línea inicial de procesadores 170/800 fue: 170/825 (P1), 170/835 (P2), 170/855 (P3), 170/865 y 170/875. El 825 se lanzó inicialmente después de que se hubieran agregado algunos bucles de retardo a su microcódigo; parecía que los diseñadores de Toronto lo habían hecho demasiado bien y que estaba demasiado cerca del P2 en rendimiento. Los modelos 865 y 875 eran cabezales 170/760 renovados (uno o dos procesadores con unidades funcionales paralelas de estilo 6600/7600) con memorias más grandes. El 865 usaba memoria 170 normal; el 875 tomó su memoria de procesador principal más rápida de la línea Cyber 205 .
Un año o dos después del lanzamiento inicial, CDC anunció las verdaderas capacidades de la serie 800 a sus clientes, y los verdaderos 180 fueron rebautizados como 180/825 (P1), 180/835 (P2) y 180/855 (P3). En algún momento, se introdujo el modelo 815 con el microcódigo retrasado y se restauró el microcódigo más rápido en el modelo 825. Finalmente, el THETA se lanzó como Cyber 990 .
En 1974, CDC introdujo la arquitectura STAR . STAR es un diseño de 64 bits completamente nuevo con memoria virtual e instrucciones de procesamiento vectorial añadidas para un alto rendimiento en una determinada clase de tareas matemáticas. La tubería vectorial de STAR es una tubería de memoria a memoria , que admite longitudes de vector de hasta 65.536 elementos. Las latencias de la tubería vectorial son muy largas, por lo que la velocidad máxima se alcanza solo cuando se utilizan vectores muy largos. El procesador escalar se simplificó deliberadamente para dejar espacio para el procesador vectorial y es relativamente lento en comparación con el CDC 7600. Como tal, el STAR original resultó ser una gran decepción cuando se lanzó (consulte la Ley de Amdahl ). Las mejores estimaciones afirman que se entregaron tres sistemas STAR-100.
Parecía que todos los problemas del STAR tenían solución. A finales de los años 70, CDC abordó algunos de estos problemas con el Cyber 203. El nuevo nombre se mantuvo fiel a su nueva imagen corporativa y quizás para distanciarse del fracaso del STAR. El Cyber 203 contiene un procesamiento escalar rediseñado y un diseño de E/S acoplado de forma flexible, [a] pero conserva la tubería vectorial del STAR. Las mejores estimaciones afirman que se entregaron dos Cyber 203 o se actualizaron a partir de los STAR-100.
En 1980, se anunció el sucesor del Cyber 203, el Cyber 205. [7] La Oficina Meteorológica del Reino Unido en Bracknell , Inglaterra, fue el primer cliente y recibió su Cyber 205 en 1981. El Cyber 205 reemplaza la tubería vectorial STAR con tuberías vectoriales rediseñadas: tanto las unidades escalares como las vectoriales utilizan circuitos integrados de matriz de compuertas ECL y se enfrían con freón . Los sistemas Cyber 205 estaban disponibles con dos o cuatro tuberías vectoriales, y la versión de cuatro tuberías entregaba teóricamente 400 MFLOP de 64 bits y 800 MFLOP de 32 bits. Estas velocidades rara vez se ven en la práctica, excepto en lenguaje ensamblador hecho a mano . Los circuitos integrados de matriz de compuertas ECL contienen 168 puertas lógicas cada uno, [8] y las redes de árboles de reloj se ajustan mediante un ajuste de longitud coaxial hecho a mano. El conjunto de instrucciones se consideraría V- CISC (conjunto de instrucciones muy complejo) entre los procesadores modernos. Muchas operaciones especializadas facilitan búsquedas de hardware, matemáticas matriciales e instrucciones especiales que permiten el descifrado.
El Cyber 205 original fue renombrado como Cyber 205 Serie 400 en 1983, cuando se presentó el Cyber 205 Serie 600. El Serie 600 difiere en la tecnología de memoria y el empaque, pero por lo demás es igual. Se instaló un solo Cyber 205 de cuatro tubos. Todos los demás sitios parecen ser instalaciones de dos tubos y el recuento final aún está por determinar.
La arquitectura del Cyber 205 evolucionó hasta convertirse en el ETA10 cuando el equipo de diseño se separó para convertirse en ETA Systems en septiembre de 1983. Un desarrollo final fue el Cyber 250, cuyo lanzamiento estaba previsto para 1987 con un precio de 20 millones de dólares; más tarde pasó a llamarse ETA30 después de que ETA Systems volviera a ser absorbida por CDC.
Cada Cyberplus (también conocido como Advanced Flexible Processor, AFP) es un procesador de 16 bits con capacidades opcionales de coma flotante de 64 bits y tiene 256 K o 512 K palabras de memoria de 64 bits. El AFP fue el sucesor del procesador flexible (FP), cuyo desarrollo de diseño comenzó en 1972 en circunstancias de proyecto negro destinado al procesamiento de datos de radar e imágenes fotográficas. [10] La unidad de control FP tenía una red de hardware para la ejecución condicional de microinstrucciones , con cuatro registros de máscara y un registro de retención de condición; tres bits en el formato de microinstrucciones seleccionan entre casi 50 condiciones para determinar la ejecución, incluyendo signo de resultado y desbordamiento, condiciones de E/S y control de bucle. [11]
Al menos 21 instalaciones multiprocesador Cyberplus estaban operativas en 1986. Estos sistemas de procesamiento paralelo incluyen de 1 a 256 procesadores Cyberplus que proporcionan 250 MFLOPS cada uno, que están conectados a un sistema Cyber existente a través de una arquitectura de interconexión de memoria directa (MIA), esto estaba disponible en NOS 2.2 para los modelos Cyber 170/835, 845, 855 y 180/990.
Físicamente, cada unidad de procesador Cyberplus tenía el tamaño típico de un módulo de mainframe, similar a los sistemas Cyber 180, [12] con un ancho exacto que dependía de si estaba instalada la FPU opcional , y pesaba aproximadamente 1 tonelada .
Algunos sitios que utilizaron Cyberplus fueron la Universidad de Georgia y la Gesellschaft für Trendanalysen (GfTA) ( Asociación para el Análisis de Tendencias ) en Alemania.
Un sistema Cyberplus con 256 procesadores totalmente configurado tendría un rendimiento teórico de 64 GFLOPS y pesaría alrededor de 256 toneladas. Se decía que un sistema de nueve unidades era capaz de realizar análisis comparativos (incluidas convoluciones de preprocesamiento) en imágenes de 1 megapíxel a una velocidad de un par de imágenes por segundo.
El Cyber 18 es un miniordenador de 16 bits que fue el sucesor del miniordenador CDC 1700. Se utilizó principalmente en entornos de tiempo real. Una aplicación notable fue la de servir de base al 2550, un procesador de comunicaciones utilizado por las series CDC 6000 y los mainframes Cyber 70/Cyber 170. El 2550 fue un producto de la División de Sistemas de Comunicaciones de CDC, en Santa Ana, California (STAOPS). STAOPS también produjo otro procesador de comunicaciones (CP), utilizado en redes alojadas por mainframes de IBM. Este CP M1000, posteriormente rebautizado como C1000, surgió de una adquisición de Marshall MDM Communications. Se añadió un conjunto de tres placas al Cyber 18 para crear el 2550.
El Cyber 18 se programó generalmente en lenguaje Pascal y ensamblador ; también estaban disponibles FORTRAN , BASIC y RPG II . Los sistemas operativos incluían RTOS (sistema operativo en tiempo real), MSOS 5 (sistema operativo de almacenamiento masivo) y TIMESHARE 3 ( sistema de tiempo compartido ).
"Cyber 18-17" era simplemente un nuevo nombre para el Sistema 17, basado en el procesador 1784. Otros Cyber 18 (Cyber 18-05, 18-10, 18-20 y 18-30) tenían procesadores microprogramables con hasta 128K palabras de memoria, cuatro registros generales adicionales y un conjunto de instrucciones mejorado. El Cyber 18-30 tenía procesadores duales. Una versión especial del Cyber 18, conocida como MP32, que era de 32 bits en lugar de 16 bits fue creada para la Agencia de Seguridad Nacional para trabajos de criptoanálisis. El MP32 tenía el paquete de biblioteca de ejecución matemática Fortran integrado en su microcódigo. La Unión Soviética intentó comprar varios de estos sistemas y se estaban construyendo cuando el gobierno de los EE. UU. canceló el pedido. Las piezas para el MP32 fueron absorbidas por la producción del Cyber 18. Uno de los usos del Cyber 18 fue la vigilancia del oleoducto de Alaska.
El M1000/C1000, posteriormente rebautizado como Cyber 1000, se utilizó como sistema de almacenamiento y reenvío de mensajes utilizado por el Sistema de la Reserva Federal. Bell Telephone utilizó una versión del Cyber 1000 sin el disco duro. Se trataba de un procesador RISC ( ordenador de conjunto de instrucciones reducido ). Una versión mejorada conocida como Cyber 1000-2 con el subsistema de terminación de línea añadió 256 microprocesadores Zilog Z80 . Las empresas operativas de Bell compraron grandes cantidades de estos sistemas a mediados y finales de la década de 1980 para comunicaciones de datos. A finales de la década de 1980 se lanzó el XN10 con un procesador mejorado (se añadió una instrucción de acceso directo a memoria) así como una reducción de tamaño de dos gabinetes a uno. El XN20 era una versión mejorada del XN10 con un tamaño mucho más pequeño. El subsistema de terminación de línea fue rediseñado para utilizar el microprocesador Z180 mejorado (la tarjeta controladora de búfer, la tarjeta controladora de línea programable y dos tarjetas de interfaz de línea de comunicación se incorporaron en una sola tarjeta). El XN20 estaba en etapa de preproducción cuando la División de Sistemas de Comunicación cerró en 1992.
Jack Ralph fue el arquitecto jefe de los sistemas Cyber 1000-2, XN-10 y XN-20. Dan Nay fue el ingeniero jefe del XN-20.