El nacimiento del sistema de defensa antimisiles soviético. Pros y contras de BESM-6

15

CDC 6200


En términos de velocidad, BESM-6 tampoco era más una fuente en esos años, dado que 1960 las computadoras se han adelantado mucho, teníamos que buscar una solución a este problema también. La URSS se tragó su orgullo por segunda vez y fue a pedirle que le vendiera también el CDC 6600. Aquí CoCom ya ha descansado sus cuernos, y no solo ofendió a la Unión, ni un solo CDC 6600 fue entregado a nadie fuera de Estados Unidos , incluso Francia se negó. Solo en 1972, CoCom permitió (y luego bajo su estricta supervisión) instalar en Dubna una versión junior de CDC 6200, que en 1975 (ya obsoleta después del lanzamiento de Cray-1) se actualizó a un multiprocesador 6500, y el buque insignia: 6600, siguió siendo un monstruo puramente estadounidense.

Así recuerda G. Ososkov (periódico "Dubna", nº 21 (3759) de 27 de mayo de 2005)



En 1967, como parte de un contrato para la compra de una computadora CDC-1604, fui enviado a Alemania junto con los ingenieros A. Karlov y V. Mirolyubov para estudiar en el centro europeo de la firma CDC en Frankfurt am Main. Después de estudiar sistema operativo informático y programación en el lenguaje FORTRAN, hice una pasantía por otros dos meses en la operadora CDC-1604 en Hannover. Como resultado, trabajé como matemático senior en CDC-1604 durante un año después de instalar esta computadora en la LCTA y, además, aprendí inglés hablado. En 1969-1970 y 1973. en el CERN estaba estudiando el sistema de programas de control y calibración de la máquina de escaneo Spiral Reader, similar al desarrollado en LCTA. En 1972, junto con el subdirector de LCTA G. I. Zabiyakin, estábamos en un viaje de negocios de dos semanas a los Estados Unidos por invitación de la empresa CDC. Visitaron el BNL Computing Center, participaron en la CDC User Conference en Dulus, visitaron la sede de CDC y la planta donde se produjeron las últimas computadoras CDC-7600 en Minneapolis, así como los centros de computación de la Universidad de Berkeley y Livermore Laboratory equipados con máquinas CDC. . Entre otras cosas, nos mostraron la conocida computadora CDC-Star en ese momento. Sin embargo, lo que más me impresionó fueron las capacidades de la red informática CYBERNET, que conectaba 49 máquinas CDC en todo Estados Unidos para operaciones simultáneas por lotes.
La mayoría de las charlas con los usuarios en la conferencia de Dulus se dedicaron a discutir las capacidades y desventajas de esta red. Ahora, 30 años después, esas oportunidades parecen comunes, pero en ese momento parecían bastante fantásticas. El objetivo principal del viaje era concluir contratos para la compra de la computadora CDC-6200, eludiendo el infame acuerdo COCOM destinado a prohibir el suministro de las últimas tecnologías informáticas a los países socialistas. Al aceptar una inspección permanente por parte de KOCOM en Dubna, la dirección de la LVTA obtuvo en 1972 el permiso para comprar el CDC-6200. Tales máquinas de la serie 6000 pertenecían a computadoras potentes, para ellas había muchas aplicaciones en la biblioteca del CERN, y aunque la 6200 ya estaba bastante desactualizada, tal compra permitió a LVTA en 1974 desarrollar la máquina para la CDC-6400, y la el próximo año al multiprocesador CDC-6500. Junto con BESM-6, esto aumentó drásticamente la potencia informática de JINR, hizo posible la creación de una extensa red de terminales y el lanzamiento de estaciones fortran.

Lo mas gracioso de esto historias el hecho de que los coches con el índice CDC 6200 nunca existieron en la naturaleza. ¡No fue lanzado por los CDC y no se encuentra en ninguna fuente occidental!

¿Qué es?

Es muy simple: la compañía de Kray necesitaba nuevos socios, el negocio va bien, pero CoCom no acordó suministrar a los soviéticos ni siquiera una supercomputadora menor: 6500. Luego, los ingenieros de los CDC desmantelaron un procesador, hicieron otra degradación y recibieron un talón único: CDC 6200 especialmente para la URSS en una sola copia. Se les permitió vender el talón y, unos años más tarde, cuando la línea quedó obsoleta y se suspendió, CoCom les permitió volver a atornillar el procesador.

Una historia similar se repitió más tarde con CDC 7600 y Cray-1, no pudieron comprar, y el intento de crear un clon en forma de "Electronics SS BIS" fracasó fenomenalmente, pero dos CDC más, modelos más simples, CYBER 170 y 172. , fueron comprados legalmente.

CYBER 172 se compró en 1975 para el Centro Hidrometeorológico de la URSS y se operó con éxito allí hasta 1996. En general, el estudio del clima fue sumamente importante para la URSS en relación con la enorme extensión del país y las necesidades de transporte marítimo y uso de la tierra, por lo que en el Centro Hidrometeorológico se encontraban algunas de las máquinas más poderosas del país. Union, no inferior a Dubna y Arzamas-16, y por lo general se usaban varias máquinas a la vez. La primera computadora para los meteorólogos fue la M-20, que operó allí de 1959 a 1962, fue desechada después de solo tres años, y no es de extrañar.

El director del Centro Principal de Computación Vladimir Antsipovich, que trabajó allí durante más de 40 años, recuerda:

Tuvimos que lograr la confiabilidad del funcionamiento de los esquemas tecnológicos con un tiempo mínimo de conteo continuo requerido de al menos una hora, mientras que, por ejemplo, para el M-20, el pasaporte MTBF era de solo quince minutos.

Fue reemplazado por M-220, luego M-222 y Vesna, una computadora grande bastante exótica con un rendimiento de 300 KIPS, creada en 1965 en la Oficina de Diseño de Automatización Industrial del Ministerio de Industria de Radio (como puede ver, a pesar de la BESM-6, otros ministerios continuaron jugando con entusiasmo en las arquitecturas del zoológico).

Esta máquina funcionó en el Centro Hidrometeorológico hasta 1972, en paralelo con la parte superior de los mainframes puramente soviéticos: "Minsk-32". También de 1968 a 1985 BESM-6 trabajó allí.

CYBER-172 fue el primer extranjero en el Main Computer Center (fue para los meteorólogos en 1975 que querían comprar un CDC 7600, pero se separaron de CoCom), y con él comenzó el dominio de las supercomputadoras occidentales en la meteorología soviética. En general, querían comprar dos de ellos, pero CoCom incluso entonces le puso un cerdo, decidieron que dos de ellos eran demasiado gordos para la URSS.

Naturalmente, también estaban los EU 1060 y 1066, así como el IBM 3033, el reemplazo más nuevo para la línea S / 370, salió en 1979, sin embargo, por conspiración se llamó Hitachi (sin embargo, hay una historia turbia: o los nuestros compraron un clon con licencia de Hitachi, o el IBM original, pero lo llamaron así en aras de un mayor misterio, en cualquier caso, la máquina "Hitachi 3033" no existe en la naturaleza, solo existe Hitachi HITAC M- 220 o IBM 3033).

En 1992, ya querían entregar el sufrido Elbrus-2, pero luego, de repente, CoCom aprobó la venta a Rusia del Cray Y-MP más poderoso, que supera al Elbrus en unas 30 veces. Mientras se discutían todos los detalles, la instalación se trasladó a 1996 y desde el Top 500 Cray Y-MP ya se ha abandonado.

Este monstruo trabajó en el Centro de Computación Principal durante 10 años de forma continua, hasta 2006, cuando murió a salvo en su puesto. Esto se debe en gran parte al hecho de que tres años después de la instalación, por motivos económicos, era necesario seguir utilizando el Cray Y-MP sin el apoyo del fabricante. Antsypovich dice:

Durante ocho años de funcionamiento, pasamos por todos los nodos de la computadora, tratando de hacerlo funcionar debido a la redundancia del diseño, pero, al final, incluso las reservas ocultas comenzaron a ser insuficientes: el complejo se detuvo.

Luego aparecieron dos clústeres: SGI Alltix 4700 (11 teraflops 832 Intel Itanium 2 9140M) y SGI Alltix ICE (16 teraflops, un número desconocido de Intel Xeon E5440), y en 2019 el poder se bifurcó para un nuevo clúster de Cray - XC40.

CYBER 170 fue comprado en 1976 para el laboratorio del Centro de Investigación Científica de Leningrado de la Academia de Ciencias de la URSS en LIAN, ahora SPII RAS. El autor desconoce el destino del automóvil del Centro Hidrometeorológico, pero vio los restos del automóvil LIAN con sus propios ojos en el edificio del SPII RAS en la isla Vasilievsky, es difícil llegar allí, pero no imposible, el personal Son muy amables y, si llaman y negocian con anticipación, con mucho gusto realizarán una pequeña excursión, para que quienes viven en San Petersburgo tengan una buena oportunidad de tocar la historia.


CDC CYBER-170 de SPII RAS, o más bien sus restos. Foto del autor.

Para resolver el problema de la falta de potencia informática en 1973, Melnikov desarrolló el llamado. equipo de interfaz, el complejo AS-6, de hecho, un conmutador programable complejo con memoria adicional y coprocesadores, que le permite combinar varios BESM-6 y convertirlos en un clúster con RAM compartida. Se hicieron un total de 8 juegos.

preguntas


Nos quedan dos preguntas por responder.

Primero, ¿por qué la arquitectura del sistema de BESM-6 no tuvo tanto éxito?

En segundo lugar, ¿qué puntos fuertes tenía y por qué se llenó de mitos y leyendas?

Para empezar, Lebedev diseñó originalmente sus primeras máquinas con propósitos muy específicos, específicamente para resolver sistemas de ecuaciones diferenciales (es decir, calcular la trayectoria de misiles o simular reacciones nucleares). Comprendió cómo construir tales computadoras, ya que él mismo era un destacado ingeniero eléctrico y desarrollador de computadoras analógicas para modelar las mismas ecuaciones diferenciales.

A diferencia de Eckert, Wilkes, Amdalla, Lebedev no era exactamente un informático, no tenía la mentalidad adecuada y, más aún, no era un programador, su único intento de crear un código automático terminó con el hecho de que nadie usó este horror. Por lo tanto, Lebedev no tenía una idea cercana de los problemas de los usuarios de sus máquinas, construyó, aunque formal y universalmente, pero en espíritu más bien computadoras mono-tarea, bien adaptadas para resolver sistemas de difura y pobremente para todo lo demás. .

Por cierto, este era un problema común para todos en ITMiVT: aún podían crear máquinas para misiles, pero podían crear una computadora verdaderamente universal con gran dificultad. Burtsev finalmente tuvo los mismos problemas con Elbrus, tomando como base el mainframe bancario de Burroughs y tratando de convertirlo en una computadora de control de defensa antimisiles. Resultó al menos, pero tampoco de Elbrus surgió una supercomputadora de propósito general exitosa para científicos.

Los CDC fabricaban máquinas para sistemas de control y computación científica, e IBM fabricaba máquinas para empresas, principalmente para sistemas financieros y contables. Se trata de áreas de aplicación fundamentalmente diferentes y dejaron su huella en la arquitectura. BESM-6 alcanzó la absoluta en esta división.

Comencemos con un hecho que ya ha salido a la luz aquí. No había aritmética de enteros en él. En general. Para nada.

En CDC 1604 estaba, y muy desarrollado, pero Lebedev lo descartó de BESM-6, ¿por qué?

Porque toda su vida construyó trituradoras mono-tarea de ecuaciones diferenciales (mono-tarea - en el sentido de que, según su lógica, simplemente se ejecutaron a expensas de un sistema de diferente difura, y más - no fueron particularmente utilizadas). ), y allí no se necesita la aritmética de enteros. Como resultado, ante las dificultades de combinar el material y la ALU completa, simplemente tiró el todo, decidiendo que si alguien lo necesita de repente, emulará el material.

¿Por qué necesitamos aritmética de enteros?

La respuesta es simple: manipular direcciones en RAM. Como ya entendiste, tanto el CDC-1604 como el BESM-6 eran máquinas con sumador (es decir, en terminología moderna, tenían solo dos registros, de los cuales uno dedicado era la batería, en el que se realizaban todas las acciones). En parte, esto es similar a la arquitectura de pila que ahora se puede encontrar en los lenguajes Forth y Java.

El problema es que con tal organización, ALU tiene que cargar / descargar constantemente algo en la memoria, y esto requiere registros de índice y aritmética de índice avanzada, lo que permite manipular direcciones en RAM.

Por cierto, hubo un cierto inconveniente en BESM-6 y CDC: el ancho de bits de los registros de índice no coincidía con el tamaño de la palabra (!) Y el tamaño del registro del acumulador, e incluso no era múltiple ( 15 y 48 bits), que todavía era normal según los estándares de 1959-1960, pero llevar un arcaico a 1968 ya es pesimista.

Por lo tanto, es natural que las máquinas con sumadores hayan desarrollado aritmética de números enteros precisamente debido a la necesidad de cargar algo de la RAM o colocarlo en cada ciclo de reloj, mientras que Lebedev ignoró esta característica del CDC. Como resultado, cada cálculo de direcciones requería emulación en un procesador real, lo que no afectó positivamente ni a la velocidad de trabajo ni a la conveniencia de la programación.

La periferia se ha convertido en otro problema muy grave de BESM-6.

Primero, como ya dijimos, Melnikov abandonó los procesadores de canal y lo explicó de esta manera:

El método de interconexión de dispositivos externos, adoptado en la máquina BESM-6, fue objeto de los mayores ataques de los críticos de esta máquina. De hecho, la conexión de cualquier dispositivo nuevo requiere ciertas mejoras de ingeniería en el dispositivo para controlar dispositivos externos, y el usuario que ha logrado hacerse con cualquier dispositivo "no estándar" tiene grandes dificultades con su conexión. Parece que no hay excusas para tal decisión, especialmente porque cuando se desarrolló el BESM-6, IBM había implementado una interfaz estándar que eliminó en gran medida el problema de conectar nuevos dispositivos y reemplazar algunos por otros.
Pero si piensa detenidamente o simplemente compara el costo y el volumen del equipo requerido para implementar la interfaz con dispositivos externos en cualquier caso, entonces las decisiones tomadas en BESM-6 pueden no ser tan malas. De hecho, cada dispositivo externo para proporcionar una interfaz estándar contiene un controlador o está conectado a este dispositivo muy costoso y complejo, que proporciona una salida estándar a los canales selectores o múltiplex. Si sumamos los costos de equipo adicional y el espacio que ocupa, requerido al conectar dispositivos a través de una interfaz estándar, resulta que el sistema BESM-6 es muchas veces más económico. En otras palabras, la unidad de control centralizada BESM-6 es varias veces más barata que el costo de los controladores para un conjunto estándar de almacenamiento externo y dispositivos de entrada / salida de máquinas de una clase similar.
Sin embargo, en varios modelos de máquinas de IBM, se introdujo un llamado adaptador de archivo integrado, que le permite conectar un dispositivo de almacenamiento en disco a una computadora sin utilizar un canal ni un controlador estándar. En este hecho, se puede ver cierta analogía con el método racional de conectar dispositivos, adoptado en BESM-6.

Traducido al lenguaje ordinario, resulta lo siguiente: para implementar un trabajo sano con coprocesadores de canal, como en el S / 360, no teníamos suficiente dinero y el deseo de Lebedev, quien se opuso fanáticamente a la introducción de coprocesadores en sus máquinas (un arreglar la idea que quedó de los tiempos del tubo, cuando un par de miles de lámparas adicionales de calidad soviética claramente no mejorarían la confiabilidad, y el juego no valía la pena, Burtsev empujó los procesadores de canal al 5E26, lo que aumentó drásticamente su rendimiento, de hecho , detrás del ya muy enfermo Lebedev, que entonces no estaba a la altura de la arquitectura).

En general, trabajar con canales a menudo resultaba demasiado confuso para nuestros programadores, de ahí los mitos sobre la superioridad de BESM-6 a este respecto sobre la serie EU. Dado su bajo nivel de alfabetización, los enormes problemas con la calidad de los primeros clones de la UE, así como la ausencia casi total de libros de texto, documentación, programas de ejemplo, parches, etc., por supuesto, trabajar con algo tan complejo como los canales podría convertirse en un infierno. en comparación con la implementación de entrada-salida en BESM-6, tan simple como una bota de fieltro. De ahí los numerosos mitos sobre la arquitectura increíblemente progresista.

Al mismo tiempo, muchos confunden diferentes niveles de arquitectura: la arquitectura del sistema de comando y la arquitectura del sistema, que describe, entre otras cosas, la conexión física de los periféricos, etc. Con la arquitectura del sistema en BESM-6, todo era simplemente muy bien: las máquinas se pueden combinar en una red, en un clúster de hasta 8 computadoras, fue posible conectar hasta 128 terminales, incluidos los remotos, un controlador de disco de clúster (cada máquina en un clúster tiene acceso a cada disco), etc., todas las computadoras occidentales de esta clase).

Una paradoja divertida es el hecho de que muchas soluciones técnicas exitosas nacieron de los intentos de superar la miseria de la base del elemento doméstico.

Por ejemplo, la tecnología progresiva de la doble grabación en cinta (incluso si un bloque tiene errores, pero en dos lugares diferentes, se recogerá de las piezas y se leerá normalmente) apareció como respuesta a la repugnante calidad de la cinta soviética, que empezó a decaer. se derramaron literalmente después de dos o tres corridas: en la UE, después de IBM, no existía tal mecanismo; como resultado, surgió un mito sobre la falta de confiabilidad de su subsistema de grabación en cinta en comparación con BESM.

Al mismo tiempo, no se utilizaron discos duros progresivos como unidad magnética, sino un tambor magnético obsoleto, mientras que los controladores de disco aparecieron solo en 1974, después de que se copiaron de los controladores de los antiguos mainframes de General Electric (en ese momento tan obsoletos que CoCom no tuvo problemas para resolver oficialmente su venta para las necesidades de KIAE e ITEP, extraoficialmente, para desmontarlos en piezas útiles para BESM-6).

En general, se puede escribir un libro aparte sobre los horrores de una periferia puramente soviética, así como sobre su calidad. En una discusión sobre BESM-6 en la revista 1500py470.livejournalUno de los programadores que trabajó con ella dejó tales recuerdos en esta ocasión:

Entré accidentalmente en tu conversación. Trabajó en BESM-6 durante 17 años. Había dos máquinas # 135 y # 335 ... Al menos sabe que una de las herramientas estándar para probar y diagnosticar errores de operación de la máquina, especialmente con un error flotante, era un martillo, en forma de cilindro de metal pesado (todas en muescas para que no se salga de la mano al golpear) con puntas de ebonita reemplazables en ambos lados (cambiaban con el desgaste). Nuestros coches se apagaban una vez al año. Es fácil de adivinar: 31 de diciembre. Entonces, después de encenderlos, todos los tocaron. Memoria (estos son 8 gabinetes dobles) con una capacidad total de 128x6Kb (no conté dos dígitos de control), es decir e. menos de 1 Mb, y el área ocupaba entre 60 y 80 m, o incluso más. Trabajamos bajo OS DISPAK, en modo por lotes el procesador procesaba de 5 a 10 tareas (dependiendo de cuánto comiera la tarea), el sistema CRAB estaba constantemente disponible ... luego hubo un beneficio de la UE). Nadie notó que la frecuencia del reloj en diferentes fuentes indican diferente, ¿dónde está 9 MHz y dónde está 10 MHz? Desarrollado para 10, pero el elemento base nos defraudó, hizo 9,1 MHz. Hay mucho más que contar. Combinamos dos máquinas en discos compartidos (primero 7,5 MB, luego 29 MB en cada unidad, discos extraíbles). Hay 16 unidades de este tipo. Realizamos una red de terminales a través de una central telefónica automática local, líneas arrendadas hasta 500 metros. Los terminales eran alfanuméricos, Videoton-340 se consideró el mejor (Hungría compró una licencia de IBM para un modelo obsoleto). Aún mejor fue el Videoton VDT ​​52100 en procesadores Intel 8080. Uno de los mayores problemas fueron los tambores magnéticos. Si omitimos los detalles, entonces es muy similar al funcionamiento del HDD, pero los cabezales son fijos y hay cientos de ellos (no recuerdo exactamente). Todas las hemorroides son que los espacios en ellas se colocan manualmente en cada cabeza en un estado frío, y después de que este dispositivo se haya calentado, esto no se puede hacer: durante la aceleración, el aumento de las vibraciones y la superficie se abomba (y pesaba 200-250 kilogramos , por tanto, en un trabajo el régimen entró durante varias horas y se enfrió durante casi un día). Si está apagado, no puede arrancar en caliente, debe esperar hasta que se enfríe. Así que nos deshicimos de ellos también, poniendo la memoria de Electronics. En lugar de 16 bidones, 8 cajas, una rejilla. Dos BESM-6 se colocaron fácilmente en una sala de 200 m, se conectó el gráfico del trazador Digi. Prácticamente abandonaron las cintas magnéticas, cambiaron a discos e instalaron el software ARFA (sistema de archivo-archivo). Para descargar programas escritos en Fortran, conectamos una PC, instalamos Kermit. Los usuarios recibieron los textos de sus programas en un disquete ... Para 1975, era necesario lanzar una nueva máquina de esta línea, teniendo en cuenta las deficiencias: 15 bits en la parte de la dirección es un callejón sin salida, la base del elemento está completamente desactualizada , sobre ADCP, UPDK, ML, etc. periferia y no digas nada, ¡HORROR! ¡El consumo de energía es indignante! No puede recordar todas las deficiencias a la vez, esto es lo mejor. Pero soldaron y ensamblaron en la planta de CAM, pajaritos torcidos, a veces sobrios. Después de ellos, los ajustadores lo pusieron en funcionamiento durante dos meses.

La jefa del departamento LCTA de OMOED, G. N. Tentyukova (semanario JINR "Dubna" No. 34 (4325) del 11 de agosto de 2016, "Cuando las máquinas eran grandes") recuerda:

Probablemente, ¿no encontró el primer dispositivo para insertar tarjetas perforadas en el BESM-6? Ahora te cuento cómo funcionó. Tú pones la baraja. Lo enciendes. Lentamente: chug-chug-chug ... De repente: tra-ta-ta! Cuatro cartas ... Esto significa que debes sacar la baraja, contar cuatro cartas de las que han pasado, ponerlas al principio del resto de la baraja y presionar empezar de nuevo. Valya Nikitina dijo que durante una conferencia internacional (se acababa de presentar BESM-6), el Talker llevó a extranjeros a la sala de turbinas, para que se jactaran del tipo de computadora que tenemos. Y Valya, como si fuera a propósito, instaló una gran terraza. Bueno, ¿qué vas a hacer? "Cuatro cartas", "cuatro cartas" ... Valya se pone de pie, se sonroja. Bueno, nada, los extranjeros son gente educada: miraron como Valya ingresó las tarjetas y se fue. Valya dice: ¡Casi me quemo de vergüenza! ¿Qué puedes hacer? No tenemos la culpa.

Si lo desea, puede encontrar tantos recuerdos de este tipo que no contendrá ni un solo artículo.

Incluso los propios empleados de JINR escribieron en el periódico de Dubna en 1990 (cuando ya no podían sentirse avergonzados:

El equipo se mejoraba constantemente. El grupo de operadores bajo el liderazgo de V.V. Fedorin e I.A. Entrada de tarjeta perforada CDC y grabadora, terminales húngaros, grabadoras y discos búlgaros, una impresora polaca, un trazador japonés: no encontrará una flota más diversa de dispositivos externos en ningún lugar. Este zoológico ha puesto de relieve la desgracia de larga data de la tecnología nacional: nuestra gente está capacitada, ¡pero la industria no!

En general, fue posible trabajar normalmente en BESM-6 unos 15 años después del lanzamiento del automóvil, cuando los camaradas más penetrantes que tenían el tirón más fuerte (como los científicos de Dubna) arrojaron toda la periferia del BESM a la basura. montón (y al mismo tiempo de la UE, era mucho mejor, pero en comparación con las importaciones - chatarra monstruosa) y suministró todo estadounidense, japonés y alemán (en el peor de los casos, polaco o húngaro).

Además, era deseable actualizar la memoria, estropear terminales normales con muletas infernales (en el peor de los casos, de la UE) y escribir una gran cantidad de software nosotros mismos, desde traductores hasta el sistema operativo. Entonces podrían quedar buenos recuerdos de trabajar con BESM-6.

En general, durante todos los años de existencia de la Unión, una idea simple no se dominó categóricamente en ella: el cliente quiere un producto terminado y no un producto semiacabado en bruto que debe terminarse durante años. Imagínese una situación: la NSA recibe el CDC 6600 que encargaron por diez millones de dólares, la computadora llega sin periféricos (o con uno con el que es imposible trabajar y, si es posible, debe conectarlo durante seis meses con un soldador y palabras mágicas famosas), sin un sistema operativo sensato, sin compiladores y ensamblador completamente loco.

Y señores, los criptógrafos deben hacer todo el trabajo de puesta en marcha con sus propias manos y por su cuenta, escribir software y, en general, trabajar normalmente con la máquina en 10 años, antes de eso, tengan paciencia. Para cualquier empresa de un tipo de mercado, tal truco sería el último en su trabajo; un cliente insatisfecho no vendrá por segunda vez. En una economía planificada, no había otra opción, como clase: lo que el partido se dignaba dar y luego comer.

El mito del rendimiento


En cuanto al rendimiento, existe el mito de que el BESM-6 era increíblemente poderoso, casi al nivel del CDC 6600. El rendimiento declarado del BESM-6 es 1 MIPS. En realidad, esta información es fundamentalmente inconsistente, ya que el tiempo de ejecución de los comandos podría diferir en un orden de magnitud.

Por ejemplo, la velocidad teórica de funcionamiento del dispositivo multiplicador (MD) por sí sola realmente podría alcanzar valores de 1 a 1,3 MIPS, mientras que la velocidad práctica, cuando el CD accedía intensamente a la memoria en el proceso, no excedía de 0,5 a 0,8 MIPS. Los comandos de división trabajaron a una velocidad de 0,15-0,3 MIPS, mientras que los comandos con el retorno de datos de la AU a la UU (UI, MOD, etc.) podían producir cualquier cosa, ya que estaban esperando 5 equipos (4 de la LHC y 1 del PR). En este caso, el ciclo de memoria de BESM-6 es igual a 2 μs, es decir, los comandos que leen el operando, que no está en el BRZ, podrían, en el peor de los casos, obtener +2 μs a su tiempo de ejecución.

En 1992, antes de desmantelar el BESM-6, los empleados del Research Computing Center compararon su desempeño en el recuento de combinaciones de puentes con un procesador 286 (la implementación de AMD superó el reloj a 16 MHz frente al estándar 12) y, según sus garantías, recibieron números aproximadamente iguales . El rendimiento de AMD 286 superó los 2,6 MIPS, pero no sabemos qué versión de BESM-6 (lo más probable es que el Elbrus-1K2, en el IC sea mucho más potente que el original) usaron.

El libro "De los microprocesadores a las computadoras personales" (Cheremnykh S.V., Giglavy A.V., Polyak Yu.E., 1988, Radio and communication) proporciona ejemplos de un punto de referencia (adición y multiplicación de matrices en un bucle) en diferentes idiomas para diferentes máquinas y se da el tiempo de su ejecución. Según esta información, el tiempo de ejecución de la prueba fue (según el idioma) de 0,08 a 0,23 s para BESM-6 y de 0,11 a 0,38 s para EC 1055M, 0,45 s para DCK (procesador MS 1201.02) y 0,37 s para PC / AT con procesador de 16 MHz.

Todos estos datos son muy contradictorios y, en ausencia de un BESM-6 que funcione, no será posible averiguar la verdad, sin embargo, observamos que el resultado promedio en un problema aleatorio en cualquier caso no excede de 0,8-1,5 MIPS.

Tenga en cuenta que el IBM 7030 Stretch alcanzó esta velocidad ocho años antes, se confirmó que el legendario CDC 6600 ofrecía más de 3 MIPS 4 años antes, y el S / 360 de los modelos más antiguos produjo los mismos 0,8-1 MIPS un par de años más temprano.

Por lo tanto, vemos que BESM-6 definitivamente habría estado entre los poseedores de récords mundiales en 1959-1960, pero para 1968 sus parámetros no representaban nada sobrenatural y estaban al nivel estándar para un mainframe típico, además, en el medio del década. Al nivel de las máquinas europeas de esa época (Siemens, Bull, Olivetti), la BESM-6 parecía normal, aunque no estaba a la altura de las CDC (que eran las máquinas más potentes de la época). Los S / 360 no fueron peores, en los cálculos científicos, y significativamente mejores, en los financieros.

No hay nada de qué sorprenderse.

Como dijimos, BESM-6 no tenía soporte para aritmética de enteros, lo que significa que cualquier comando aritmético se realizaba en un sumador real, y ahora imagine el placer de calcular direcciones a través de la emulación de aritmética de enteros en casi todos los ciclos de reloj: la máquina no es un registro, pero antediluviano, con un sumador, como resultado, los números deben conducirse constantemente de RAM a RAM. Esto llevó al hecho de que incluso en el mejor de los casos, la lectura requería 3 tics, suma - 5 ticks (en promedio - 11, en el peor - 280), multiplicación - 15 ticks (en promedio - 18,5, y en el peor - 162), la división tomó un promedio de 50 ciclos de reloj. Como resultado, los programas no solo se ejecutaron más lento de lo que podían, sino que también ocuparon más espacio.

V.V. Przhiyalkovsky también menciona esto en su reseña:

La investigación llevada a cabo en el Instituto de Matemáticas Aplicadas de la Academia de Ciencias de la URSS ha demostrado que los programas compilados para IBM S / 360 requieren de 1,5 a 3 veces menos memoria que los programas BESM-6, Vesna, M-20.

Si hablamos del rendimiento en cifras según la entonces popular prueba de Whetstone, BESM-6 ganó entre 0,3 y 0,4 millones de operaciones de precisión única por segundo, que estaba al nivel de los modelos promedio de IBM.

Otro problema fue la total imprevisibilidad del trabajo a tiempo. ¡Se podía ejecutar el mismo comando para tiempos que diferían literalmente en un orden de magnitud! Es una pesadilla para los estándares modernos, y no mucho mejor para los estándares de la década de 1970.

En cualquier sistema de instrucción, a partir de la década de 1960, se sabe exactamente cuántos ciclos de reloj tomará una u otra acción, y estos tiempos están detallados en todos los manuales para programadores de bajo nivel. Lebedev, por otro lado, no entendía por qué se necesitaba al menos algún tipo de previsibilidad, y ni siquiera trató de lograrlo.

Como resultado, en BESM-6, el tiempo de ejecución depende de fenómenos aleatorios, no solo de los obvios, por ejemplo, si una dirección entró o no en la captación previa, sino incluso del valor de los operandos.

No se sabe en relación a qué competidor Lebedev pronunció la frase que se le atribuye: "Sí, la velocidad de su máquina es mayor que la mía, pero dada la baja confiabilidad, aún no tendrá tiempo para calcular la tarea en el intervalo entre ¡Dos averías! ”, pero muchos lo interpretan, como prueba de la superfiabilidad del BESM-6.

Había el único lugar del mundo donde podía encontrarse en una pelea justa con el CDC 6500: el centro de investigación nuclear de Dubna. Aquí está el resultado de su batalla: su plan anual en horas de trabajo coincidió - 6000 nominalmente, pero en realidad BESM-6 trabajó 1979 horas en 6910 y CDC 7440 horas. Lo más importante está en otras cifras: se procesaron 75 mil tareas en la máquina de Lebedev, en el CDC, casi 200 mil ...

Hay varios mitos persistentes sobre la arquitectura del sistema de BESM-6, uno de ellos es la presencia de memoria virtual.

Este concepto se implementó por primera vez en Atlas y también implementó la memoria asociativa para determinar la presencia de una página requerida de memoria virtual en la RAM.

¿Por qué lo que estaba en BESM-6 no es así?

El soporte de memoria virtual hace posible utilizar más memoria de la que realmente está instalada en la máquina. En BESM-6 en la versión con RAM triplicada, todo era al revés: ¡había más memoria física en la máquina de la que se podía abordar! El caso es que, al tener 128 kilovatios de memoria, tuvimos que trabajar con él a través de direcciones de 15 bits (un legado del CDC 1604). Debido al concepto absolutamente controvertido de "mantener el formato de dirección compatible con CDC 1604, pero triplicando la memoria", se introdujo una muleta especial, la llamada 32. registro de registro. Antes de acceder a la memoria real, la dirección ejecutiva se dividió en dos partes de 5 + 10 bits. La parte superior se interpretó como el número de registro de registro, del cual se tomaron 7 bits del número de página física, y junto con los 10 bits menos significativos de la dirección conformaron una dirección física de 17 bits. Lebedev llamó con orgullo a este régimen "memoria virtual".

En Atlas, la dirección era originalmente de 24 bits, y cuando intentaba dirigirse fuera de la memoria real, el supervisor bombeaba una página del tambor con la dirección virtual correspondiente en la RAM, similar a lo que sucede ahora cuando las páginas se descargan del disco.

Por cierto, existía un problema similar con el direccionamiento en BESM / BESM-2 / M-20 / BESM-4, pero todo estaba aún más descuidado allí. En ellos, Lebedev utilizó su amado sistema de comando de tres direcciones del formato KOP | A1 | A2 | A3, donde COP es el código de operación, A1 - A3 direcciones.

¿Por qué regañamos tanto este principio? ¿Es todo hermoso por fuera?

El hecho es que cada dirección podía hacer referencia a un máximo de 4096 palabras, ya no cabía en el bus, que ya era prohibitivamente ancho, porque era necesario insertar tres de esas direcciones y un código de operación a lo largo de él. ¡Pero incluso el primer BESM tenía más memoria!

¿Cómo te vuelves hacia ella?

Para utilizar toda la cantidad de RAM, se dividió en los llamados. "Cubos", los prefijos de estos cubos se introdujeron para direccionamiento. El direccionamiento indirecto aún no se había descubierto (en ITMiVT, al menos), por lo que los programadores escribieron código auto modificable, cambiando las direcciones A1, A2, A3 en los comandos sobre la marcha (que, desde el punto de vista de la programación más o menos moderna principios, es un truco sucio y una perversión escandalosa, por lo que incluso los virus intentan no escribir a menos que sea absolutamente necesario, en BESM era un modo de funcionamiento normal).

Un problema adicional fue el notorio trabajo con dispositivos externos, Lebedev en sus máquinas originales lo resolvió de la manera más severa posible, simplemente codificando todas las llamadas directamente en el hardware, a pesar de que de todos modos no había suficientes comandos. No hubo intentos de abstracción de los dispositivos, lo que sugiere, de nuevo, que era un ingeniero eléctrico tan excelente como un arquitecto de sistemas defectuoso. De ahí se deduce que, gracias a Dios, el CDC se tomó como un prototipo del BESM-6. Lebedev entendió los límites de su competencia (a veces) y no se atrevió a desarrollar una supercomputadora del nivel requerido completamente desde cero usando su propia imaginación.

El próximo mito arquitectónico


El siguiente mito arquitectónico está asociado con una cinta transportadora, dicen, la BESM-6 fue la primera máquina en el mundo en la que el genio Lebedev construyó su "suministro de agua", que informó en una conferencia en Darmstadt, y de mentalidad estrecha Los europeos experimentaron conmoción y asombro.

En realidad, la idea del transportador fue expresada por Konrad Zuse y se implementó en una forma primitiva de dos etapas en Z3. En 1949, intentó patentar su implementación en el Z4, pero sorprendentemente, la patente se estancó hasta mediados de la década de 1960, a pesar de que el patrocinador de Zuse era IBM.

Ideas similares estaban en el aire a principios de la década de 1950, tanto Lebedev como Rameev pensaron en ellas, se discutieron en los seminarios del MPEI. En 1946, Gran Bretaña necesitaba con urgencia un enorme terreno deshabitado para realizar pruebas nucleares. armas... Afortunadamente, encontraron una pieza de sushi así, y se llamó Australia.

Como resultado, se firmó un acuerdo de asociación: sitios de prueba a cambio de acceso a tecnologías modernas. Así se fundó el Australian Arms Research Institute (WRE, inventaron muchas cosas, por ejemplo, en 1957 crearon la misma "caja negra" para los aviones).

La empresa británica Elliott Brothers desarrolló la computadora Elliott modelo 403 (a menudo denominada WREDAC) especialmente para la WRE. Esta máquina de tubos se puso en marcha en 1955 y tenía un transportador de dos etapas, similar a la patente de Zuse.

Tenga en cuenta que ni las ideas de Zuse ni las de Lebedev pertenecen a un transmisor real en el sentido moderno de la palabra. En su "canalización" sólo se suponía la combinación de dos operaciones multidireccionales: aritmética-lógica en el procesador y obtener el siguiente operando de la RAM.

Un transportador real asume la presencia de un dispositivo de control avanzado que opera con un principio completamente diferente. El paralelismo a nivel de instrucción en una tubería real significa superponer al menos tres operaciones en instrucciones: buscar, decodificar y ejecutar; para esto, es necesario implementar un mecanismo bastante complejo para predecir ramas condicionales.

El transportador en este sentido de la palabra fue descrito por primera vez por Donald Bruce Gillies, un eminente matemático e informático canadiense que trabajó en la Universidad de Illinois en el proyecto de supercomputadora ILLIAC II. Era una máquina increíblemente progresiva, pero su desarrollo terminó solo en 1962, mientras que toda la documentación y los principios de funcionamiento se establecieron en artículos académicos abiertos en 1957-1958. y no patentado, los desarrolladores de Stretch tomaron prestado el esquema del transportador de ellos, pero lograron formalmente lanzar su automóvil tres años antes.

En el mismo 1959, se hizo una única copia del monstruo de tubo M-100 Kitov, del que ya escribimos, prácticamente no hay información sobre su arquitectura, se sabe con certeza que tenía una arquitectura Harvard y un procesador pipelined, pero Se desconoce hasta qué punto podía ejecutar programas de propósito general y qué tipo de transportador era.

El nacimiento del sistema de defensa antimisiles soviético. Pros y contras de BESM-6

Clásico como es. BESM-6 en hábitat natural, sala de turbinas JINR, Dubna (foto https://ramlamyammambam.livejournal.com/). Al mismo tiempo, trabajaban en JINR dos BESM-4, CDC 1604, CDC 6500, tres EC-1040, EC-1060, EC-1010, EC-1061 y Robotron KRS-4201. En cuanto al número de instalaciones, lo más probable es que fuera el centro de exposiciones más grande y poderoso de la URSS.

La tubería BESM-6 fue espiada desde el CDC-6600, solo con Cray, cada procesador tenía 10 bloques independientes que podían ejecutar instrucciones desde la tubería en paralelo, por lo que esta máquina es considerada el primer procesador superescalar del mundo.

El CDC 7600, creado en 1969, y el IBM System / 360 modelo 91 (1967), que utilizaba todas las características modernas de la tubería, incluida la ejecución especulativa y el cambio de nombre de registros, tenían una arquitectura aún más avanzada.

Un circuito mucho más primitivo con un sumador en BESM-6 tampoco podría tener un transportador en el sentido moderno de la palabra, así como memoria virtual. La ALU en sí no estaba canalizada: si el procesador multiplicaba dos números, no podía hacer nada más, aunque al mismo tiempo la siguiente instrucción podría estar obteniendo. Entonces, la implementación del "transportador" aquí tuvo 15 años, similar al trabajo de Zuse, Rameev y Elliot.

El ultimo engaño


El último concepto erróneo sobre las "innovaciones colosales" de BESM-6 es la presencia de memoria caché en él.

De hecho, no había caché en el sentido moderno de la palabra, un caché completo apareció solo en la serie IBM System / 360 modelo 85 en el mismo 1967.

La caché de una persona sana consiste en un conjunto de registros en RAM ultrarrápida (generalmente estática), cada registro está asociado a un bloque de datos, que es una copia de este bloque en la RAM normal. Cada entrada tiene un identificador (a menudo llamado etiqueta) que identifica la correspondencia entre elementos de datos en la caché y sus copias en la memoria principal. Si se encuentra una entrada en la caché con un identificador que coincide con el identificador del elemento solicitado, se utilizan los elementos de la caché. A esto se le llama un acierto de caché. Si no se encuentra ninguna entrada en la caché que contenga el elemento de datos solicitado, entonces se lee de la memoria principal en la caché y está disponible para llamadas posteriores. A esto se le llama falta de caché.

En BESM-6, en lugar de este modelo, solo había cuatro de los llamados. registros de números de búfer (BRCH), donde las palabras se leían de la memoria, para que luego la ALU pudiera acceder a ellas más rápidamente. Del mismo modo, había 8 (nuevamente extrañas asimetrías) registros de escritura en búfer (BRZ) donde se colocaba el número antes de escribirlo en la memoria. La dirección donde se debe escribir el operando se guardó en el llamado. BAZ (registro de dirección de escritura del búfer). Si luego resultó que la dirección ejecutiva coincide con una de las direcciones en el BAZ / BAS, el operando se tomó del BRZ / BRCH, y no de la memoria. Eso es todo el "caché" a la manera de Besm.

Y finalmente, el último concepto erróneo es la idea de que BESM-6 fue un presagio de la arquitectura RISC.

Por supuesto, no hay demasiados comandos en BESM-6, más bien pocos, pero este es el único parámetro por el cual es similar a RISC. Sin embargo, un procesador RISC completo: tiene un pequeño conjunto de instrucciones simples, una gran cantidad de RON (registros de propósito general), un esquema desarrollado para renombrarlos, instrucciones elementales y una velocidad de ejecución predecible y estándar de cualquiera de ellos. - 1-2 ciclos de reloj.

Si ha leído el artículo hasta este punto, ya comprende que BESM-6 voló aquí en todos los parámetros, excepto en el número de comandos.

Como ya dijimos, todo fue triste con el software en BESM-6.

Se suministró solo con el predecesor del sistema operativo "Dispatcher-68" desarrollado por ITMiVT, que permitía solo el lanzamiento por lotes de tareas y la asignación de recursos a ellas. El autocódigo de Lebedev se propuso como lenguaje, que fue abandonado inmediatamente por todas las personas adecuadas. Como ya hemos mencionado, la expectativa era que sería posible lanzar inmediatamente toda la gama de software de CDC 6 en BESM-1604, pero no se hizo realidad. Como resultado, cada grupo científico comenzó febrilmente a ver por sí mismo varias implementaciones de lenguajes y sistemas operativos, por supuesto, incompatibles entre sí.

El más genial entre ellos fue el sistema de monitoreo “Dubna” - y la URSS no tenía suficientes fuerzas para ello, era necesario involucrar a alemanes de la RDA, húngaros e incluso mongoles - todo el Comité Internacional JINR.

Los compiladores robados Fortran y Algol-60, mucho más tarde LISP y Pascal, se utilizaron con éxito para ello, pero todo esto a costa de esfuerzos infernales. Algol-60 fue creado originalmente en el Centro de Computación de la Academia de Ciencias de la URSS en el Laboratorio de Programación bajo el liderazgo de VM Kurochkin, primero para BESM-2, luego portado a BESM-6 (para BESM-4 había al menos 3 diferentes compiladores con Algol-60, no menos de 2 ensambladores diferentes, Dubninsky y Bayakovsky y un compilador del lenguaje Epsilon original (este es un zoológico tan típico), y como muchos dijeron, seguía siendo para ella el único traductor antiadherente del lenguaje popular.

El problema fue que en 1964 apareció una nueva especificación de lenguaje, generalmente llamada (después del último año de adopción del estándar) Algol-68, que Kurochkin ya no dominaba. El traductor CDC 68 Algol-1604 funcionó mal, lo que interrumpió el lanzamiento de muchos programas del CERN con los que contaban nuestros físicos en Dubna.

En Europa, el Algol-68 ha sido utilizado durante mucho tiempo por el Comité Real Británico de Comunicaciones y Radar.

En la URSS, había grupos de trabajo para el desarrollo de Algol-68 (por ejemplo, Novosibirsk bajo el liderazgo del académico Andrei Petrovich Ershov, Leningrado bajo el liderazgo de Andrei Nikolaevich Terekhov, Moscú bajo el liderazgo de Alexander Nikolaevich Maslov y Mikhail Ruvimovich Levinson ). En la Universidad Estatal de Leningrado, se creó un compilador y un potente sistema de programación en Algol-68, pero ... ya para las computadoras ES, que habían estado en funcionamiento durante muchos años (por cierto, por eso, en particular, la UE apareció en Dubna, en aras de una periferia desarrollada y en aras de una gran cantidad de software y compiladores que no estaban disponibles para BESM-6 o que funcionaban incorrectamente).


Solo una foto de referencia: instalación de dos BESM-6 al mismo tiempo en el Centro de Computación de la Universidad Estatal de Moscú (foto http://www.besm-6.su)

Muchos programas aparecieron después de familiarizarse con códigos fuente extranjeros, por ejemplo, el ya mencionado NN Govorun de LVT JINT, después de un viaje al CERN utilizando impresiones de máquina con CDC 3200 realizadas en su centro de cómputo, implementó seis BESM en BESM-6 Fortran y bibliotecas de los programas estándar -6 fueron transferidos a la RDA, y sus programadores de JINR, habiendo ido a su tierra natal, hicieron su propia versión del ensamblador, Fortran-GDR y Algol-GDR (que funcionó un 20-30% más rápido que los domésticos) .

Z. F. Bochkova, G. N. Ezerov, V. M. Mikhelev bajo el liderazgo de V. S. Shtarkman del Instituto de Matemáticas Aplicadas. Keldysh (después de su viaje a IBM) desarrolló el código automático BMSH, ya que el código automático original de M.G. Tchaikovsky, basado en los mnemónicos del propio Lebedev, era fundamentalmente de dos letras y absolutamente ilógico e ilegible, lo que dio lugar a muchas alteraciones incompatibles.

El sistema de archivos BESM-6 nunca se escribió y completó hasta el final, en general, en cada centro científico era posible escribir algo propio en detrimento de todo lo demás. En Chelyabinsk, se archivó en cintas, en Dubna, el lenguaje humano para describir tareas tanto de Fortran-GDR como de Algol-GDR, en VMK MSU - LISP y DISPAK.


Un día festivo aparte fue la documentación para el BESM-6. Imagine que es un estudiante de posgrado ordinario o un investigador junior que llegó a trabajar desde la facultad de, digamos, matemáticas. Y se le ofrece a profundizar en TI. Para una descripción de la máquina de tal calidad para los usuarios finales, estos usuarios en los Estados Unidos habrían quemado a Cray en la hoguera de las instrucciones.

Por supuesto, tanto el OS / 360 original como IBM tenían un problema, pero corrigieron la situación extremadamente rápido, en la URSS, el lío con miles de bibliotecas escritas en diferentes momentos por cualquiera e incompatibles entre sí nunca se resolvió en absoluto. áreas en las que no se trataba de la copia directa de software de la UE.

Todo de lo que los fanáticos de BESM-6 están tan orgullosos: el famoso OS ND-70, Dubna, DISPAK, etc., fue desarrollado solo a mediados de la década de 1970. Gracias a DISPAK, en 1972 finalmente se dominó para conectar discos duros con controladores tomados de General Electric a BESM-6, antes de que la gente trabajara con un tambor arcaico, originalmente de principios de la década de 1950.

Las máquinas IBM han estado trabajando con discos desde 1956; esta es la cuestión de la "arquitectura avanzada" de BESM-6. Un tambor tenía una capacidad de 16 kilo palabras (192 kilobytes) y pesaba media tonelada. Los tambores se pueden unir a un máximo de 4 piezas. Al mismo tiempo, los discos duros convencionales de IBM tenían una capacidad de 5 megabytes y los grandes, 30 megabytes. Tenga en cuenta que BESM-6 en Dubna tenía algunas diferencias de hardware, que iban desde la paridad de caracteres en las líneas de terminales hasta los bits de la dirección física en los registros.

Como resultado, el sistema operativo "Dubna" no se inició en máquinas con más de 4 cubos de memoria, porque los bits adicionales de la dirección física son utilizados por el despachador para sus propios fines. En general, esto explica por qué Dubna no era popular en otros lugares.

En general, las personas que están lejos del diseño informático occidental a menudo no pueden comprender que lo principal en una máquina no es el hardware, sino el software. No se escriben programas para una máquina terminada. La máquina está creada para que sea conveniente escribir programas para ella, y mejor aún, usar los existentes con cambios mínimos. Desafortunadamente, incluso en Occidente, no todo el mundo ha entendido la esencia de este simple axioma.

Fred Brooks, uno de los desarrolladores líderes de Stretch, lo expresó muy claramente: el diseño de cualquier arquitectura de computadora debe comenzar con la recopilación de los requisitos del usuario, y no la shiza personal de pensamiento profundo de un arquitecto de sistemas en particular y su visión personal única de lo que la máquina debe hacer. resulta ser.

No personas por computadora, sino una computadora por personas.

El segundo paso es formular un borrador del conjunto de instrucciones que más satisfaga a los usuarios finales (y para un arquitecto de sistemas, los usuarios finales son programadores de bajo nivel que crearán todo el software para los mortales comunes), y solo entonces el desarrollo de circuitos específicos. comienzan las soluciones.

Este ciclo fue perfectamente dominado por dos compañías: IBM, que aprendió de Stretch y creó el gran S / 360, y Burroughs, que desarrolló de manera similar la igualmente excelente serie B5000 (aquí estamos hablando de máquinas comerciales masivas, CDC y Cray crearon de manera similar supercomputadoras: recopilan aplicaciones y los requisitos de los científicos y tratan de satisfacerlos tanto como sea posible).

Como resultado, los mainframes de la serie Z todavía son compatibles con máquinas de la década de 1960, el sector bancario tiene miles de millones de líneas de código escritas en COBOL desde la época de Kennedy, e IBM y Burroughs (encarnado como UNISYS) fueron los únicos fabricantes de mainframe que surgieron de en el siglo XIX, cuando se fundaron, en el siglo XXI.

En la URSS, este axioma, por desgracia, no se realizó (de la palabra en absoluto), teniendo en cuenta el hecho de que en 1960 teníamos a ITMiVT como un monopolista comparable a IBM. El mismo Yuditsky diseñó el Almaz para los requisitos específicos del sistema de defensa antimisiles (y luego el GRU), y sus potenciales usuarios quedaron encantados con los prototipos de la máquina, aunque no se le permitió lanzar una serie. En ITMiVT todo era diferente, por defecto se creía que el genio Lebedev sabe mejor que tú qué computadora necesitas, es un profesional, por eso vives con el sistema de comando y la arquitectura que él dio a luz.

Para las personas que están bien familiarizadas con las tecnologías modernas, la familiaridad con, por ejemplo, los detalles de la implementación del trabajo con memoria en el S / 360 no causa malentendidos ni disgusto. El conocimiento de las peculiaridades de la programación de bajo nivel en BESM-6 a menudo sorprende a los programadores modernos. De hecho, los abuelos no lo tuvieron más fácil, por lo que el software para BESM-6 se escribió durante mucho, mucho tiempo, hasta su muerte en la década de 1990.

Algunas de las implementaciones tuvieron éxito, otras no fueron muy buenas, todo esto se hizo gracias a los esfuerzos de institutos y centros de investigación dispersos, que de alguna manera se extendieron por todo el país en diferentes versiones. El mito sobre la calidad y cantidad de software para BESM-6 surgió en gran parte del hecho de que, en primer lugar, se produjeron casi 400 de ellos (incluidas las modificaciones), lo cual era increíble para los estándares de la Unión, su propio BESM-6 estaba en casi todos los centros científicos importantes y, en segundo lugar, se remacharon durante 20 años y se utilizaron durante 40 años.

Como resultado, los científicos, las personas están lejos de ser estúpidas, durante este tiempo pudieron dar a luz a bastantes programas tolerables. Naturalmente, también había grandes escuelas teóricas de programación (en general, los programadores soviéticos de máxima fuerza, mundialmente reconocidos como teóricos de la informática, eran personas que venían allí de las matemáticas, comenzando por Lyapunov y Shura-Bura).

Se desarrollaron principios teóricos de OS y construcción de compiladores, se redactaron artículos, se defendieron disertaciones, se crearon escuelas científicas. Todo esto era, por supuesto, digno tanto de cantidad como de calidad.

El único problema era que la ciencia académica excelente estaba sentada en su torre de marfil, ayudando con desarrollos que hicieron época, como DISPAK, Dubna y ND-70, pero el país necesitaba decenas de miles de programadores, no solo decenas de académicos de programación. No tuvimos problemas con ellos, pero con codificadores ordinarios ...

En el próximo artículo, completaremos la consideración de este desarrollo doméstico que hizo época.

To be continued ...
15 comentarios
información
Estimado lector, para dejar comentarios sobre la publicación, usted debe login.
  1. +8
    16 diciembre 2021 19: 04
    El autor presenta poderosamente la historia del desarrollo de la tecnología de la información.

    Después del final del ciclo, me gustaría un par de artículos sobre la estrategia de desarrollo para el futuro.
    Con costos aproximados, instituciones involucradas y, por supuesto, personas capaces de hacer, si no un gran avance, ir a los tres primeros. hi
    1. +3
      16 diciembre 2021 20: 17
      Antes de escribir una estrategia, debe responder a la pregunta ¿qué queremos?
      Si no es realista ingresar al mercado mundial por una variedad de razones.
      Si lo hace, entonces las tecnologías disponibles serán suficientes, aunque con un crujido. ¿Entonces, para qué molestarse?
      1. +1
        16 diciembre 2021 21: 38
        Es posible ingresar a los nuevos mercados mundiales con nuevos tipos de computadoras; por ejemplo, las computadoras cuánticas están madurando gradualmente y al principio tiene sentido no repetir viejos errores, sino tener éxito con la experiencia de ellos. Sería interesante instruir a los mismos científicos fundamentales ahora, mientras que la computadora cuántica todavía es la mitad de la teoría, en este momento, para comenzar a recopilar los requisitos de los usuarios potenciales del mercado mundial futuro, desarrollar estándares industriales aplicados y formalizar disciplinas científicas y escuelas para aplicaciones aplicadas. requisitos de usuario. Avanzar el desarrollo y la implementación y, como resultado, la rápida formación de una nueva rama de la industria informática orientada al usuario.
    2. +2
      17 diciembre 2021 05: 07
      Potente, pero moderno. Entonces, la velocidad de la máquina no se midió por la frecuencia del reloj, sino por el número de operaciones, como la suma por segundo.
      Las tecnologías de la electrónica y la informática soviéticas siguieron su propio camino, sin girar mucho hacia el oeste.
      El único problema era que la ciencia académica excelente estaba sentada en su torre de marfil, ayudando con desarrollos que hicieron época, como DISPAK, Dubna y ND-70, pero el país necesitaba decenas de miles de programadores, no solo decenas de académicos de programación. No tuvimos problemas con ellos, pero con codificadores ordinarios ...

      Estoy en desacuerdo. Según el artículo, resulta que, aparte de esta máquina, no teníamos nada, no se desarrolló.
      Había un sistema informático ES producido en Kazan, Penza y Minsk. Desarrollo del Instituto de Investigación de Computadoras de Minsk. Más precisamente, se trataba de un único sistema CAME. Terminó con el colapso de la URSS.
      los VS tenían sus propias computadoras. Desde 1959, comenzaron a ingresar a la defensa aérea ASUKR (sistemas de misiles ACS), en la computadora S-200 SAM Plamya-K. Con el desarrollo y entrada en servicio de los nuevos sistemas de defensa aérea S-125, comenzaron a aparecer sistemas de misiles de defensa aérea de tipo mixto, capaces de resolver tareas asignadas en una amplia gama, teniendo en servicio varios tipos de sistemas de defensa aérea de corto alcance. S-125, mediano - S-75 y grande S-200. Apareció el ASU Vector-2 con la computadora 5E86. Se usó la misma computadora en el ferrocarril ... Olvidé el nombre del sistema de reserva de boletos. En el sistema de defensa aérea, no se les llamaba una computadora, sino un dispositivo de cálculo, lo mismo para la aviación, en la marina. Tecnologías informáticas y electrónicas desarrolladas en nuestro país. Sí, se quedaron atrás de los Zabugrs, pero hicieron todo por sí mismos e hicieron un buen trabajo.
      Sobre la base del elemento. Hubo un problema con los semiconductores, aprendieron cómo hacer lámparas y de qué tipo. Presentar la unidad de control electrónico para misiles montada sobre lámparas. Hay tales sobrecargas, pero funcionaron y eran bastante en miniatura.
      En general, todo esto FUE. Y hay una parte escasa para el sol
  2. +1
    16 diciembre 2021 20: 28
    ¡Gracias! ¡Muy interesante y fundamental!
  3. +3
    16 diciembre 2021 20: 28
    ¿Qué puedo decir? En BESM-6 completé con bastante éxito mi diploma en 1977-78, el lanzamiento de un cohete en la mina. Sí, realmente tuve que ingresar al programa desde tarjetas perforadas. No experimenté el horror descrito por el autor, el diploma resultó ser bastante sólido y entró en el negocio. Cuando nos llegaron los EC-80 y EC-1040 (malos clones de IBM) en la primera mitad de los 1055, tuve muchos problemas con ellos, era mucho más agradable contar con VAX.
  4. -1
    17 diciembre 2021 00: 15
    ¡Cuánto odio a tu país! Kokom no cedió, y los abuelos, en lugar de acostarse y morir, lo hicieron por la patria. ¡Un autor así nunca perdonará!
  5. +3
    17 diciembre 2021 07: 50
    Todavía vamos por nuestro propio camino especial. El mismo procesador Elbrus no es compatible con x86. Tiene su propio sistema operativo especial y los programas x86 están obligados a ejecutarse a través de un emulador como Vine en LINUX.
  6. -2
    17 diciembre 2021 08: 23
    El autor tiene claramente el psicotipo de un campesino siervo al que se le prometió la ciudadanía en Occidente. O ni siquiera lo prometieron, pero él realmente espera ...
    Resulta que habiendo creado su primera computadora ya en 1951, en el futuro era necesario no desarrollar el éxito y la financiación del trabajo, sino tirar todo a la basura. Entonces, "de una gran mente", el astuto campesino ruso se ha burlado de sí mismo y se ha tirado a la basura ... LÓGICAMENTE Y MUY JUSTO. !
  7. 0
    18 diciembre 2021 00: 30
    La tubería BESM-6 fue espiada desde el CDC-6600, solo con Cray, cada procesador tenía 10 bloques independientes que podían ejecutar instrucciones desde la tubería en paralelo, por lo que esta máquina es considerada el primer procesador superescalar del mundo.
    ...
    Un circuito mucho más primitivo con un sumador en BESM-6 tampoco podría tener un transportador en el sentido moderno de la palabra, así como memoria virtual. La ALU en sí no estaba canalizada: si el procesador multiplicaba dos números, no podía hacer nada más, aunque al mismo tiempo la siguiente instrucción podría estar obteniendo. Entonces, la implementación del "transportador" aquí tuvo 15 años, similar al trabajo de Zuse, Rameev y Elliot.

    Parece que en el segundo fragmento se argumenta que el BESM-6 no tenía una cinta transportadora en toda regla, y en el texto principal se ha dicho mucho sobre esto, y en la primera parte de la cita parecía como si tenía. ¿Quizás esto sea un error en la edición de texto? ¿Y no había transportador?
    En general, un artículo interesante. ¡El autor sabe mucho! hi
  8. 0
    22 diciembre 2021 22: 31
    En general, durante todos los años de existencia de la Unión, una idea simple no se dominó categóricamente en ella: el cliente quiere un producto terminado y no un producto semiacabado en bruto que debe terminarse durante años. ------------- exactamente. Lo principal es sacar a la sección de la fábrica para persuadir al representante militar. Y luego la brigada va a Balkhash y allí completarán la sección de la estación de radar sobre el horizonte.
    1. 0
      6 января 2022 05: 01
      Este sigue siendo el caso. Especificaciones voluminosas, prueba de LED parpadeantes y otra diversión.
      1. 0
        4 archivo 2022 16: 45
        Si fue tan malo con los transistores, los microcircuitos, ¿por qué no intentaron crear un procesador de tubo, por ejemplo, aparentemente similar a un tubo de TV de una lámpara, si se instala un ánodo hecho por fotolitografía con una cantidad impensable de elementos en en lugar de la matriz de la pantalla, y el cátodo es un cañón de electrones Si el haz lo rodea línea por línea con una frecuencia impensable (puede haber muchos más de un cañón de cátodo), entonces la velocidad de tal diseño será muy alta . No está claro en qué medida se puede reducir el "grosor" del haz de electrones, con qué precisión se puede controlar el haz de electrones y con qué frecuencia se pueden colocar las "líneas" de elementos en el ánodo, pero por otro lado, las dimensiones de un procesador de este tipo similar a la pantalla de un televisor pueden ser bastante grandes. .
    2. 0
      22 marzo 2023 09: 49
      No había mercado en la URSS, por lo que no podía haber "clientes". Tu lista de deseos - tus problemas (C) Orshavin
  9. 0
    23 archivo 2022 19: 15
    Cita: sumotori
    En general, durante todos los años de existencia de la Unión, una idea simple no se dominó categóricamente en ella: el cliente quiere un producto terminado y no un producto semiacabado en bruto que debe terminarse durante años. ------------- exactamente. Lo principal es sacar a la sección de la fábrica para persuadir al representante militar. Y luego la brigada va a Balkhash y allí completarán la sección de la estación de radar sobre el horizonte.

    Entonces es asombroso cómo, con tal mente, ¿todavía no eres el presidente y no el ministro de Defensa? En mi opinión, esta es una idea aún más simple y obvia.