El nacimiento del sistema de defensa antimisiles soviético. El fin de las máquinas modulares
Los problemas básicos de la aritmética modular se resolvieron con éxito, se aceptó la máquina, el prototipo funcionó a la perfección, se escribieron los algoritmos. Hasta ahora, nadie podría haber imaginado cómo resultaría todo, y ante la euforia, los empleados decidieron no detenerse en el proyecto que ya se había completado con éxito (como les pareció) y construir algo más.
En este artículo, hay muchas ilustraciones de proyectos occidentales similares, lamentablemente, esta es una medida obligada, ya que no fue posible encontrar fotografías relacionadas con los últimos trabajos de Yuditsky y el equipo de SVC en ningún código abierto (y no se conoce si existían fotografías de estos prototipos secretos).
Al crear 5E53, se erigió una base monumental para futuras investigaciones: las bases matemáticas de trabajar con SOC, los métodos para aumentar la tolerancia a fallas finalmente se pulieron, se creó la periferia (y formarla en la URSS fue una hazaña separada, comparable al desarrollo de una supercomputadora, se quejaban de la monstruosa calidad de las unidades de disco, las impresoras y otras cosas soviéticas, incluso los comunistas fanáticos). Para el firmware, se fabricó una conveniente matriz de diodos de 256 bits sobre un sustrato dieléctrico: se fabricó DMR-256 y se organizó su producción en Mikron, se probaron métodos para ensamblar circuitos integrados híbridos de mayor densidad.
No olvidemos que los empleados de Yuditsky no diferían en la osificación senil característica de muchas escuelas científicas oficiales soviéticas, no había olor a gerontocracia allí, todos eran (como su jefe) jóvenes y atrevidos y querían crear más. Planearon mejorar la próxima versión 5E53, construirla en microcircuitos reales e incluir una serie de soluciones técnicas aún más progresivas allí (afortunadamente, en el diseño preliminar de la nueva supercomputadora, ya no había restricciones para trabajar específicamente con algoritmos de defensa antimisiles ). Se concibió una verdadera revolución en el campo de las supercomputadoras, impulsada por una competencia amistosa con el grupo de Kartsev: Yuditsky entendió que su máquina era objetivamente más lenta, estaba quemado por el deseo de exprimir la misma cantidad de operaciones en una computadora modular.
El monstruo pretendido era radical y progresivo incluso para los estándares de las asombrosas arquitecturas occidentales de la década de 1980 (cuando no se intentó nada más para mejorar el rendimiento). Además de la aritmética modular, tenía que ser modular, reconfigurable (!) Y con una implementación de microprograma de hardware de Java (!) URSS) o un lenguaje aún más extraño: IPL (lenguaje de procesamiento de información, desarrollado por Allen Newell, Cliff Shaw y Herbert A. Simon) de la Corporación RAND y la Institución Carnegie alrededor de 1: posiblemente el primer lenguaje de programación funcional del mundo, tipo ensamblador, orientado a trabajar con listas).
Vale la pena hablar de estas innovaciones poco ortodoxas por separado, especialmente desde que Burtsev tomó prestada con éxito la idea de soporte de hardware para dispositivos nucleares para su Elbrus. Todo comenzó en Estados Unidos con la famosa empresa Burroughs, que a principios de los años sesenta decidió incursionar en el mercado de mainframe.
B5000
Así nació la B5000, una gran máquina que superó en una década el desarrollo de la arquitectura informática.
Desarrollado por un equipo dirigido por Robert Barton en 1961, el mainframe fue el primero de una serie de grandes sistemas de Burroughs, producidos hasta finales de la década de 1980, con una arquitectura única nunca antes vista por ningún otro fabricante. El renombrado científico informático John R. Mashey la enumera como uno de sus inventos más admirados:
El experto en máquinas de Burroughs Alan Bateson, profesor de la Universidad de Virginia, en una entrevista para "What Happened to the Seven Dwarfs?"
En las décadas de 1960 y 1980, muchas empresas produjeron varias insignias de solapa en honor a sí mismas, a sus productos y a cualquier tecnología; estas insignias las usaban los empleados de la empresa, se distribuían en exposiciones y presentaciones y se usaban en publicidad. Hoy en día, muchos de ellos tienen un valor de colección considerable. La primera gran computadora Burroughs impresionó tanto la imaginación incluso de sus creadores que en su honor se lanzó una insignia con quizás la inscripción publicitaria más original: "Toqué la B5000" (Toqué la B5000). También se llama el libro de memorias publicado en 1985 por el célebre informático y desarrollador, especialista en teoría de lenguajes y compilación, que trabajó para Burroughs en su versión de Algol Richard Waychoff (Richard Edwin Waychoff).

La misma insignia (de la colección personal de Ole Hagen Jensen)
¿Qué es lo único que construyeron Bob Barton y su equipo?
Sabían que estaban ingresando al mercado de grandes sistemas mucho más tarde que sus competidores en IBM, RCA y otros, por lo que necesitaban ofrecer algo verdaderamente excepcional.
Además, tuvieron la oportunidad de estudiar la arquitectura de los sistemas ya presentados y se dieron cuenta de que todos tienen ciertas desventajas comunes, concentradas en el área de lo que la computadora más avanzada no sirve para nada: el software. Las máquinas se suministraron por separado del software, y todos los programas fueron escritos, por regla general, por una empresa que compró una computadora desde cero y para ellos mismos, nadie pensó en la conveniencia del desarrollo, la arquitectura se separó del software. Las computadoras fueron desarrolladas por grupos especiales de ingenieros que ni siquiera pensaron en lo fácil o difícil que sería desarrollar programas para sus máquinas. Se suponía que el B5000 proporcionaría respuestas a todas estas preguntas.
Fue la primera computadora del mundo que se desarrolló como un único complejo de hardware y software y un sistema integral, en contraste con el S / 360, para el cual IBM ni siquiera logró recordar el OS / 360 originalmente planeado (además, esta práctica de diseño separado se conservó en IBM y en adelante y finalmente se convirtió en dominante, incluidos los sistemas de instrucción x86, PPC y ARM). Diseñar una máquina sin tener en cuenta el código ejecutable condujo a numerosas muletas en la implementación de software y sistemas operativos en la década de 1980, lo que afecta indirectamente la calidad del software actual.
Para el B5000, las cosas fueron diferentes. Desde el principio, se diseñó en conjunto con el lenguaje, el sistema operativo y el software del sistema. Su principal característica arquitectónica es el soporte completo de hardware para lenguajes de alto nivel, basado en dos innovaciones: el procesador de pila y la memoria de descriptor de etiquetas.
El B5000 no tenía ensamblador, su procesador podía ejecutar directamente las instrucciones JLD. Durante el desarrollo, surgió la pregunta, ¿cuál de los idiomas elegir como principal? Solo hubo algunos de esos en esos años, pero la elección recayó en el lenguaje académico más poderoso, para el cual acaba de aparecer un nuevo estándar: Algol-60. Se convirtió en el lenguaje principal del sistema y hubo un buen soporte para Cobol (que involucraba principalmente trabajar con poderosos operadores de cadenas) y Fortran. Por lo tanto, toda la arquitectura del B5000 se construyó en torno a un lenguaje muy avanzado, por ejemplo, mucho antes de que apareciera la directiva #define en C, se usaba un mecanismo similar en el B5000, además, estaba integrado en el lenguaje mismo, y era no es un comando de preprocesador.
La mayoría de los otros fabricantes de computadoras solo podían soñar con implementar el compilador Algol debido a su complejidad y la implementación de software extremadamente lenta. Se creía que no era realista lograr una velocidad aceptable al usarlo, y si no usa el soporte de hardware, este era el caso (en particular, esta es una de las razones por las que Algol, como lenguaje, no ganó amplia popularidad en ese momento). El entonces joven estudiante, el legendario Donald Knuth, que previamente había desarrollado programas Algol-58 para sus primeras máquinas, trabajó en la implementación del lenguaje en Burroughs durante varios meses de vacaciones de verano.
El compilador de Burroughs Algol fue muy rápido: causó una gran impresión en el famoso científico holandés Edsger Dijkstra. Durante las pruebas de B5000 en Pasadena, su programa se compiló a la velocidad de lectura de tarjetas perforadas, lo que fue un resultado sorprendente para la época, e inmediatamente encargó varias máquinas para la Universidad Tecnológica de Eindhoven en los Países Bajos, donde trabajaba. El soporte de hardware y la RAM suficiente permitieron al compilador operar en modo de paso único (aunque los primeros ensambladores de máquinas casi siempre usaban compilación de paso múltiple en ese momento).

B5500 y sus componentes.
1 - impresora (B320, B321 o B325), 2 - lector de tarjetas perforado (B129), 3 - consola de control con 4 - teletipo para ingresar comandos (por ejemplo, Teletype Corp Modelo 33 KSR), 5 - perforador (B303 o B304) , 6 - unidades de cinta magnética (B422 / B423 –15 Mbit), 7 - procesador (uno de dos posibles), 8 - coprocesador de E / S, 9 - controlador de terminal, 10 - consola de visualización y depuración. Además, la foto no encajaba en 2 gabinetes con RAM y un segundo gabinete de procesador (foto de la Universidad de Tasmania http://www.retrocomputingtasmania.com)
Nos detenemos en todas estas ventajas con tanto detalle precisamente porque ideas similares se le ocurrieron al grupo de Yuditsky, y luego al grupo de Burtsev (excepto que Yuditsky, a diferencia de Burtsev, no tenía un Burroughs vivo a la mano para estudiar). Como resultado, muchas cosas descritas como únicas e incomparables en el mundo, implementadas en Elbrus, en realidad aparecieron mucho antes, incluidos los mecanismos de protección avanzados.
Incluso el mejorado Burroughs Algol no incluyó muchas de las construcciones inseguras requeridas por el sistema operativo y otro software del sistema. Para apoyarlos, se desarrolló una extensión especial Espol (Lenguaje Orientado a Problemas de Sistemas Ejecutivos). El kernel del sistema operativo Burroughs MCP (Master Control Program) y todo el software del sistema se escribieron en Espol. El soporte de hardware de Espol facilitó la implementación de memoria virtual, multiprocesamiento, conmutación rápida de contexto y llamadas de procedimiento, protección de memoria y uso compartido de código. El B5000 fue la primera máquina de memoria virtual comercial. Además, debido a esto, la reentrada completa del código se realizó de forma natural, sin esfuerzos adicionales por parte de los programadores. El lenguaje Espol a finales de la década de 1970 fue reemplazado por el más avanzado Newp (Nuevo lenguaje de programación ejecutiva).
Todas las construcciones inseguras en un programa son rechazadas por el compilador Newp, a menos que un bloque en la RAM esté etiquetado específicamente con una etiqueta especial para habilitar estas instrucciones. Esta marca de bloque proporciona un mecanismo de seguridad de varias capas. Además, los programas Newp que contienen construcciones inseguras no son inicialmente ejecutables. Un administrador de seguridad del sistema especial puede hacerlos ejecutables, pero los usuarios normales no pueden. Incluso los usuarios privilegiados, que suelen tener acceso de root, no pueden iniciarlos sin un permiso explícito de administrador. Solo los compiladores designados por el sistema operativo podían crear archivos ejecutables con comandos extendidos, y solo el propio MCP podía designar un programa como compilador (a través del comando de la consola de administración de seguridad).
Newp era tan avanzado que era compatible con la arquitectura de mainframe original Unisys ClearPath, heredera de la serie B, hasta 2014, cuando comenzó la migración x86. Además, mucho antes de bash en Linux, se desarrolló un lenguaje de línea de comandos separado WFL (Work Flow Language) para administrar MCP de manera efectiva. En los mainframes de IBM, su contraparte era el famoso Job Control Language (JCL).
Las computadoras diseñadas específicamente para Java eran muy complejas, pero luego se desarrollaron siguiendo el camino recorrido por Burroughs hasta mediados de la década de 1980 (entre ellas se encuentran la estación de trabajo Lilith de Nicklaus Wirth, el padre de Pascal y las famosas máquinas LISP), cuando fueron reemplazadas por la arquitectura x86 y los procesadores RISC de propósito general.
Los descriptores protegidos por etiquetas en el B5000 se verifican en el hardware en cada acceso a la memoria en cada paso de cambio de datos. Además, el sistema no necesita una gestión manual de la asignación de memoria y, además, esto es generalmente imposible. Cada segmento de datos protegidos, como el código, ni siquiera se puede leer, y mucho menos modificar, de manera incontrolada, lo que hace que la mayoría de los ataques y los errores sean imposibles.
Por supuesto, un proceso privilegiado adecuado puede cambiar explícitamente los bits de la etiqueta y, por lo tanto, cambiarse a sí mismo, pero solo el compilador ESPOL puede generar dicho código, mientras que el MCP se negará a ejecutar cualquier cosa que identifique como ESPOLCODE, sin importar el nivel de privilegio que tenga. la persona que intenta ponerlo en marcha tiene ... Estos programas deben instalarse como parte del sistema operativo desde el principio, y es fundamentalmente imposible agregarlos o cambiarlos en el proceso.
Como resultado, los mainframes de Burroughs siguieron siendo las máquinas más seguras y seguras del planeta durante los siguientes treinta años, razón por la cual el Sistema de la Reserva Federal de EE. UU. Los eligió durante muchos años como su estándar informático bancario. Como ya dijimos, esta arquitectura (naturalmente, mejorada continuamente por nuevos modelos) fue compatible con hardware hasta hace poco, y solo desde 2014 ha habido una transición a servidores x86 estándar.
Uno de los pocos problemas reales con la serie B fue que su padre, el B5000, terminó con un procesador y un subsistema de memoria extremadamente complejos. En la era de las máquinas de transistores, uno podría hacer la vista gorda ante esto, pero este momento complicó enormemente la integración de los modelos posteriores. En los años en que todos los fabricantes cambiaron a modelos de un solo chip con un procesador personalizado, la serie Burroughs de máquinas grandes todavía estaba disponible en diseños de múltiples chips.
La primera versión del mainframe-on-a-chip, SCAMP, no apareció hasta finales de la década de 1980, cuando fue demasiado tarde, aunque Unisys utilizó este procesador y sus sucesores hasta mediados de la década de 2000.
La confiabilidad fue un problema adicional con la enorme complejidad del procesador y la gran cantidad de transistores y circuitos integrados tempranos.
Sin embargo, las computadoras de Burroughs no pudieron romperse: la compañía tenía la reputación de ser uno de los mejores proveedores de sistemas de alta disponibilidad, sus máquinas tradicionalmente funcionaban durante años sin una parada de emergencia (como, por cierto, por cierto, por cierto, sus máquinas de sumar , considerado con razón el más confiable de la industria). Para que el B5000 cumpla con estrictos criterios de calidad, se ha incorporado al sistema una considerable redundancia y flexibilidad.
Los módulos de hardware se podían apagar e instalar sobre la marcha sin dejar de trabajar ni perder datos, lo cual era algo fantástico en ese momento. Para monitorear el estado de todos los nodos de la máquina y reconfigurar el sistema en el curso de los cálculos, sin pasar por secciones defectuosas, se agregó un coprocesador MDLP especial (procesador de lógica de diagnóstico de mantenimiento). Los ingenieros también lo utilizaron para diagnosticar todos los componentes del sistema.
Como resultado, a pesar de que el B5000 era un orden de magnitud más complejo que las máquinas tradicionales de esos años, su confiabilidad no solo no sufrió, sino que superó significativamente a la mayoría de los equipos de esta clase.
La credibilidad de la empresa en el entorno bancario era tan alta que en 1973, cuando se creó la Sociedad de Telecomunicaciones Financieras Interbancarias Mundiales (SWIFT), fue Burroughs quien construyó sus sistemas de conmutación troncal en 4 años de trabajo. Y hasta el día de hoy, el sucesor de Burroughs, Unisys Corporation, es el mayor proveedor de la red SWIFT.

El "mainframe de escritorio" Unisys Micro A (1989) es en realidad el primer servidor en el sentido moderno de la palabra. Su procesador es SCAMP-A (arriba) y más tarde es SCAMP-D (1997, abajo). Por orden de Unisys, los chips fueron producidos primero por IBM en sus fábricas, luego por LSI. El servidor Unisys ClearPath Libra 6200 (2012-2015) es el último en admitir la arquitectura B5000 (Foto de la Universidad de Tasmania http://www.retrocomputingtasmania.com, de la colección privada de John Culver https: //www.cpushack .com / y el prospecto oficial de Unisys ClearPath)
El B5000 fue utilizado por NASA, US Air Force, Carrier Corporation, University of Washington, University of Denver, Caltech, Stanford University, Monash University en Australia (fueron Burroughs leales hasta el final y tenían todas sus máquinas en secuencia, hasta el B7800), Drexel Institute of Technology en Montreal, British Post y American Bureau of Mines.
También en 1964, Burroughs construyó el B8300 para aplicaciones en tiempo real, como reservas de aerolíneas. Se eligió una versión bastante rara de Algol 60: Jovial como lenguaje del sistema. Fue desarrollado en 1959 como un nuevo lenguaje de programación de alto nivel para sistemas en tiempo real en SDC por un grupo dirigido por Jules I. Schwartz y originalmente era un dialecto de Algol-58, como lo indica su nombre jocoso (Jules Own Version of el Lenguaje Algebraico Internacional).
Al principio, estaba destinado a programar la electrónica de aviones de combate, pero en la década de 1960 se convirtió en una parte importante de una serie de proyectos militares de EE. UU., En particular SACCS (Sistema de mando y control automatizado estratégico, un sistema que controlaba armas EE. UU.) Y, por supuesto, SAGE. Aproximadamente el 95% del software SACCS (co-desarrollado por ITT e IBM) fue escrito por SDC en Jovial. El desarrollo tomó dos años (aproximadamente 1400 horas-hombre), más del doble de rápido que el software SAGE.
A fines de la década de 1970, cuando se desarrolló la arquitectura estándar para el procesador militar MIL-STD-1750A, se decidió que Jovial seguiría siendo el lenguaje principal para esta arquitectura. Muchas empresas proporcionaron sus compiladores para ello: técnicas informáticas avanzadas (ACT), sistemas TLD, sistemas de software patentado (PSS) y otros. El último estándar para este lenguaje, MIL-STD-1589C, fue adoptado en 1984, actualmente todavía se usan tres dialectos de este estándar: J3, J3B-2 y J73. Jovial solo se suspendió en 2010, aunque se siguen publicando compiladores.
Al igual que con Cobol, la mayor parte del software implementado en Jovial es crítico y el mantenimiento se está volviendo cada vez más difícil, con reemplazos parciales a partir de 2016, aunque a veces la elección es más que extraña. Por ejemplo, el software del famoso bombardero B-2 fue portado de Jovial a Pure C (!), Lo que difícilmente puede considerarse una solución eficaz en términos de seguridad y facilidad de soporte.
Los ingenieros de SVC propusieron aproximadamente la misma arquitectura, pero su supercomputadora tenía una característica única más: ¡era, como ya dijimos, modular!
La nueva computadora de Yuditsky
Se suponía que la nueva máquina de Yuditsky incluiría subsistemas de procesamiento central (hasta 16 procesadores centrales), entrada-salida (hasta 16 procesadores de entrada-salida), memoria (hasta 32 secciones de 32K x 64-bit RAM) y un poderoso sistema modular para la conmutación dinámica de los módulos enumerados en un gráfico complejo (cualquier CPU podría conectarse a cualquier PVV y cualquier sección de RAM). El rendimiento general de la computadora se estimó en 200 MIPS absolutamente monstruosos: ¡el Cray-1 de 1977 produjo 160! En el procesador, por supuesto, se planeó una implementación de tabla de aritmética.
Como resultado, Yuditsky notó con placer que, a pesar del sistema extremadamente atípico de clases residuales para una supercomputadora, ¡su nuevo proyecto podría vencer al M-10 de Kartsev! Realmente fue un híbrido absolutamente único, que absorbió todos los desarrollos mundiales más avanzados en el campo de las computadoras de esos años, la arquitectura de matriz paralela de la serie M, el soporte de hardware para el YED del B5000 y, por supuesto, la tecnología patentada. del propio Yuditsky - SOK.
Lo más sorprendente es que el resultado no parecía en absoluto un cruce entre un erizo y una serpiente: era una máquina absolutamente funcional, extremadamente cómoda y más poderosa en el mundo de esos años, los competidores estadounidenses más cercanos se quedaban atrás por un Generacion. Además, ella era increíblemente confiable.
En general, todos entendemos ya que no habría sido posible implementarlo en una serie en la URSS incluso a costa de la vida del diseñador jefe.
Para implementar la aritmética tabular, la máquina necesitaba una nueva memoria permanente compacta de gran capacidad. Desde hace varios años, una división de S. A. Garyainov lo ha estado desarrollando en los SVT. La esencia del trabajo fue crear matrices de diodos sin empaquetar, así como la tecnología de diseño y fabricación de dispositivos basados en ellas.
Fue por ello que quisieron adaptar el ya mencionado DMR-256. Sobre la base de la matriz, se desarrolló un sistema estructural original correspondiente: los cristales DMR se montaron en un tablero sital, los tableros se ensamblaron en una pila MFB (unidad multifuncional) de siete pisos, las pilas se instalaron en una gran cruz impresa -tablero. Varias placas posteriores se montaron en una caja de bloques sellada de metal llena de freón. Para eliminar el calor del bloque, se instalaron tubos de calor en él.
El proyecto preliminar de una computadora única, simplemente indexada con números romanos "IV", se completó a principios de 1973. "IV" fue concebido como un prototipo para desarrollos posteriores del SVC. Sin embargo, incluso antes de que se completara el proyecto, parecía que se le había dado un buen uso.
A finales de 1971, el Sukhoi Design Bureau Kulon solicitó al SVC un pedido para el desarrollo de sistemas CAD para aviones. Se impusieron requisitos altos y prometedores al CAD, que superó cualquier capacidad de las computadoras soviéticas de esos años.
Se suponía que el sistema admitiría más de 700 estaciones de trabajo automatizadas para los desarrolladores de la aeronave y sus componentes. Cada AWP era una terminal con un trazador, y los cálculos tenían que hacerse en la supercomputadora principal (en aquellos días, la producción anual de AWP aún más simples en la URSS no era más de medio millar). El borrador del diseño fue completado y aceptado con satisfacción por el cliente, pero el Ministerio de Industria de la Radio (encabezado por quién sabe) se negó a producir el automóvil, citando la falta de financiación (a pesar de que el proyecto estaba destinado a los militares Sukhoi Design Bureau, y no ahorramos dinero para la industria de defensa).
Sin embargo, un uso aún más interesante para "IV" apareció casi de inmediato, a principios de 1972. Luego, el SVC recibió una orden del propio GRU para el desarrollo de un borrador de diseño de una supercomputadora para procesar datos estructurados de una manera especial (traducción del lenguaje GRU a un lenguaje humano - para descifrar cifrados), que recibió el nombre en clave " Máquina 41-50 ".
Una computadora de 64 bits tenía que tener una velocidad de al menos 200 MIPS, 16 MB de RAM y periféricos avanzados. El SVC decidió construir una computadora vectorial con un sistema de comandos trabajando en arreglos y se centró en la implementación de los algoritmos del cliente. En este caso, el problema de la paralelización dinámica se resolvió a nivel de microprograma de hardware. El borrador del proyecto 41-50 SVC se llevó a cabo conjuntamente con el Instituto de Cibernética de la Academia de Ciencias de Ucrania, otro genio soviético subestimado, uno de los mejores especialistas del mundo en computación paralela y director del IC, el académico VMGlushkov, estuvo involucrado en la obra.
Tiene sentido comenzar de alguna manera una conversación sobre Glushkov por separado: era uno de los científicos más grandes del mundo en el campo de la informática (durante la 15a edición de la Enciclopedia Británica Británica-Estadounidense en 1973-1974, se encargó un artículo sobre cibernética para ¡Glushkov!), Pero sus proyectos (y hubo cosas absolutamente asombrosas, por ejemplo, la Internet soviética) se ahogaron tan despiadadamente que (según la tradición de destacados especialistas domésticos en el campo de las computadoras) no vivió hasta los 60 años. anciano, habiendo muerto de un infarto.
Glushkov fue nombrado líder científico del proyecto y se crearon dos subdivisiones especiales (una rama del SIC) en el IC, encabezadas por Z. L. Rabinovich y B. N. Malinovsky. El diseñador jefe fue Yuditsky.
El diseño de 41-50 comenzó con el estudio de algoritmos para resolver los problemas del cliente y tratando de encajarlos en la aritmética modular (como podemos ver, en todos los proyectos de máquinas SOK, el trabajo se basó en algoritmos; de hecho, este fue el inconveniente de esta clase de computadoras: un gran vínculo para tareas específicas, lo que hace que el automóvil sea casi altamente especializado). El trabajo fue dirigido por V. M. Amerbaev, como matemático y autor principal de aritmética modular, y L. G. Rykov, como ingeniero de circuitos que implementa estos algoritmos.
L.G. Rykov recuerda:
El resultado de la investigación se recogió en el trabajo RTM U10.012.003 "Algoritmos de máquina para aritmética no posicional de dos etapas", y en general fue decepcionante. El caso es que en las tareas del GRU, el porcentaje de operaciones no modulares era colosal, era imposible reducirlas a SOC, y era una estupidez convertirlas constantemente de un lado a otro y convertirlas en un coprocesador regular.
Como resultado, el rendimiento de una computadora ultracompleja y poderosa no excedería la de una supercomputadora ordinaria de arquitectura tradicional. En general, el sistema RNS dio bonificaciones debido a la confiabilidad, la facilidad de implementación de la aritmética de tablas y la reducción en la cantidad de equipo, pero Yuditsky no era un fanático y entendía que la aritmética modular no era una solución milagrosa. Hay casos en los que simplemente no recae en los algoritmos, a pesar de todos los trucos.
En la final, luego de discusiones y discusiones, el SIC decidió abandonar el SOC manteniendo el esquema general vectorial-modular de la máquina y revisó el proyecto. Tal flexibilidad los distinguió favorablemente de muchas oficinas de diseño soviéticas, que, habiendo encontrado una vez una solución técnica más o menos exitosa, continuaron estampando fanáticamente (como las versiones de transistor de BESM en todas las variantes y su propio sistema de comando, que es extremadamente exitoso en algunos tareas y en la misma curva extrema - en otros).
Decidieron hacer la máquina, por supuesto, en IC y como base tomaron la lógica más poderosa de la URSS conectada al emisor de la serie 100. Antes de que fuera robada, se llamaba Motorola MC10000 (también conocido como MECL - Motorola emister lógica acoplada): una serie de microcircuitos ECL bastante potentes y rápidos, desarrollados en 1962 (MECL I). La serie tuvo varias generaciones: I, II, III y 10000, lanzadas en 1971. Sin embargo, difería de la versión de 1968 solo en las clasificaciones de resistencia. Después de 7 años fue masterizado para ser copiado en la URSS como IS100, estaba destinado a las computadoras más poderosas como Elbrus.
Desafortunadamente, los microcircuitos de esta serie resultaron ser extremadamente difíciles para la Unión y tenían enormes problemas de calidad y estabilidad, por lo que son notorios (hablaremos del IS100 en la parte sobre el A-135 y Elbrus, el diablo se romperá la pierna al copiar poderosos ESL en la URSS, y este tema debe tratarse por separado, está estrechamente relacionado con las relaciones comerciales de los dos gigantes: Motorola y Fairchild).
En Occidente, Motorola 10k no era la opción más popular entre los constructores de supercomputadoras; para estos fines, con mayor frecuencia usaban un ESL de un competidor: Fairchild, la serie Fairchild F100K (luego intentaron copiarlo con un retraso de 10 años para Electronics SS BIS: la serie K1500, el resultado fue, bueno, digamos, no muy exitoso, este también es el tema de una conversación separada). Estaba en F100K (se usaron 3 microcircuitos de 4 tipos: 11C01, F10145, F10415 y solo un MC10009 para el circuito de muestreo de direcciones, Cray usó uno más barato en el lugar donde no era crítico) se ensambló Cray-1.

El gran y terrible Cray-1, una de sus placas de procesador basada en chips Fairchild F100K y el clon soviético Motorola 10k - serie 100 del período de desarrollo (foto https://cdn.britannica.com/, https: // en. wikipedia.org/, https://ru-radio-electr.livejournal.com/)
La producción de IS100 se masterizó en Mikron, Vent en Vilnius, Svetlana en Leningrado e Integral en Minsk. Luego comenzaron los problemas, la composición de la serie no proporcionó chips vectoriales, como resultado, se requirieron circuitos integrados adicionales, que no estaban en el programa de lanzamiento.
Se decidió unirse al programa desarrollando los microcircuitos faltantes para él. Y se abrió el tema "Yukola", en cuyo marco se determinó la composición de los circuitos integrados que requerían desarrollo (había bastantes de ellos - 14, tenga en cuenta que el vector Cray completo se ensambló, en general, en solo 4 tipos de microcircuitos, y solo se utilizó un tipo en la ALU) y desarrollaron sus diagramas funcionales y esquemáticos. El diseño y desarrollo tecnológico de estos circuitos integrados estaba previsto que se llevara a cabo en conjunto con el NIIME como parte de la preparación del proyecto de trabajo 41-50.
El diseño preliminar de la computadora fue aprobado por la comisión estatal con una alta valoración y con la recomendación de continuar con el trabajo. Uno de los ideólogos de 41-50 N.M. Vorobyov recuerda el final de los eventos de la siguiente manera:
Sin embargo, inesperadamente para nosotros, hubo una pausa inexplicable, larga, de varios meses. Se pospuso la celebración de un contrato para el desarrollo de un diseño técnico. Lo que estaba sucediendo allí, no lo sabíamos, el GRU es una organización seria. Pero cuando finalmente se tomó la decisión, los coroneles vinieron especialmente a explicarnos la situación. Los hombres con tristeza y disculpas ("te defendimos como una montaña como pudimos") nos dijeron la triste noticia: no habrá continuación de la obra.
Se decidió utilizar el Elbrus adaptado para sus tareas, pero no creen en la posibilidad de adaptación, ya que no existen palancas para asegurar su implementación.
Naturalmente, esto no fue sin el Ministerio de Industria Radioeléctrica, ya que estaba previsto producir 41-50 en sus instalaciones.
Final del proyecto SVC
Así terminó un proyecto más de las SVT sobre la creación de una supercomputadora.
A. I. Abramov, un representante del cliente general en el SVC, recuerda su final:
Tenga en cuenta que el desarrollo de BESM-10 ITMiVT en realidad fracasó, sin hacer nada viable sobre el tema, la escuela de Lebedev no sabía cómo trabajar con tecnologías de supercomputadoras en absoluto.
Dos de sus mayores logros son BESM-6 (del que no todo el mundo podría estar tan contento, porque no tenían nada más), con un rendimiento de solo alrededor de 1-1,5 MIPS y con un sistema de comando extremadamente feo e inconveniente, sin mencionar el ausencia de aritmética incluso entera (Lebedev nunca fue un destacado arquitecto de sistemas de computadoras), y el controvertido Elbrus Burtsev, que era claramente mejor que las creaciones de su jefe, pero no menos inconveniente y lejos de ser tan productivo como el trabajo del SVC. Además, la calidad de fabricación de las máquinas desarrolladas por ITMiVT fue terrible, también hablaremos de esto más a fondo.
El sistema 41-50 fue el último desarrollo de supercomputadoras en SVC.
Además, el mismo ministerio falló tres proyectos seguidos: el 5E53 debido al hecho de que una máquina creada específicamente para algoritmos de defensa antimisiles (¡y adoptada por la aceptación militar y PROSNIK!) Presuntamente no es capaz de implementar estos algoritmos ". IV "- con el pretexto de la falta de dinero, e incluso el terrible GRU se vio obligado a contentarse con el" Elbrus "metido en los dientes, incapaz de empujar a los burócratas del partido 41-50, que, nuevamente, fue aceptado con entusiasmo por ellos y correspondía plenamente a sus términos de referencia.
El último caso fue, en general, escandaloso: el Ministerio de Industria de la Radio, de hecho, se negó a lanzar una computadora sin ningún motivo, habiendo luchado contra los exploradores como si fueran escolares molestos. No te compraremos un coche bonito, juega con uno de hierro fundido.
Como resultado, Yuditsky se dio cuenta de que tiene sentido desarrollar solo lo que se puede producir en las instalaciones del propio SVC: miniordenadores de 16 bits. Naturalmente, el uso de la aritmética modular no les prometió ninguna ventaja particular y el proyecto SOC fue abandonado por completo para siempre.
Hay una leyenda citada por el académico V.M. Amerbaev y conocida solo por sus palabras:
VS Linsky recuerda este caso, y posiblemente otro:
Esto es bastante extraño historia, la aritmética modular podría ayudar con las computadoras bancarias, pero el principal fabricante de computadoras bancarias fue Burroughs, quien se basó en principios completamente diferentes de arquitectura de sistemas. Quizás podría ser algún tipo de empresa que quisiera derrocar al monopolista, pero no hay muchos actores serios en este mercado. Una empresa pequeña no tendría esa cantidad de dinero, una grande, como IBM, desarrolló fundamentalmente todo por su cuenta y, nuevamente, fue lo más conservadora posible. Además, toda la información (bueno, excepto los algoritmos ABM) sobre el SOC ya estaba en la prensa abierta, incluso sin el sello de aglomerado. Hacer las cosas bien no es mucho tiempo para unos pocos buenos matemáticos.
Bueno, en general, Estados Unidos sabía muy bien que la URSS estaba muy, muy interesada en extraer tecnología occidental por todos los medios (desde desmontar una muestra de radios donadas en forma privada a varios diplomáticos, hasta comprar licencias y robo total), pero en principio no vendería ninguna alta tecnología.
El lanzamiento de la computadora Setun, por ejemplo, fue prohibido incluso para su Checoslovaquia natal, aunque los checos suplicaron casi de rodillas, prometieron un gran robo de gesheft de la venta a Europa Occidental y ya estaban listos para construir una línea de producción (aunque hay un Fuerte sospecha de que las razones aquí no estaban relacionadas con la política, sino más bien con las palabras mágicas "cortar" y "retroceder", bastante relevantes en la época soviética, como recordamos, ciertos círculos del Partido Comunista Checo también presionaron sus propios desarrollos, lanzando millones de coronas para comprar a los franceses que ellos mismos no deseaban los mainframes Bull). Así que las negociaciones aquí estaban inicialmente condenadas al fracaso, y sería una tontería no entender esto.
A. V. Pivovarov recuerda otro caso:
Yuditsky vino a pedirme permiso para hacer tal trato, pero lo rechacé por dos razones.
Primero, para completar dicha transacción, es necesario fabricar una muestra de computadora para el desarrollo completo de la tecnología, pero no había ningún lugar para hacerlo.
En segundo lugar, ¿por qué tenemos que armar a los franceses y luego a nuestros potenciales adversarios militares? Sí, incluso si estuviera de acuerdo, las autoridades superiores no nos permitirían hacer esto.
Esta historia ya es mucho más realista, la URSS colaboró sorprendentemente mucho y fructíferamente con Francia tanto en el campo de las ciencias fundamentales, especialmente las matemáticas, y las ciencias aplicadas, incluidos los productos farmacéuticos, a Francia, así como a la República Federal de Alemania, donde nuestros científicos fueron liberados con más frecuencia y con más voluntad, el intercambio de tecnología, aunque limitado, también estuvo presente.
Sobre el tema de SOK, Yuditsky publicó más de 60 monografías y artículos, convirtiéndose en su mayor teórico, se obtuvieron muchas patentes para todos los nodos y algoritmos, algunas incluso en Alemania, Francia, Gran Bretaña, Italia y Estados Unidos, por lo que la absoluta claridad El mensaje del Ministerio de Industria Radioeléctrica “siéntate y no asoma la cabeza, nada de lo que hagas nunca saldrá” provocó un grave shock psicológico y una gran decepción para todo el personal de la SVC. Recordemos cuánto tiempo y esfuerzo se dedicó al desarrollo, cuántas reelaboraciones, turnos de noche, vigilias hasta la mañana con un soldador y un osciloscopio, cuántas esperanzas y expectativas cuando los desarrollos se materializarán en metal ...
Tres grandes fracasos seguidos, y sin culpa propia, es mucho para cualquier grupo de investigación.
Como resultado, la actividad científica del SVC se redujo a casi cero, mientras el equipo se recuperaba de la batalla con el Ministerio de Industria Radio. Como resultado, el tema de la aritmética modular en la URSS se redujo por completo, según algunas fuentes, los científicos extranjeros que observaron esto (y no sabían, por supuesto, las verdaderas razones de los eventos), decidieron que esto era de la completa futilidad de toda la dirección y también redujo drásticamente la intensidad del trabajo en las máquinas SOC ...
50 aniversario de la aritmética modular
En la Unión, las computadoras modulares fueron completamente olvidadas, en Rusia, más aún hasta 2005, cuando se celebró el 50 aniversario de la primera publicación de Wallach y Svoboda sobre este tema. Entonces, los empleados sobrevivientes del SVC decidieron al mismo tiempo recordar su contribución en esta dirección, honrar la memoria de todos los que participaron en el diseño de computadoras modulares y averiguar si se realizaron proyectos similares en otro lugar.
E iniciaron una conferencia especial "50 años de aritmética modular" en Zelenograd. Fue todo un éxito, participaron 49 delegados, en representación de 32 firmas de Rusia, Bielorrusia, Kazajstán, Ucrania y Estados Unidos, que realizaron 44 informes, se publicó una colección de obras de casi mil páginas de grosor.
Actualmente, las variantes de aritmética modular son ampliamente utilizadas en microcontroladores de tarjetas de acceso con un alto nivel de protección para la implementación de criptoalgoritmos, según la norma ISO / IEC 10118-4: 1998 (apartado Funciones Hash usando aritmética modular). Estas claves son producidas principalmente por STMicroelectronics. Además, los microcontroladores criptográficos han sido o están siendo producidos por M-Systems (controlador SuperMAP), Emosyn LLC (una división de ATMI, chip Theseus Platinum), Hifn y otros.
VM Amerbaev y AL Stempkovsky de IPPM RAS también trabajaron a principios de la década de 2010 en versiones alternativas de sistemas no posicionales, por ejemplo, el llamado logaritmético, en el que la representación de números es multiplicativa: un par del bit de signo y el binario. se utiliza el logaritmo del módulo del número. Con tal representación de números, las operaciones de división y multiplicación se simplifican enormemente, lo cual es lógico, pero la implementación digital de operaciones aditivas (suma y resta) se vuelve más complicada. Como resultado, surgieron híbridos aún más exóticos, por ejemplo, el código modular de LG. Utiliza números primos como bases y utiliza la representación logarítmica de los residuos para cada base simple. Desde el punto de vista del hardware, este esquema puede usarse para construir DSP extremadamente eficientes, ya que el código de LG acelera en gran medida una de las operaciones principales de dicho procesador, la transformada de Fourier.
Además, se utilizaron procesadores modulares en serie en los sistemas de procesadores especiales AFK "Vychut-1" y "Vychut-2" (prácticamente no se encontró información sobre ellos y no se sabe qué eran y para qué se usaban) y medios de protección criptográfica de líneas de comunicación - productos CRYPTON-4M7 y SECMOD-K. La información sobre "CRYPTON" es modesta, pero está disponible. Este es un adjunto de cifrado al teléfono, su base es un DSP modular de 32 bits, que implementa las funciones de encriptación de voz y su transmisión a una velocidad de 2400-12000 Baudios.
En la actualidad, los artículos sobre chips modulares aparecen periódicamente en Rusia (por ejemplo, Kalmykov I.A., Sarkisov A.B., Yakovleva E.M., Kalmykov M.I. Universidad Federal del Cáucaso No. 2 (35) / 2013), pero con lentitud, y el asunto no avanzó más allá desarrollos teóricos.
La historia ha demostrado que RNS es increíblemente conveniente para aplicaciones bastante limitadas: sistemas tolerantes a fallas, criptografía de clave pública y procesamiento de señales digitales, y no muy conveniente para todos los demás. Como tal, ahora se usa en el extranjero, sin embargo, es molesto que los pioneros destacados en esta área, los ingenieros soviéticos, hayan sido olvidados durante mucho tiempo, y sus obras únicas no trajeron ni gloria ni beneficio a su tierra natal.
- Alexey Eremenko
- http://www.retrocomputingtasmania.com, https://www.cpushack.com/, https://cdn.britannica.com/, https://en.wikipedia.org/, https://ru-radio-electr.livejournal.com/
información