El nacimiento del sistema de defensa antimisiles soviético. La mejor computadora soviética
El monopolio de Lebedev
Hagamos una reserva de inmediato de que el BESM-6 es una gran máquina, en todos los sentidos de la palabra. Por lo tanto, escribir sobre esto brevemente no funcionará. Debido a la abundancia de material, tuve que cortar un artículo enorme en tres partes, y cada una continúa la anterior, por lo que para una inmersión completa se recomienda estudiar todo de forma secuencial.
En 1958, Lebedev lanzó en serie simultáneamente dos versiones de su BESM: militar, más rápido, M-20 y civil, más lento, BESM-2. En ese momento, tomó un lugar legendario, similar a Kalashnikov, entre los fabricantes de computadoras.
La Unión Soviética amaba los monopolios no más que el capitalismo en decadencia, pero en nuestro país las escuelas de varios diseñadores generales pertenecientes a varios ministerios eran una especie de análogo de las corporaciones.
Las máquinas ITMiVT se construyeron en una gran circulación según los estándares de la URSS: un total de varios miles de copias, incluidos varios cientos de supercomputadoras. Estaban en todas partes: en Dubna, en Arzamas, en la Universidad Estatal de Moscú, en el MCC, en el sistema de defensa antimisiles A-135, en el S-300, pero es más fácil enumerar dónde no estaban.
La escuela Lebedev ha logrado tal monopolio que aún vivimos con su legado, como con el eterno y permanente AK.
¿Cómo llegó ITMiVT a esta posición?
En 1958, Lebedev tenía dos estudiantes y herederos favoritos: Vladimir Andreevich Melnikov y Vsevolod Sergeevich Burtsev. El segundo merece una discusión separada en relación con "Elbrus", por ahora consideremos el destino y el trabajo de Melnikov.
En 1951 tuvo lugar en el MPEI la primera graduación de estudiantes de la especialidad "Aparatos y aparatos matemáticos y de cálculo", y ese mismo año se creó el departamento. La graduación se produjo porque los alumnos ya estaban capacitados en el diseño de computadoras analógicas en el marco de la especialidad "Automatización y Telemecánica". En ese momento no se hablaba de máquinas digitales, el jefe de gabinete, profesor G.M. Zhdanov, como casi todos los científicos de esa generación, se especializó solo en máquinas analógicas, en 1956 se publicó su libro de texto "Máquinas y dispositivos matemáticos de funcionamiento continuo".
A pesar de tal conservadurismo, Zhdanov también atrajo a expertos en arquitectura de computadoras a la enseñanza, en particular, dos graduados de la facultad de ingeniería de radio del Instituto de Ingeniería de Energía de Moscú: nuestros viejos amigos Kartsev y Matyukhin. Al enterarse de un caso así, muchos otros no se hicieron a un lado, también conocidos por nosotros como Kitov, Rameev y, naturalmente, Lebedev, quien apenas comenzaba su camino para convertirse en un gurú de la ingeniería informática doméstica.
Como ya hemos mencionado, Lebedev fue un excelente ingeniero eléctrico, inicialmente se especializó en problemas energéticos e incluso construyó en 1945 una máquina analógica para simplificar los cálculos de red, trabajando en el Departamento de Protección de Relés y Automatización de Sistemas de Energía del MPEI.
Allá por 1939, en oposición a la disertación del prof. AV. Netushila (futura decana de la Facultad de Automatización e Ingeniería Informática) Lebedev estudió su tema "Análisis de elementos de activación de contadores de pulsos de alta velocidad" y pensó en una arquitectura bastante inusual de una celda de computación digital.
La defensa tuvo lugar solo después de la guerra, y después de 3 años, Lebedev se dirigió a Kiev para construir el MESM (por cierto, Jruschov era entonces el Primer Secretario del Comité Central del Partido Comunista (Bolcheviques) de la República Socialista Soviética de Ucrania, con así comenzó su amistad). Cuando Lavrentiev lo llevó de regreso a Moscú desde allí (de hecho, antes de eso lo había invitado allí, al puesto de director de todo un instituto, lo cual era difícil de lograr en Moscú), Lebedev, como recordamos, tenía bocetos de la arquitectura de una gran máquina.
Paralelamente a la creación de BESM, continuó dando clases en el MPEI y allí reclutó a su equipo inicial entre los primeros egresados - estudiantes de posgrado, a quienes les encargó el diseño de los nodos de su nueva computadora (antes, los diplomas de los estudiantes). eran mucho más interesantes: como trabajo de graduación, desarrollar un nodo de una de las primeras computadoras en Europa no es una caja transformadora para que lo calcule una aldea de dacha).
Entre los más destacados en 1951 se encontraban V.A. Melnikov y V.S. Burtsev, la vida de este último fue en general difícil, perdió a sus padres durante la guerra y trató a Lebedev como a un padre. Además de este par, A.G. Louth, I. D. Vizun, A.S. Fedorov y L.A. Orlov.
En general, Lebedev tenía dos lados muy fuertes.
En primer lugar, fue un organizador de primer nivel que logró adquirir un recurso humano en el menor tiempo posible y adecuarlo hábilmente al trabajo, en esto solo Brooke podía compararse con él.
En segundo lugar, incluso aquí nadie podía compararse con él, a pesar de la severidad exterior, Lebedev era una persona extremadamente encantadora, tranquila, flexible y discreta, cualidades que faltaban en los transversales Kitov, Brook, Rameev, Kartsev, Yuditsky, y de hecho para casi todos. diseñadores nacionales que perdieron frente a la escuela de Lebedev.
Lebedev es el único que logró convertir el desarrollo de las computadoras en una especie de cinta transportadora bajo su estricta guía. Él mismo diseñó (lo mejor que pudo, en el espíritu de la vieja escuela) células lógicas básicas e inventó un sistema de comandos (estrictamente clásico en el espíritu de la década de 1940, y, de hecho, inventó solo dos de ellos, uno usado en MESM / BESM / M-20, y el segundo para BESM-6), y todo lo demás lo hicieron sus estudiantes, construyendo la máquina.
También fue responsable de una parte extremadamente importante de cualquier desarrollo soviético: la interacción con los partócratas.
Lebedev era una especie de Jobs de la URSS: él, como Korolev, sabía cómo impulsar prácticamente cualquier cosa, en cualquier lugar, en todos los niveles del sistema soviético, pero, a diferencia de Korolev, era tan hermoso y sutil que no ganaba dinero hasta que su muerte (a diferencia de todos los demás diseñadores) no fue un solo linaje, y fue amado y respetado incluso por aquellos que lo perdieron en la escuela.
Como resultado, a fines de 1951, la base del laboratorio n. ° 1 estaba formada por graduados del Instituto de Ingeniería Eléctrica de Moscú, que en 1953 habían completado el BESM de Lebedev. Melnikov se dedicó al desarrollo de un dispositivo de control y tuvo tanto éxito que cuando se trataba de ensamblar BESM-2, se convirtió en su diseñador jefe de facto, así como en el diseñador de BESM-6.
Casi no se sabe nada sobre las etapas iniciales del desarrollo de BESM-6 (ni siquiera está claro por qué 6 y dónde estaban 5), las referencias sensibles se encuentran solo desde 1964.
Explorar una arquitectura occidental comparable puede ayudar a arrojar una gota de luz.
Estiramiento IBM 7030
En 1959, se lanzó una computadora comercial extremadamente poderosa para la informática científica, la IBM 7090, y aparecieron las dos primeras supercomputadoras verdaderas: la IBM 7030 Stretch y la Remington Rand UNIVAC LARC. Huella especial LARC en historias No se fue, pero el IBM 7030 se ha convertido en un verdadero icono.
En primer lugar, fue el primero en lograr un rendimiento superior a un millón de operaciones por segundo: 1,2 MIPS en 1959, una cifra disparatada; el primero en utilizar el sistema SMS - tarjetas modulares estándar; el primero, durante el desarrollo del cual se descubrieron y aplicaron los principios básicos del diseño de hardware jerárquico, comenzando por el desarrollo de un sistema de comando óptimo y terminando con la implementación de módulos individuales en celdas estándar.
Stretch fue la primera computadora de producción en utilizar módulos de memoria de ferrita estándar, con enfriamiento por inmersión en aceite, otra innovación. Además, Stretch podía leer y escribir en la memoria en seis subprocesos paralelos, lo que permitía alcanzar una velocidad de trabajo con RAM a nivel de 2 MIPS (sí, en aquellos días era posible una situación en la que la memoria era más rápida que el procesador).
Un byte de ocho bits y palabras de máquina de 8/32/64 bits, que es el más conveniente y se ha convertido en un estándar hasta ahora (a diferencia de las fanáticas palabras de máquina domésticas con un ancho de 22 a 50 bytes, a menudo ni siquiera múltiplos del tamaño de las celdas de memoria direccionables), también apareció exactamente en él, y el procesador Stretch era completamente de 64 bits mucho antes que Intel Core. Además, la computadora contaba con soporte de hardware para trabajar con campos de bits, lo que posibilitaba trabajar con tipos de datos de longitud variable.
Estirar admite aritmética real, aritmética de números enteros y caracteres alfanuméricos. Además, fue el primero en implementar la multiprogramación y, dentro de este marco, la protección de la memoria y las interrupciones estándar.
Stretch fue el primero en el mundo en construirse sobre circuitos lógicos conectados a emisores, superpoderosos y que requieren un buen enfriamiento, pero lo más rápido posible, la lógica ECL en varias formas se convirtió en el estándar para el hardware de supercomputadoras hasta la década de 1980.
Primer uso de una canalización estándar de XNUMX etapas en un procesador (pasos clásicos Obtener, Decodificar, Ejecutar). Hablaremos sobre el transportador por separado a continuación. Por primera vez en el mundo, se aplicó la implementación universal más flexible y efectiva (aunque no barata) del trabajo con dispositivos periféricos, que se ha convertido en la característica principal de los mainframes hasta el día de hoy.
Un coprocesador de intercambio de datos especializado (ESC - computadora especializada en intercambio, sí, entonces todavía no había una distinción terminológica clara, en LARC, por ejemplo, cada uno de los dos procesadores se llamaba "computadora", y el subsistema de E / S se llamaba "procesador") desempeñaba el papel de interruptor principal, proporcionando comunicación entre 32 canales de E / S y RAM, descargando así el procesador central. Este esquema fue tan efectivo que migró al IBM S / 360 y todavía se usa hoy en día en computadoras grandes.
Además, el valor de Stretch residía en el hecho de que era totalmente compatible con una lista colosal de equipos de IBM, desde unidades magnéticas de todo tipo hasta máquinas de escribir y perforadoras, y gracias al coprocesador de canal, toda esta economía siempre funcionó en paralelo al máximo. velocidad, y se conectó simplemente conectando el cable deseado.
Los ingenieros soviéticos, que sufrieron al intentar abarrotar lo no compatible (ya que casi todas las conexiones no triviales de una computadora grande con periféricos requerían muletas monstruosas), llorarían de alivio si configuraran Stretch.
El sistema de comando Stretch fue increíblemente progresivo, muchas de las ideas descubiertas durante el desarrollo por Gene Amdahl, Stephen Dunwell, Fred Brooks y John Cocke se utilizan literalmente en microprocesadores modernos y se han convertido en el estándar desde la década de 1960: primero para sistemas potentes, luego en todas partes . Entre ellos se encuentran la decodificación previa de instrucciones y la recuperación previa de operandos (la primera forma de ejecución especulativa basada en la predicción de rama), la recarga de la tubería después de transiciones erróneas, registros de índice avanzados y mucho más.
La unidad de decodificación y predicción en el procesador Stretch era en realidad una computadora separada con su propia canalización. Debido a esto, aunque formalmente permaneció uniprocesador, Stretch requirió solo 4 instrucciones para la multiplicación de matrices. Entre otras cosas, la máquina resultó ser compacta, siendo 35 veces más potente que la IBM 704, Stretch requería la misma máquina. salón de 185 metros cuadrados. m. y consumió aproximadamente la misma cantidad de energía.
En general lleva mucho tiempo describir los méritos de esta máquina, lo más importante es que todo esto es de 1959, y todo esto está descrito en fuentes abiertas de esa época, así como el diseño de UNIVAC LARC.
La parte más interesante de la historia.
Y ahora la parte más interesante de la historia: Lebedev, como parte de un grupo de especialistas soviéticos, llega a los Estados Unidos en agosto de 1959 a IBM para estudiar la experiencia avanzada de la ingeniería informática. En dos semanas, la delegación soviética visitó las fábricas de MIT e IBM, se familiarizó con la computadora científica 7090 y, en general, con la organización de la producción y la interacción "empresa de computadoras - clientes de universidades". Lo más probable es que fue en este momento cuando tomó forma una superidea: repetir lo mismo en la URSS. Cree una potente arquitectura informática unificada para centros científicos.
El papel de IBM lo iba a desempeñar ITMiVT, y el de Amdall y Brooks lo iban a desempeñar Lebedev y Melnikov. Queda por seleccionar un automóvil prototipo, cuyo papel iba a desempeñar el futuro BESM-6.
Por cierto, Lebedev visitó muchos lugares, tanto en Alemania, e incluso en 1965 en Japón, y su protegido Melnikov, en India y China, y nada ha crecido junto con India, pero en China ayudó a dominar el clon chino BESM. 2 en producción ...
No se habló de la clonación de Stretch: la máquina era monstruosamente compleja, la industria soviética no la habría utilizado. Además, muchos detalles de la implementación estaban ocultos, y en sí mismo ocupaba un nicho ligeramente diferente al que apuntaba Lebedev y que los soviéticos realmente necesitaban.
La URSS necesitaba desesperadamente una computadora científica poderosa (mucho más poderosa que cualquier otra que hubiera en el instituto de investigación en ese momento), universal, económica (relativamente) que pudiera ser reproducida masivamente. Hubo muchos puntos de su aplicación: el Instituto Kurchatov, la Universidad Estatal de Moscú, Baumanka, Dubna, Novosibirsk, Arzamas, etc., todos relacionados con la investigación nuclear. BESM-2 y M-20 no tiraron: todos los centros de investigación exigieron un 7090 analógico, un automóvil con una velocidad de al menos 200 KIPS.
En este caso, Lebedev realizó un viaje de negocios a los Estados Unidos, todos entendieron que era necesario estudiar experiencia avanzada.
Con este fin, él, el favorito de la Academia de Ciencias, los ministros y Jruschov, eliminó los fondos y formó un equipo. El ambiente era alegre, todos estaban en aumento: casi la URSS aprenderá los secretos del desarrollo efectivo de las computadoras científicas y finalmente creará la suya propia, en lugar del zoológico "Minskov", "Nairi", "Uralov" y otros. , incompatibles entre sí, liberaron una circulación pequeña e insuficientemente poderosa.
En cierto sentido, Lebedev realmente quería convertirse en un Kalashnikov desde una computadora, para crear una implementación de referencia, un símbolo del poder soviético, que podría estamparse en cientos.
¿Ha hecho frente a su tarea?
No será un spoiler decir que no es del todo.
Entonces, ¿por qué y dónde falló Lebedev, y de dónde vino el mito sobre BESM-6?
Para responder a esta pregunta, primero debe ir aún más lejos hacia Occidente.
Entonces, en 1959, Lebedev se inspiró para comenzar a desarrollar su propia arquitectura, no solo una gran máquina, sino una supermáquina científica, construida sobre principios completamente diferentes a MESM y BESM, que parecían calculadoras de la tienda general en el contexto de la monstruosa 7030.
¿Quién lideraría el desarrollo? No había duda, por supuesto, de Melnikov, que había demostrado su valía en BESM y BESM-2.
También era obvio quién desarrollaría las unidades, el grupo Melnikovskaya.
Lebedev, como siempre, se ocupó de cuestiones organizativas, eliminó fondos y apoyo general a lo largo de la línea del partido, además de estudiar modelos mundiales de ingeniería informática y desarrollar un sistema de comandos para una nueva máquina. Y había algo que estudiar: era necesario decidirse por un prototipo para copiar.
En 1946, la Marina de los EE. UU. Creó una pequeña empresa ERA (Engineering Research Associates) a partir de ingenieros que trabajaron en decodificadores de códigos navales japoneses durante los años de guerra. La compañía desarrolló varios vehículos civiles, incluido el ERA 1103, pero el Congreso condenó a la Marina como vehículo comercial y en 1952 la compañía fue vendida a Remington Rand. Luego, Sperry (que ya era dueño de UNIVAC en ese momento) a su vez compró Remington y escindió la división de computadoras de Sperry UNIVAC, lanzando una ERA rediseñada como competidor del IBM 704 - UNIVAC 1103.
CDC 1604
Aparentemente, Sperry apuntaba a mainframes comerciales masivos, decidido a convertirse en el segundo jugador más grande del mercado después de IBM, y en 1957 un grupo de ex ingenieros militares se cansó de ello. William Norris, Robert Perkins, William R. Keye, Howard Shekels, Robert Kisch y Seymour Roger Cray dejaron Sperry, aportaron 5 dólares y registraron su empresa que se ha convertido en una leyenda: Control Data Corporation.
El ingeniero jefe era Cray, uno de los arquitectos informáticos más grandes de la historia, un hombre sin ironía llamado el padre de todas las supercomputadoras.
Sin embargo, su primer trabajo fue una máquina mucho más simple: la CDC 1604. Creado como una computadora científica y comercial, por falta de dinero (la empresa de nueva creación ni siquiera tenía los fondos para los transistores normales, Cray ensambló un prototipo de defectuoso unos que podía conseguir a un precio de ganga en las tiendas de repuestos de radio locales), inmediatamente descubrió todo el increíble poder del genio de Cray.
El CDC 1604, al ser varias veces más barato que el monstruoso científico IBM 7090, resultó ser más rápido que él, convirtiéndose durante algún tiempo en el ordenador de uso general más potente del planeta con un rendimiento de unos 200 KIPS.
El CDC 1604 tenía la arquitectura típica de las potentes máquinas americanas de los años 1950 con sumador, y no los registros de propósito general más progresivos (solo existía el registro sumador en sí, o el acumulador, como a veces se le llama, 6 registros índice, un contador de programa y un registro auxiliar aritmético) y, respectivamente, era una palabra de máquina unidifusión de 48 bits que contenía dos instrucciones de 24 bits. La máquina tenía aritmética de números enteros y reales.
Una característica interesante fue la indicación de trabajo. El DAC podría leer los tres bits superiores de la batería y reproducirlos a través del altavoz utilizando un amplificador de válvulas integrado en la consola. Este esquema podría programarse para una variedad de efectos de sonido y advertencias para el operador de la máquina. Cualquiera que conociera bien la arquitectura del CDC 1604 y el programa ejecutable podría entender inmediatamente por sonido dónde ocurrió el error.
Entonces, se encontró el prototipo.
El CDC 1604 era más barato y más rápido que el IBM 7090, su arquitectura era más simple y en un año vendió una cantidad colosal de copias en los laboratorios estadounidenses. Esto significó que en 1961 se había escrito una gran variedad de programas Fortran, entre los cuales el codiciado software de los científicos nucleares fue reconocido como el más valioso.
Es mucho más fácil atornillar programas que hardware, por lo que el objetivo de lograr la compatibilidad binaria con el CDC 1604 fue desde el principio.
Incluso en la URSS entendieron que el software es más importante que el hardware, se pueden desarrollar computadoras, pero ¿de dónde se pueden obtener millones de horas-hombre para escribir software para ellas?
En la década de 1960, se suponía que iba a suceder una revolución: se suponía que aparecería una computadora soviética con una serie de programas de aplicación que no eran inferiores a los estadounidenses (y qué pasaría si se suponía que debían estar enrollados).
En principio, tal plan habría tenido posibilidades de éxito, pero Cray fracasó.
En medio de los preparativos para la clonación del CDC 1604, el 22 de agosto de 1963, Control Data anunció el CDC 6600, una de las mejores máquinas de la historia.
IBM se avergonzó, todavía no habían terminado de enviar su Stretch a todos los clientes, y la computadora de Cray ya lo había enviado a la edad de piedra de la informática. Por tradición, era mucho más compacto y barato que el monstruo de IBM y 3,5 veces más rápido que él: más de 3 megaFLOPS.
El primer procesador superescalar, 10 coprocesadores periféricos, enfriamiento por freón (también el primero en el mundo) de las placas más compactas ensambladas con tecnología patentada Cordwood en los últimos transistores de silicio planar (¡400 piezas!), Un avanzado sistema operativo multitarea SIPROS (simultáneo Procesamiento del sistema operativo): estas son solo algunas de las innovaciones de esta máquina. Los primeros compradores de computadoras fueron la Comisión de Energía Atómica y la Oficina Meteorológica, y en 000, 1967 CDC 63 estaban en manos de clientes de élite y se convirtieron en la columna vertebral de la investigación científica en ese momento.
Atlant
Simultáneamente con esto, aparece en Gran Bretaña la tercera supercomputadora icónica de esa época: el famoso Atlas, desarrollado y producido conjuntamente por la Universidad de Manchester, la cuna de toda la informática británica, y por las empresas Ferranti y Plessey encargadas por el gobierno para su uso. en el mismo negocio difícil que y CDS y BESM - la creación de armas nucleares.
Atlas se construyó con transistores bipolares de germanio bastante antiguos, pero tenía una arquitectura increíblemente progresiva, convirtiéndose en el tercer pilar de las máquinas modernas, junto con IBM 7030 Stretch y CDC 6600. En total, se fabricaron 3 Atlas originales y dos Atlas 2 Titans más mejorados. .
Atlas usó el segundo esquema de palabras de computadora popular, que también se usó en los CDC: el formato de 2/12/24 bits, en lugar del estándar de IBM 48/8/16 bits (como sabemos, IBM ganó el más conveniente). Una palabra de máquina de 32 bits puede contener un número de coma flotante, una instrucción, dos direcciones de 48 bits o enteros con signo u ocho caracteres de 24 bits.
Entre las innovaciones de Atlas había un supervisor (tres registros propios para el contador del programa) y la memoria virtual (en toda regla), el trabajo con dispositivos externos se organizaba de manera muy original, a través de registros separados para la comunicación con E / S, la máquina tenía un número increíble de registros de índice en ese momento, ya 128. Además, el procesador Atlas tenía una tubería asincrónica única que funcionaba en la preparación, en lugar de sincronizarse como de costumbre.
Debido a esto, fue difícil evaluar su rendimiento, pero según las pruebas, correspondía aproximadamente a Stretch (Atlas agregó dos números de punto flotante en aproximadamente 1,59 μs y Stretch en 1,38-1,5 μs). No fue hasta 1964, cuando apareció el CDC 6600, que el Atlas fue superado significativamente, y Cray admitió más tarde que fue la descripción del prototipo de esta máquina lo que lo impulsó a ideas que permitieron que el 6600 se completara mucho antes de lo original. destinado a.
También una parte única de la arquitectura se convirtió en el llamado. extracodes: lo que ahora se llamaría firmware, fueron ellos quienes hicieron posible construir un sistema operativo que supera la velocidad y funcionalidad de una máquina IBM. Se utilizaron extracódigos para llamar a procedimientos matemáticos que serían demasiado ineficientes para implementar en hardware, por ejemplo, seno, logaritmo y raíz cuadrada, alrededor de 150 extracódigos eran responsables de las funciones de supervisor, lo que aumentó significativamente la productividad y seguridad de trabajar con el sistema operativo.
Los científicos británicos resultaron ser tan amigables que ellos mismos visitaron la URSS en 1963 e incluso dieron varias conferencias privadas en ITMiVT sobre la máquina Atlas, y ese mismo año se publicó un pequeño folleto con sus resultados. Como resultado, el trabajo en BESM-6 se volvió loco como un cisne, cáncer y lucio. Comenzó a reescribirse a partir de CDC 1604 para aprovechar una enorme biblioteca de software, como lo demuestran muchas de las características arquitectónicas del proyecto original que se incluyeron en la versión final.
En ambos casos, la base del elemento eran transistores (lo cual es normal para 1960, pero lo más extraño posible para 1968), el direccionamiento fue unidifusión, el ancho de palabra es 48 bits, la longitud del comando es 24 bits, 2 comandos están empaquetados en una palabra, sumador el ancho también es de 48 bits, el ancho de la dirección es de 15 bits, registros de propósito general 1 + 1 acumulador de registro, circuito acumulador de suma, incluso la cantidad de RAM emparejada hasta un bit - 32.768 palabras.
Naturalmente, todo esto no fue una coincidencia accidental: comenzaron a diseñar la arquitectura, centrándose en CDC 1604. Lo que es sorprendente: el tamaño de las placas de circuito BESM-6 era de pulgadas (específicamente 6x8 pulgadas), y en general, solo el hardware era métrico. La arquitectura del TEZ en sí (un elemento de reemplazo típico, como llamamos a los módulos elementales a partir de los cuales se ensambló la máquina) también se desarrolló claramente con un ojo en los tableros de leña, aunque con aproximadamente 6 veces menos densidad de instalación. En la URSS, era difícil con los transistores, por lo que la lógica en sí era un diodo, y los transistores se usaban solo para amplificar e invertir la señal. Como resultado, solo se requirieron 60 de ellos, pero 000 diodos (el CDC se ensambló para 180 transistores).
Y luego Lebedev sufrió, cuya culpa fue tanto su imaginación como Atlas y CDC 6600, que aparecieron en el proceso de creación de BESM-6.
Desde el primero, deseaba códigos extra y memoria virtual, desde el segundo, un procesador de canalización superescalar con un sistema de instrucción ortogonal. También se rechazaron muchas soluciones técnicas, por ejemplo, la idea del trabajo de canal con periféricos, realmente exitosa en las máquinas de IBM. De 1960 a 1963, hubo lanzamientos: comencemos un automóvil, continuemos con el segundo, agreguemos las fichas al tercero.
Como resultado, los cuernos y las patas siguen siendo del proyecto original CDC 1604.
Lebedev eliminó la aritmética de enteros de la máquina, ya que no pudo lograr un funcionamiento estable de la ALU de enteros reales, cambió el formato de los números reales (signo de 1 bit, orden de 11 bits, mantisa de 36 bits para CDC 1604, orden de 7 bits, 1 signo de bit, mantisa de 40 bits para BESM-6) y estructura de comando (código de operación de 6 bits, índice de 3 bits o condición de transición, dirección u operando de 15 bits para CDC 1604 y dos opciones posibles: registro de índice de 4 bits, 6- código de operación de bits, dirección / operando de 12 bits o registro de índice de 4 bits, código de operación de 4 bits, dirección / operando de 15 bits para BESM-6). Debido a un intento de organizar la memoria virtual, el número de registros de índice se amplió de 6 a 15.
El sistema de mando se ha rediseñado por completo.
El CDC 1604 tenía 11 instrucciones enteras y 4 reales, 9 instrucciones de cambio, 8 instrucciones lógicas, 15 instrucciones de memoria, 6 instrucciones aritméticas de índice, 4 instrucciones de salto y 3 instrucciones de E / S, 57 en total. BESM-6 tenía 12 comandos reales, 2 comandos de cambio, 7 comandos lógicos, 5 comandos para trabajar con memoria, 8 comandos aritméticos de índice, 7 comandos de salto y un comando de E / S (!), 41 en total.
Una característica interesante de BESM-6 eran los comandos de bits especiales, que incluían "BORRAR EL NÚMERO DE UNIDADES" y "BORRAR EL HOMEPA DE UNIDADES". Estos equipos fueron arrancados directamente de CDC 6600 y representan a los llamados. "Instrucción NSA": instrucciones agregadas a pedido de la NSA a los procesadores de supercomputadoras para conveniencia de los criptógrafos.
Por ejemplo, calcular el número de unidades es el comando popcount, digamos popcount (10100110) = 4. Apareció por primera vez en el procesador IBM Stretch y luego se integró en todas las máquinas CDC y Cray más antiguas hasta la década de 1980 y el final de la Guerra Fría. era y supercomputadoras clásicas ...
¿Por qué es necesario?
Calcule la distancia de Hamming desde la cadena cero en codificación binaria. La NSA estaba criptoanalizando los mensajes interceptados y, dado que el CDC 6600 tenía palabras de 60 bits, una palabra era suficiente para almacenar la mayoría de los alfabetos de interés.
Los criptoanalistas dividieron el mensaje en líneas, marcaron cada carácter único en la línea con un solo bit, calcularon la distancia de Hamming usando popcount y la usaron como hash para un mayor criptoanálisis. Desafortunadamente, no se sabe si se usó al menos un BESM-6 del GRU o del KGB, el autor lo duda mucho y cree que estas instrucciones fueron modificadas, más bien, con fines de presentación, como mira, ¡nuestro automóvil puede hacer eso!
Las instrucciones "MONTAJE" y "DESMONTAJE" son una selección de ciertos bits por una máscara, atornillados específicamente para organizar al menos alguna entrada-salida sana de caracteres impresos, como mencionan los veteranos, por ejemplo, estos comandos se usaban para transponer Matrices 80x12 para trabajar con tarjetas perforadas. La transformación de una palabra en una representación textual octal se realizó desarmando en grupos de tres bits por byte, en la codificación GOST, se obtuvieron inmediatamente los códigos de los números. Por ensamblaje, la representación textual de los números octales se convirtió en el número real.
Naturalmente, era imposible ensamblar Atlas o CDC en la base del elemento soviético, era necesario hacer un montón de parches y muletas. Uno de los diseñadores, V.N. Louth:
[Aquí, desafortunadamente, Louth es falso, ya que ya no estaban simplemente allí, sino que se usaban para ensamblar computadoras en serie, incluso en la URSS, Lebedev simplemente no consideró necesario usarlas por algunas de sus razones filosóficas].
[Nuevamente, hubo algunos de silicio bastante decentes, pero ...]
Estos diodos tenían tiempos de conmutación cortos, muchas veces mejores que los de los transistores. Sin embargo, los elementos basados en diodos de túnel resultaron tener poca capacidad de carga, lo que provocó la complicación de los circuitos de la máquina, y los abandonamos rápidamente. La dificultad con el uso de transistores era que funcionaban muy lentamente en el modo de saturación y las puertas lógicas con triodos insaturados eran complicadas debido a la necesidad de igualar los niveles de las señales de entrada y salida. Y no solo difícil, sino también poco confiable. Durante algún tiempo no hemos visto una salida al estancamiento. Pero entonces surgió una idea completamente nueva, nunca y en ninguna parte descrita anteriormente, al menos para los elementos de la tecnología informática.
En mi opinión, A.A. Sokolov. La esencia de la idea era introducir una fuente de energía autónoma, no conectada galvánicamente a otros circuitos de energía, en el conocido elemento "interruptor de corriente". Por ejemplo, se podría usar una batería de reloj electrónico en miniatura para este propósito.
La inclusión de una batería entre el colector del transistor y la carga del colector (resistencia) convirtió al interruptor en un elemento con niveles coincidentes de señales de entrada y salida, y no se impusieron requisitos particularmente complejos a una fuente de energía autónoma. Por supuesto, la batería no se pudo instalar, ya que se descargará con el tiempo, por lo que en el circuito real se reemplazó por un diminuto rectificador que consta de un transformador en miniatura sobre un anillo de ferrita, dos diodos semiconductores y un capacitor.
Estos rectificadores se denominaron "fuentes de alimentación suspendidas" (PPS). Las salidas en parafase de los interruptores de corriente, equipados con seguidores de emisor, podrían operar en las entradas de los circuitos lógicos Y, O. Surgió el siguiente circuito: lógica combinatoria pasiva basada en componentes diodo-resistor
[Para entonces, todo el mundo se había cambiado a TTL y ECL].
En general, el elemento base de la primera versión de BESM-6, como podemos ver, era monstruoso incluso en ese momento (¡e incluso para los estándares de la URSS, que es aún más llamativo!), Pero sin embargo, como de costumbre, tenemos una buena razón para estar orgullosos de cuán magistralmente superamos las dificultades que nosotros mismos hemos creado.
resultado
El resultado de todo esto fue la aparición de un mutante real, externamente (es decir, en términos de ancho de bus, longitud de palabra de máquina, etc.) similar al CDC 1604, pero ensamblado con elementos de Atlas y CDC 6600, aderezado con una pizca. de la visión única de Lebedev y se puso en implementación de hardware, pervertido incluso por los estándares de la URSS.
En 1963, los estudiantes comenzaron a modelar los nodos del futuro BESM-6, para empezar, practicando la tecnología de trabajar con transistores, que en el ITMiVT no tenía una idea particular en ese momento. Todo termina con el hecho de que, según los recuerdos del estudiante más joven de Lebedev (con un calibre menor que Melnikov) A.A. Gryzlov, simplemente implementaron los nodos del M-20 en transistores, llamando a la creación resultante BESM-3.
Sorprendentemente, como ya hemos dicho, su iniciativa fue apoyada por el jefe del grupo y logró lanzarse a una miniserie, así es como aparece un brote lateral en el árbol ITMiVT - BESM-4, al que Lebedev no tuvo nada que ver. . Según las memorias, el propio Lebedev no estaba muy satisfecho con tal voluntad propia, no le importaba BESM-4, toda su atención y fuerzas fueron absorbidas por el proyecto BESM-6, pero no interfirió con los jóvenes e incluso Apretó un par de palancas en el partido, lo que le permitió lanzar las cuatro en pequeño lote con una velocidad récord.
En 1964, el instituto ya había ensamblado un prototipo BESM-6, que tenía solo un cubo de memoria; se usaron transistores más lentos en los elementos lógicos. En 1966, un prototipo que tenía memoria de acceso aleatorio de capacidad media (4 cubos en lugar de 8), pero en transistores y diodos modernos, operando a la frecuencia de sincronización de diseño, ya se depuró en gran medida, y se llevaron a cabo pruebas de fábrica en el otoño, y en mayo de 1967 terminaron las pruebas estatales.
BESM-6 se produjo en serie de 1968 a 1987, se produjeron un total de 355 automóviles, la máquina en Dubna se apagó en 1992, la penúltima (en la Oficina de Diseño de Mikoyan) se apagó y desmanteló en 1995, pero el mismo ultimo ...
BESM-6 No. 345
BESM-6 No. 345 se fabricó en 1980, en 1981 se registró en la unidad militar 87286 (Sosnovy Bor, región de Leningrado), en 1982 fue establecido por un equipo del departamento de ensamblaje principal especializado de Moscú, en 1983 se introdujo como ordenador central de un complejo simulador a gran escala "Diana-Bars", desarrollado por los especialistas del NITI ellos. A.P. Alexandrova. Su depuración continuó hasta 1986.
Preste atención, por cierto, al enfoque imponente típicamente soviético de las instalaciones, que dice mucho sobre la calidad de la arquitectura y el equipamiento. La instalación de la máquina tardó un año, otro año más depurando el software sin prisas (¡a pesar de que en la década de 1980 la experiencia y el software ya se habían acumulado durante 10 años!), Se pasaron tres años más con el simulador, como resultado, la máquina pudo calcular algo útil solo después de seis (!) años después de su lanzamiento.
¡Y esto se consideró un modo de instalación regular! Al mismo tiempo, el maldito capitalismo se pudrió a tal punto que el anuncio de un retraso en la instalación de una u otra máquina durante al menos un par de meses se convirtió en motivo para romper el contrato con fuertes multas.
El destino de Cray-3 es indicativo en este sentido, se suponía que iba a ser comprado por Livermore en 1991, pero el laboratorio inmediatamente revocó el contrato tan pronto como se enteró del retraso en la entrega, y el incumplimiento del contrato golpeó a Cray. tanta reputación que solo pudo vender su supercomputadora El Centro Nacional de Investigación Atmosférica de EE. UU. (NCAR), los militares y los laboratorios se negaron a trabajar con él, a pesar de los méritos del pasado.
En 1993, Cray-3 se instaló en NCAR, pero durante un año no pudo lograr un funcionamiento estable, después de lo cual fue desmantelado y Cray Research quebró.
En la URSS, la instalación y depuración de incluso una computadora en serie que ya se estaba produciendo durante 13 años en ese momento podría llevar fácilmente cinco años de trabajo de acabado sin prisas, y esto se percibió como una norma absoluta: la Unión, parece , no tenía prisa.
Volviendo al BESM-6 No. 345, se lanzó en 1986 y funcionó ... ¡hasta 2008!
Esto es algo más allá del bien, el mal y el sentido común. Se utilizó como computadora para un simulador de tripulación de submarinos, y durante los últimos 10 años ha estado trabajando literalmente en una palabra honesta e imprimible; el personal ha estado haciendo todo lo posible para mantener la antigüedad del museo en funcionamiento mucho más allá de su vida útil oficial. .
Se desconoce el destino posterior de la rareza: es posible que el BESM-6 del Museo Politécnico sea ella, tal vez la anciana terminó su vida en un horno de chatarra.
Al mismo tiempo, preste atención a la magia de Lebedev: solo pasaron 6 años desde el desarrollo del BESM-3 a la serie, y por razones puramente objetivas, jugando con la documentación del automóvil, depurando, etc., mientras Kartsev fue conducido de un cargo a otro por funcionarios del partido durante seis años y lo llevó a un ataque al corazón, y después de su muerte, el personal tardó otro año y medio para terminar el lanzamiento de M-1,5.
Total
Y finalmente, la pregunta candente, ¿sucedió?
¿Consiguió crear una computadora de nicho que cubriera las necesidades de los institutos de investigación soviéticos? ¿Equivalente a CDC 1604 que ejecutará todos los programas que necesita?
Por desgracia, no, aquí Lebedev lo arruinó todo.
Un intento de enfocarse en tres fuentes y tres partes componentes de la arquitectura a la vez condujo al fracaso: BESM-6 perdió la compatibilidad con CDC 1604 lo suficiente como para ser considerado con orgullo una arquitectura separada y suficiente para dejar de ejecutar los codiciados millones de líneas de código estadounidense. por lo que todos y empezaron.
Lebedev era demasiado inteligente y, como resultado, no fue posible lograr la compatibilidad binaria: los programas de Fortran, que se compilaron perfectamente y funcionaron en CDC, abandonaron BESM-6 en los lugares más inesperados. Para corregirlos, incluso se comenzaron a escribir libros de texto y monografías completos (por ejemplo, Borovin G.K., Komarov M.M., Yaroshevsky V.S. "Errores-trampas al programar en FORTRAN"), pero un tiempo valioso desperdiciado, las tareas se mantuvieron.
Como resultado, el colosal proyecto terminó con sentimientos encontrados, incluso durante la fase de prueba en 1966.
La pregunta sigue siendo: ¿qué hacer ahora?
Las consecuencias fueron las siguientes.
Primero, se decidió firmemente no pervertirse más, sino copiar de manera simple y precisa toda la arquitectura occidental para lograr la compatibilidad binaria. El propio Lebedev, para su crédito, se dio cuenta del error y ya no estaba ansioso por diseñar nada y, además, en la reunión de la Academia de Ciencias apoyó la idea de pedir prestado S / 360 (esto debe discutirse por separado).
En segundo lugar, a Melnikov ya no se le permitió desarrollarse de forma independiente. El proyecto BESM-10 ni siquiera comenzó, solo se conservaron descripciones y borradores, y "Electronics SS BIS", de la que fue responsable hasta su muerte, se convertiría en un clon de Cray-1.
En tercer lugar, en el centro nuclear más importante del país, Dubna, era necesario entregar urgentemente algo que funcionara con software estadounidense, por lo que se involucró la diplomacia y se intentó comprar o robar, exportando a través de países neutrales como Suiza, el verdadero CDC 1604, y también mejor - CDC 6600. Los intentos fueron sólo parcialmente exitosos.
El CDC 1604 fue utilizado por la Marina de los Estados Unidos y también para controlar el lanzamiento del Minuteman I, por lo que era una tecnología militar, pero para 1968 fue descontinuada y obsoleta, por lo que la Comisión de Control no objetó su suministro. En 1968 (simultáneamente con BESM-6) CDC también se instaló en JINR.
De particular interés es que la propia compañía CDC no se opuso a vender nada en ningún lugar, ni siquiera a Corea del Norte, y William Norris, su director, escribió una carta especial a su congresista Richard T. Hanna, pidiéndole que excluyera a la corporación de las acusaciones de cooperación con los comunistas:
Todos los países, incluidos los socialistas, tienen una base sustancial de tecnología de hardware informático sobre la que construir nuevos avances en el estado de la técnica. La principal fortaleza de los EE. UU. En tecnología informática es su capacidad para comercializar sistemas informáticos de costo / rendimiento superiores para una amplia gama de aplicaciones. Esto no significa que para una determinada aplicación o grupo de aplicaciones, otro país no pueda construir el equivalente en lo que respecta al rendimiento o incluso superar lo que Estados Unidos tiene disponible. Además, no hay evidencia que yo sepa de que a la URSS se le haya impedido alguna vez llevar a cabo un proyecto militar debido a la falta de tecnología informática adecuada ...
Solicitamos respetuosamente que su Comité revise los puntos anteriores y considere incorporarlos al expediente. Nos complacería tener el privilegio de comparecer ante su Comité para brindarle nuestras opiniones más detalladas sobre estas posibles relaciones con los países socialistas y exponer nuestras razones en apoyo de las iniciativas y objetivos comerciales de la Administración y el Congreso.
Carta de William C. Norris, presidente de
Control Data Corporation al Congresista
Richard T. Hanna, 1973.
La entrega con la máquina incluyó un compilador con Fortran, además, con códigos fuente, y el equipo de programadores de JINR bajo el liderazgo de Nikolai Nikolaevich Govorun se inspiró en ellos e intentó escribir un análogo para BESM-6, ya que se negó a trabajar directamente. .
Como resultado, primero tuve que escribir un ensamblador (el código automático con los mnemónicos de Lebedev era tan inconveniente que en la práctica no se usaba), luego el cargador, el soporte de la biblioteca y el resto del sistema operativo, que lógicamente se llamaba Dubna.
Naturalmente, esta fue una razón bien merecida para el orgullo: el arduo trabajo del departamento de programadores profesionales fue realizado por físicos e ingenieros aficionados, el resultado fue en general satisfactorio.
Una continuación directa de esta historia nos espera en el próximo artículo.
información