苏联导弹防御系统的诞生。 BESM-6 的优缺点

15

CDC 6200


在速度方面,BESM-6 也不再是当年的喷泉,因为 1960 年的计算机已经遥遥领先,我们也不得不寻找解决这个问题的方法。 苏联第二次忍气吞声,又去要求卖给他CDC 6600,CoCom这边已经歇脚了,不仅得罪了联盟,连一台CDC 6600都没有送到美国以外的任何人手中,连法国都拒绝了。 直到 1972 年,CoCom 才允许(然后在其严格监督下)在 Dubna 安装 CDC 6200 的初级版本,该版本在 1975 年(在 Cray-1 发布后已经过时)升级为多处理器 6500,而旗舰版—— 6600,仍然是纯粹的美国怪物。

G. Ososkov 是这样回忆的(报纸“Dubna”,21 年 3759 月 27 日第 2005 期(XNUMX))



1967 年,作为购买 CDC-1604 计算机合同的一部分,我与工程师 A. Karlov 和 V. Mirolyubov 一起被派往德国,在美因河畔法兰克福的 CDC 公司的欧洲中心学习。 在学习了计算机操作系统和 FORTRAN 语言编程后,我又在汉诺威的 CDC-1604 操作员实习了两个月。 结果,我在 LCTA 安装了这台计算机后,在 CDC-1604 担任了一年的高级数学家,此外还学习了英语口语。 1969-1970 年和 1973 年。 在 CERN,他正在研究 Spiral Reader 扫描机的控制和校准程序系统,类似于 LCTA 开发的系统。 1972年,应CDC公司邀请,我们与LCTA副主任G. I. Zabiyakin一起到美国进行为期两周的商务访问。 他们参观了BNL计算中心,参加了在杜鲁斯举行的CDC用户大会,参观了CDC总部和明尼阿波利斯生产最新CDC-7600计算机的工厂,以及配备CDC机器的伯克利大学和利弗莫尔实验室计算机中心. 除此之外,我们还看到了当时著名的计算机 CDC-Star。 然而,CYBERNET 计算机网络的功能给我留下了最深刻的印象,它连接了美国各地的 49 台 CDC 机器以同时进行批量操作。
Dulus 会议上的大多数用户谈话都致力于讨论该网络的功能和缺点。 现在,30 年后,这样的机会似乎很普遍,但在当时看起来非常棒。 此行的主要目的是签订购买 CDC-6200 计算机的合同,绕过臭名昭著的 COCOM 协议,旨在禁止向社会主义国家供应最新计算机技术。 1972 年,LVTA 理事会同意 KOCOM 在杜布纳进行永久性检查,获得了购买 CDC-6200 的许可。 6000系列这样的机器属于功能强大的计算机,CERN库中有很多应用程序,虽然6200已经相当过时,但这样的购买让LVTA在1974年将机器开发为CDC-6400,并且明年将推出多处理器 CDC-6500。 与 BESM-6 一起,这极大地提高了 JINR 的计算能力,使创建广泛的终端网络和启动 Fortran 站成为可能。

最有趣的事情 故事 具有 CDC 6200 指数的汽车在自然界中从未存在过! 它不是由 CDC 发布的,也未在任何西方来源中找到!

这是什么?

很简单——Kray 的公司需要新的合作伙伴,生意很好,但是 CoCom 甚至不同意向苏联提供一台初级超级计算机 - 6500。然后 CDC 工程师从它那里拆除了一个处理器,再次降级并获得了一个独特的存根 - CDC 6200 专门为苏联在一个副本中。 他们被允许出售存根,几年后,当生产线过时并停产时,CoCom 允许他们将处理器拧回去。

类似的故事后来在 CDC 7600 和 Cray-1 上重演,他们没有购买,并且尝试以“Electronics SS BIS”的形式创建克隆的尝试失败了,但是另外两个 CDC,更简单的模型,CYBER 170 和 172 ,是合法购买的。

CYBER 172 于 1975 年为苏联水文气象中心购买,并在那里成功运行至 1996 年。 总的来说,气候研究对于苏联来说非常重要,因为它与该国幅员辽阔以及航运和陆地使用的需求有关,因此在水文气象中心有一些最强大的机器Union,不逊色于 Dubna 和 Arzamas-16,通常同时使用几台机器。 气象学家的第一台计算机是 M-20,它从 1959 年到 1962 年在那里运行,仅仅三年后就被淘汰了,这并不奇怪。

在那里工作了 40 多年的主计算机中心主任 Vladimir Antsipovich 回忆说:

我们必须以最少需要至少一小时的连续计数时间来实现技术方案运行的可靠性,而例如,对于 M-20,护照 MTBF 仅为 XNUMX 分钟。

取而代之的是 M-220,然后是 M-222 和 Vesna,这是一台性能为 300 KIPS 的相当奇特的大型计算机,于 1965 年在无线电工业部工业自动化设计局创建(如您所见,尽管BESM-6,其他部门继续对动物园建筑充满热情)。

这台机器在水文气象中心工作到 1972 年,与纯苏联大型机的顶部并行运行 - “Minsk-32”。 同样从 1968 年到 1985 年,BESM-6 在那里工作。

CYBER-172 是主计算机中心的第一个外国人(1975 年气象学家想购买 CDC 7600,但他们与 CoCom 断绝了关系),西方超级计算机在苏联气象学中的统治地位由此开始。 总的来说,他们想买两个,但 CoCom 甚至在上面放了一只猪,他们认为其中两个对苏联来说太胖了。

自然,还有 EU 1060 和 1066,以及 IBM 3033——S/370 系列的最新替代品,于 1979 年问世,但因阴谋将其称为 Hitachi(然而,有一个泥泞的故事——要么是我们买的日立授权克隆,要么是原装IBM,不过为了更神秘,他们称它为,无论如何,“日立3033”机器在自然界中并不存在,只有日立HITAC M- 220 或 IBM 3033)。

1992 年,他们已经想交付久经考验的 Elbrus-2,但突然间 CoCom 批准向俄罗斯出售最强大的 Cray Y-MP,超过 Elbrus 约 30 倍。 在讨论所有细节时 - 安装移至 1996 年,并且从前 500 名 Cray Y-MP 已经退出。

这个怪物在主计算机中心连续工作了10年,直到2006年才安然离世。 这主要是因为安装三年后,出于经济原因,必须在没有制造商支持的情况下继续使用 Cray Y-MP。 Antsypovich 说:

在八年的运行中,我们遍历了计算机的所有节点,由于设计的冗余,试图使其工作,但最终,甚至隐藏的储备也开始不足:复合体停止了。

然后出现了两个集群——SGI Alltix 4700(11 teraflops 832 Intel Itanium 2 9140M)和SGI Alltix ICE(16 teraflops,未知数量的Intel Xeon E5440),并且在2019年为Cray的新集群XC40供电。

CYBER 170 于 1976 年为位于 LIAN 的苏联​​科学院列宁格勒科学研究中心实验室(现为 SPII RAS)购买。 水文气象中心的车去向笔者不得而知,但他在瓦西里耶夫斯基岛上的SPII RAS大楼内亲眼看到了LIAN车的残骸,很难到达那里,但并非不可能,工作人员非常友好,如果提前打电话洽谈,很乐意进行短途旅行,让生活在圣彼得堡的人有很好的机会接触历史。


来自 SPII RAS 的 CDC CYBER-170,或者更确切地说是它的遗骸。 作者照片。

到 1973 年,为了解决计算能力不足的问题,梅尔尼科夫开发了所谓的。 接口设备,AS-6 复杂,实际上是一个复杂的可编程交换机,带有额外的内存和协处理器,它允许您组合多个 BESM-6 并将它们变成一个具有共享 RAM 的集群。 一共制作了8套。

问题


我们还有两个问题需要回答。

首先,为什么BESM-6的系统架构如此不成功?

其次,它有什么优势,为什么它变得如此充斥着神话和传说?

首先,列别杰夫最初为非常特殊的目的设计了他的第一台机器——专门用于求解微分方程组(即计算导弹的轨迹或模拟核反应)。 他了解如何构建这样的计算机,因为他本人是一位杰出的电气工程师,也是模拟计算机的开发人员,用于模拟相同的微分方程。

与 Eckert、Wilkes 不同,Amdalla - Lebedev 不完全是一名计算机科学家,没有适当的心态,更不是一名程序员,他创建自动代码的唯一尝试以没有人使用这种恐怖的事实而告终。 因此,列别杰夫对他的机器用户的问题没有一个深入的了解,他建造了,虽然形式上和普遍性,但在精神上却是单任务计算机,很好地适应了解决 diffura 系统,而对其他一切都不太适应。

顺便说一句,这是 ITMiVT 中每个人都面临的一个普遍问题:他们仍然可以为导弹手制造机器,但要创建一台真正通用的计算机非常困难。 Burtsev 最终与 Elbrus 遇到了同样的问题,以 Burroughs 银行主机为基础,并试图将其转换为导弹防御控制计算机。 结果至少是这样,但厄尔布鲁士也没有出现一台成功的科学家通用超级计算机。

CDC 制造用于控制系统和科学计算的机器,IBM 制造用于商业的机器,主要用于财务和会计系统。 这些是根本不同的应用领域,它们在架构上留下了自己的印记。 BESM-6在这个分区中达到了绝对。

让我们从这里已经浮出水面的一个事实开始。 其中没有整数运算。 一般来说。 一点也不。

在 CDC 1604 中,它非常发达,但 Lebedev 将其从 BESM-6 中剔除,为什么呢?

因为他一生都在构建微分方程的单任务破碎机(单任务 - 从某种意义上说,根据他的逻辑,它们只是以不同 difura 的系统为代价运行,等等 - 它们并没有被特别使用),并且不需要整数运算。 因此,面对真实和整体ALU结合的困难,他干脆把整体扔掉,决定如果有人突然需要它,他们就会效仿真实的。

为什么我们需要整数运算?

答案很简单——操作 RAM 中的地址。 正如您已经了解的那样,CDC-1604 和 BESM-6 都是带有加法器的机器(也就是说,在现代术语中,它们只有两个寄存器,其中一个专用的是电池,所有操作都在其中执行)。 在某种程度上,这类似于现在可以在 Forth 和 Java 语言中找到的堆栈体系结构。

问题在于,在这样的组织中,ALU 必须不断地将某些内容加载/卸载到内存中,这需要索引寄存器和高级索引算法,从而可以操作 RAM 中的地址。

顺便说一句,BESM-6和CDC有一定的不便——变址寄存器的位宽与字长(!)和累加器寄存器的大小不一致,甚至是非倍数( 15 和 48 位),按照 1959-1960 的标准,这仍然是正常的。但将这种古老的东西拉到 1968 年就已经很黯淡了。

因此,很自然地,带有加法器的机器更倾向于开发整数算法,因为需要在每个时钟周期从 RAM 加载某些内容或将其放入其中,而 Lebedev 忽略了 CDC 的这一功能。 因此,地址的每次计算都需要在真实处理器上进行仿真,这对工作速度或编程的便利性都没有积极影响。

外围成为BESM-6的另一个非常严重的问题。

首先,正如我们已经说过的,Melnikov 放弃了通道处理器并这样解释:

BESM-6 机器采用的连接外部设备的方法受到了该机器批评者的最大攻击。 事实上,任何新设备的连接都需要在设备中进行某些工程修改以控制外部设备,而设法接触到任何“非标准”设备的用户在其连接上有很大的困难。 这样的决定似乎没有任何借口,尤其是在开发 BESM-6 时,IBM 已经实施了一个标准接口,在很大程度上消除了连接新设备和用其他设备替换一些设备的问题。
但是,如果您仔细考虑或简单地比较两种情况下实现与外部设备接口所需的设备的成本和体积,那么 BESM-6 中做出的决定可能不会那么糟糕。 事实上,每个用于提供标准接口的外部设备都包含一个控制器或连接到这个非常昂贵和复杂的设备,它为多路复用或选择器通道提供标准输出。 如果我们将通过标准接口连接设备时所需的额外设备的成本和它占用的空间相加,结果证明 BESM-6 系统要经济许多倍。 换句话说,集中控制单元 BESM-6 比用于类似类别机器的一组标准外部存储和输入/输出设备的控制器的成本便宜几倍。
但是,在许多 IBM 机器型号中,引入了所谓的集成文件适配器,它允许您将磁盘存储设备连接到计算机,而无需使用标准通道和控制器。 在这一事实中,我们可以看到与 BESM-6 中采用的连接设备的合理方法的一些类比。

翻译成普通语言,结果如下 - 用通道协处理器实现理智的工作,如在 S / 360 中,我们没有足够的钱和列别杰夫的愿望,他狂热地反对将协处理器引入他的机器(a修复管时代遗留下来的想法,当额外的几千个苏联质量的灯显然不会提高可靠性,而且游戏不值钱时,Burtsev 将通道处理器推入 5E26,这大大提高了它的性能,事实上,在已经病得很重的列别杰夫身后,他当时不擅长建筑)。

总的来说,使用通道经常让我们的程序员过于困惑,因此关于 BESM-6 在这方面优于 EU 系列的神话。 鉴于他们的识字率低,第一批 EU 克隆的质量存在巨大问题,以及几乎完全没有教科书、文档、示例程序、补丁等,当然,处理像渠道这样复杂的事情可能会变成地狱与 BESM-6 中的实现输入输出相比,就像毡靴一样简单。 因此,无数关于令人难以置信的进步建筑的神话。

同时,许多人混淆了不同层次的架构——命令系统的架构和系统架构,其中描述了外围设备的物理连接等。使用 BESM-6 中的系统架构,一切都只是非常好 - 机器可以组合成一个网络,最多可以连接到 8 台计算机的集群,最多可以连接 128 个终端,包括远程终端,集群磁盘控制器(集群中的每台机器都可以访问每个磁盘),等所有此类的西方计算机)。

一个有趣的悖论是,许多成功的技术解决方案都是为了克服国内元素基础的悲惨而诞生的。

例如,在磁带上双录的渐进技术(即使一个块有错误,但在两个不同的地方,它会从碎片中收集并正常读取)作为对苏联磁带的恶心质量的回应,开始两三次运行后就从字面上倒出来了——在欧盟,在 IBM 之后,没有这样的机制;因此,与 BESM 相比,他们的磁带录音子系统不可靠的神话出现了。

同时,用作磁驱动器的不是渐进式硬盘,而是过时的磁鼓,而磁盘控制器仅在 1974 年出现,之后它们是从古代通用电气大型机的控制器复制而来的(那时已经过时了,以至于 CoCom为了满足 KIAE 和 ITEP 的需要,非正式地解决了他们的销售问题 - 将它们拆解成 BESM-6 的有用部件)。

一般来说,可以单独写一本书来描述纯苏联外围的恐怖及其质量。 在杂志上关于 BESM-6 的讨论中 1500py470.livejournal,其中一位与她共事的程序员此时留下了这样的回忆:

我不小心走进了你的谈话。 他在 BESM-6 工作了 17 年。 有两台机器#135 和#335……你至少知道,测试和诊断机器操作错误的标准工具之一,尤其是浮动错误,是一个锤子,呈重金属圆柱体的形式(所有凹口,以便在敲击时不会从手上滑落)两侧带有可更换的硬橡胶尖端(它们随着磨损而变化)。 我们的汽车每年熄火一次。 很容易猜到——31 月 XNUMX 日。 所以,在打开它们之后,每个人都点击了它们。 内存(这些是8个双柜),总容量为128x6Kb(我没有计算两个控制数字),即 是 小于 1 Mb,面积为 60-80 m,甚至更多。 我们在 DISPAK OS 下工作,在批处理模式下,处理器处理 5-10 个任务(取决于任务吃多少),CRAB 系统不断访问......然后从欧盟中受益)。 没有人注意到不同来源的时钟频率指示不同,哪里是9 MHz,哪里是10 MHz? 为 10 开发,但元素基础让我们失望,达到 9,1 MHz。 还有很多要说的。 我们将两台机器组合成共享磁盘(先是 7,5 MB,然后是每个驱动器 29 MB,可移动磁盘)。 有 16 个这样的驱动器。 我们通过本地自动电话交换机组成了终端网络,租用线路长达500米。 终端是字母数字的,Videoton-340 被认为是最好的(匈牙利从 IBM 购买了一个过时型号的许可证)。 更好的是英特尔 52100 处理器上的 Videoton VDT 8080。 最大的问题之一是磁鼓。 如果省略细节,那么它的操作与HDD的操作非常相似,但是磁头是固定的,并且有数百个(我不记得确切了)。 整个痔疮是在冷状态下手动设置在每个头上的间隙,而在此设备预热后,这是无法做到的-在加速过程中,振动增加并且表面鼓起(重达200-250公斤,因此,在工作中,政权进入了几个小时并冷却了近一天)。 如果关闭,则不能热启动,必须​​等到它冷却下来。 所以我们也摆脱了他们,把电子的记忆。 而不是 16 个鼓 - 8 个箱子,一个架子。 两台 BESM-6 轻松放入一个 200 米的大厅,绘图仪 Digi 图形连接。 他们实际上放弃了磁带,转而使用磁盘并安装 ARFA 软件(归档文件系统)。 为了下载用 Fortran 编写的程序,我们连接了一台 PC,安装了 Kermit。 用户在软盘上收到他们的程序文本...... 到 1975 年,有必要发布这一行的新机器,考虑到缺点:地址部分的 15 位是死胡同,元素基数完全过时,关于ADCP、UPDK、ML等。 外围什么也不说,HORROR! 耗电太离谱了! 你不能一下子记住所有的缺点,这是最好的。 但他们在工厂焊接和组装 CAM,歪歪扭扭,有时是清醒的小鸟。 在他们之后,调整人员将其投入使用了两个月。

OMOED LCTA 部门负责人 G. N. Tentyukova(JINR 周刊“Dubna”34 年 4325 月 11 日第 2016 期(XNUMX)“当机器变大时”)回忆道:

您可能没有在 BESM-6 上找到第一个插入穿孔卡片的设备? 现在我会告诉你它是如何工作的。 你把甲板。 你打开它。 慢慢地:chug-chug-chug ... 突然:tra-ta-ta! 四张牌......这意味着你需要拉出一副牌,从过去的四张牌中数出四张牌,放在一副牌其余部分的开头——然后再次按下开始。 Valya Nikitina 说,在一些国际会议上(BESM-6 刚刚推出),Talker 把外国人带进了涡轮机房——吹嘘我们拥有什么样的电脑。 而瓦莉亚,仿佛是故意的,架起了一个大甲板。 那你打算怎么办! “四张牌”,“四张牌”……瓦莉亚站了起来,脸红了。 好吧,没什么,外国人都是有礼貌的人:他们看着瓦莉亚进入卡片并离开。 瓦莉亚说: 我差点羞愧得筋疲力尽! 你能做什么? 我们不应该受到责备。

如果你愿意,你可以找到很多这样的回忆,没有一篇文章会包含。

甚至 JINR 员工自己也在 1990 年在 Dubna 报纸上写道(当时他们再也不能感到羞耻:

设备也在不断改进。 V.V. Fedorin 和 I.A. 领导下的一组操作员CDC 打孔卡输入和录音机、匈牙利终端、保加利亚录音机和光盘、波兰打印机、日本绘图仪——您在任何地方都找不到更多样化的外部设备。 这个动物园凸显了国内技术的长期不幸:我们的人有技术,但行业没有!

一般来说,在汽车发布大约 6 年后,BESM-15 就可以正常工作了——当时最有穿透力的同志们(如杜布纳的科学家)把 BESM 本身的整个外围扔进了垃圾桶堆(同时来自欧盟,它要好得多,但与进口相比 - 可怕的废金属)并提供美国,日本和德国的所有东西(最糟糕的是 - 波兰或匈牙利)。

此外,还需要升级内存,用地狱般的拐杖(最糟糕的是来自欧盟)搞砸普通终端,并自己编写大量软件,从翻译器到操作系统。 然后,与 BESM-6 一起工作的美好回忆可能会保留下来。

总的来说,在联盟存在的所有岁月里,一个简单的想法断然没有掌握在其中——客户想要的是成品,而不是需要多年完成的原始半成品。 想象一下这样一种情况——美国国家安全局收到了他们以 6600 万美元订购的 CDC XNUMX,计算机到货时没有外围设备(或带有无法使用的外围设备,如果可能,您需要使用烙铁将其连接六个月,然后著名的魔法词),没有合理的操作系统,没有编译器和完全疯狂的汇编器。

先生们,密码学家必须自己动手并自费完成所有调试工作,编写软件并且通常在 10 年内与机器正常工作,在此之前 - 忍受它。 对于任何一个市场类型的公司来说,这样的伎俩都是他们工作中的最后一次;不满意的客户不会第二次来。 在计划经济下,作为一个阶级别无选择——党屈尊给什么,然后吃什么。

性能神话


至于性能,有一种说法是 BESM-6 非常强大,几乎可以达到 CDC 6600 的水平。 BESM-6 宣称的性能是 1 MIPS。 实际上,这些信息从根本上是不一致的,因为命令的执行时间可能相差一个数量级。

例如,单独乘法器(MD)的理论运行速度确实可以达到1-1,3 MIPS的值,而实际速度,当CD在密集访问内存的过程中,不会超过0,5-0,8 MIPS。 Division 命令的运行速度为 0,15-0,3 MIPS,而将数据从 AU 返回到 CU(UI、MOD 等)的命令可以产生任何结果,因为他们正在等待 5 个团队(4 个来自 LHC,1 个来自公关)。 同时,BESM-6 的内存周期为 2 μs,也就是说,读取不在 BRZ 中的操作数的命令,在最坏的情况下,其执行时间会增加 2 μs。

1992 年,在退役 BESM-6 之前,研究计算中心的员工将其与 286 处理器(AMD 的实现超频至 16 MHz 与标准 12)的计算桥组合的性能进行了比较,并根据他们的保证,获得了大致相同的数字。 AMD 286 的性能超过了 2,6 MIPS,但我们不知道他们使用的是哪个版本的 BESM-6(最有可能是 Elbrus-1K2,在 IC 上比原来的要强大得多)。

《从微处理器到个人计算机》一书(Cheremnykh S.V., Giglavy A.V., Polyak Yu.E., 1988, Radio andcommunication)提供了不同语言的基准示例(循环中数组的加法和乘法),用于不同的机器并给出了它们的执行时间。 根据此信息,BESM-0,08 的测试执行时间(取决于语言)为 0,23 至 6 秒,EC 0,11M 为 0,38 至 1055 秒,DCK(处理器 MS 0,45)为 1201.02 秒,PC 为 0,37 秒 /带有 16 MHz 处理器的 AT。

所有这些数据都是非常矛盾的,在没有可用的 BESM-6 的情况下,不可能找出真相,但是,我们注意到随机问题的平均结果在任何情况下都不会超过 0,8-1,5 MIPS。

请注意,7030 年前 IBM 6600 Stretch 已达到此速度,3 年前证实传奇的 CDC 4 可提供超过 360 MIPS,而旧型号的 S / 0,8 则在几年前产生了相同的 1-XNUMX MIPS早些时候。

因此,我们看到 BESM-6 肯定会成为 1959-1960 年的世界纪录保持者,但在 1968 年,它的参数并不代表任何超自然现象,处于典型大型机的水平标准,而且,在十年。 在当时的欧洲机器(西门子、Bull、Olivetti)的水平上,BESM-6 看起来很正常,但跟不上 CDC(当时最强大的机器)。 S / 360s 在科学计算方面并不差,在金融方面明显更好。

没有什么值得惊讶的。

正如我们所说,BESM-6 不支持整数运算,这意味着任何算术命令都是在真正的加法器上执行的,现在想象一下通过模拟整数运算几乎每个时钟周期来计算地址的乐趣——机器不是一个寄存器,但过时,带有加法器,因此,数字需要不断地从 RAM 驱动到 RAM。 这导致即使在最好的情况下,阅读也需要 3 个刻度,加法 - 5 个刻度(平均 - 11,最坏 - 280),乘法 - 15 个刻度(平均 - 18,5,最坏 - 162),除法平均需要 50 个时钟周期。 结果,程序不仅运行得比它们能跑得慢,而且占用了更多的空间。

V.V. Przhiyalkovsky 在他的评论中也提到了这一点:

在苏联科学院应用数学研究所进行的研究表明,为 IBM S/360 编译的程序比 BESM-1,5、Vesna、M-3 程序需要的内存少 6-20 倍。

如果我们根据当时流行的 Whetstone 测试从数字上谈性能,BESM-6 每秒获得​​了大约 0,3-0,4 万次单精度操作,这处于 IBM 模型的平均水平。

另一个问题是时间工作的完全不可预测性。 对于相差一个数量级的时间,可以执行一个相同的命令! 按照现代标准,这是一场噩梦,按照 1970 年代的标准,也好不到哪里去。

从 1960 年代开始,在任何指令系统中,都确切知道一个或另一个操作将执行多少个时钟周期,这些时序在所有面向低级程序员的手册中都有详细说明。 另一方面,列别杰夫不明白为什么至少需要某种可预测性,甚至没有尝试实现它。

因此,在 BESM-6 中,执行时间取决于随机现象,不仅取决于明显的现象 - 例如,地址是否进入预取,甚至取决于操作数的值。

不知道是哪个竞争对手列别杰夫说出了属于他的那句话:“是的,你的机器的速度比我的快,但由于可靠性低,它仍然没有时间计算间隔之间的任务两次故障!”,但许多人将其解释为 BESM-6 超级可靠性的证明。

世界上唯一可以与 CDC 6500 进行公平战斗的地方——杜布纳的核研究中心。 这是他们战斗的结果:他们的年度工作时间计划一致 - 名义上为 6000,但实际上 BESM-6 在 1979 年工作了 6910 小时,CDC 工作了 7440 小时。 最重要的是在其他数字中 - 在列别杰夫的机器上处理了 75 个任务,在 CDC 上 - 近 200 ...

关于 BESM-6 的系统架构有几个持久的神话,其中之一是虚拟内存的存在。

这个概念首先在 Atlas 中实现,它也实现了关联内存来确定 RAM 中是否存在所需的虚拟内存页面。

为什么 BESM-6 中的不是它?

虚拟内存支持使寻址比实际安装在机器上更多的内存成为可能。 在具有三倍 RAM 的版本中的 BESM-6 上,一切都是相反的 - 机器上的物理内存比它可以寻址的要多! 事实是,拥有 128 KB 的内存,我们必须通过 15 位地址(CDC 1604 的遗产)使用它。 由于“保持地址格式与 CDC 1604 兼容,但内存增加三倍”这一绝对有争议的概念,引入了一个特殊的拐杖 - 所谓的 32。 注册登记。 在访问实存之前,执行地址被分成两部分 5 + 10 位。 上半部分被解释为注册寄存器号,从中取出物理页号的7位,与地址的10个最低有效位一起组成一个17位的物理地址。 列别杰夫自豪地称这种制度为“虚拟记忆”。

在 Atlas 中,地址最初是 24 位的,当试图在实内存之外寻址时,主管从鼓中抽取一个页面,并在 RAM 中使用相应的虚拟地址,类似于现在从磁盘下载页面时发生的情况。

顺便说一下,在 BESM / BESM-2 / M-20 / BESM-4 中也存在类似的寻址问题,但那里的一切都更加被忽视了。 列别杰夫在其中使用了他心爱的 KOP 格式的三地址命令系统 | A1 | A2 | A3,其中COP为操作码,A1-A3地址。

为什么我们这么骂这个道理,凡事都是外在美的?

事实是每个地址最多可以引用 4096 个字,它不再适合已经非常宽的总线,因为必须沿它推送三个这样的地址和一个操作代码。 但即使是第一个 BESM 也有更多的内存!

你怎么转向她?

为了使用整个RAM量,它被分成所谓的。 “Cubes”,这些立方体的前缀是为了寻址而引入的。 间接寻址尚未被发现(至少在 ITMiVT),因此程序员编写了自修改代码,在运行中更改命令中的地址 A1、A2、A3(从或多或少现代编程的角度来看)原则,是一个肮脏的黑客和令人发指的变态,所以即使病毒也尽量不写,除非绝对必要,在 BESM 中这是一种常规的操作模式)。

另一个问题是臭名昭著的外部设备工作,列别杰夫在他的原始机器中尽可能严厉地解决了这个问题 - 只需在硬件中硬编码所有调用,尽管事实上没有足够的命令。 没有尝试从设备中抽象出来,这再次表明,他是一名优秀的电气工程师,也是一位有缺陷的系统架构师。 因此,感谢上帝,CDC 被视为 BESM-6 的原型。 列别杰夫了解自己能力的极限(有时),不敢完全凭自己的想象力从头开发出所需级别的超级计算机。

下一个建筑神话


下一个建筑神话与传送带有关,他们说,BESM-6 是世界上第一台机器,天才列别杰夫在达姆施塔特的一次会议上报告了他的“供水”,并且心胸狭窄欧洲人感到震惊和敬畏。

实际上,传送带的想法是由 Konrad Zuse 表达的,并在 Z3 中以原始的两级形式实现。 1949 年,他试图为 Z4 的实现申请专利,但令人惊讶的是,尽管 Zuse 的赞助人是 IBM,但该专利一直搁置到 1960 年代中期。

1950 年代初期,类似的想法在空气中传播,列别杰夫和拉米耶夫都考虑过,在 MPEI 研讨会上讨论过。 1946年,英国迫切需要一块巨大的无人居住的土地进行核试验。 武器... 幸运的是,他们找到了这样一块寿司,它的名字叫澳大利亚。

结果,缔结了一项合作协议 - 测试站点以换取现代技术。 澳大利亚武器研究所就是这样成立的(WRE,他们发明了很多东西,比如1957年他们创造了同样的飞机“黑匣子”)。

英国公司 Elliott Brothers 专门为 WRE 开发了 Elliott 403 型计算机(通常称为 WREDAC)。 这台管机于 1955 年启动,有一个两级输送机,类似于祖泽的专利。

请注意,Zuse 和 Lebedev 的想法都不属于现代意义上的真正的传送器。 在他们的“管道”中,只假设了两个多向操作的组合——处理器中的算术逻辑和从 RAM 中获取下一个操作数。

真正的输送机假定存在以完全不同的原理运行的先进控制设备。 实际流水线中指令级的并行意味着在指令上至少重叠三个操作——获取、解码和执行;为此,有必要实现一个相当复杂的机制来预测条件分支。

在这个意义上的传送带首先由加拿大著名数学家和计算机科学家唐纳德布鲁斯吉利斯描述,他在伊利诺伊大学从事 ILLIAC II 超级计算机项目。 这是一台令人难以置信的进步机器,但它的发展仅在 1962 年结束,而所有文档和操作原理都在 1957-1958 年的公开学术文章中阐述。 Stretch 开发人员并未获得专利,而是从他们那里借用了输送机方案,但在三年前正式发布了他们的汽车。

在同一个 1959 年,我们已经写过 M-100 Kitov 管怪物的一个副本,几乎没有关于它的架构的信息,可靠地知道它具有哈佛架构和流水线处理器,但是它可以在多大程度上执行通用程序以及它是什么类型的传送带尚不得而知。

苏联导弹防御系统的诞生。 BESM-6 的优缺点

经典如其名。 BESM-6 在自然栖息地,JINR 涡轮机房,杜布纳(照片 https://ramlamyammambam.livejournal.com/)。 同时,两台BESM-4、CDC 1604、CDC 6500,三台EC-1040、EC-1060、EC-1010、EC-1061和Robotron KRS-4201在JINR工作。 就装置数量而言,它很可能是苏联最强大、规模最大的展览中心。

BESM-6 流水线是从 CDC-6600 中窥探到的,只有 Cray,每个处理器有 10 个独立的块,可以并行执行流水线中的指令,因此这台机器被认为是世界上第一个超标量处理器。

7600 年创建的 CDC 1969 和 IBM System / 360 模型 91 (1967) 使用了管道的所有现代特性,包括推测执行和寄存器重命名,具有更先进的架构。

BESM-6 中带有加法器的更原始的电路也没有现代意义上的传送器,也没有虚拟内存。 ALU 本身没有流水线化——如果处理器将两个数字相乘,它就不能做任何其他事情,尽管可以同时提取下一条指令。 所以这里的“传送带”的实现已经有 15 年的历史了,类似于 Zuse、Rameev 和 Elliot 的工作。

最后的妄想


关于 BESM-6 的“巨大创新”的最后一个误解是其中存在高速缓存。

实际上,并没有现代意义上的缓存,成熟的缓存只出现在同一个 360 年的 IBM System/85 型号 1967 系列中。

健康人的缓存由超快 RAM(通常是静态的)中的一组记录组成,每个记录与一个数据块相关联,这是该块在普通 RAM 中的副本。 每个条目都有一个标识符(通常称为标签),用于标识缓存中的数据项与其在主存储器中的副本之间的对应关系。 如果在缓存中发现条目的标识符与所请求项目的标识符相匹配,则使用缓存中的项目。 这称为缓存命中。 如果在缓存中没有找到包含所请求数据项的条目,则将其从主内存读取到缓存中,并可供后续调用使用。 这称为缓存未命中。

在 BESM-6 中,不是这个模型,只有四个所谓的。 缓冲区编号寄存器 (BRCH),从内存中读取字,以便以后 ALU 可以更快地访问它们。 同样,有 8 个(同样是奇怪的不对称性)缓冲写入寄存器 (BRZ),在将数字写入内存之前将其放置在其中。 操作数应该写入的地址保存在所谓的. BAZ(缓冲区写地址寄存器)。 如果后来发现执行地址与 BAZ/BAS 中的地址之一重合,则操作数是从 BRZ/BRCH 中取出的,而不是从内存中取出的。 这就是 Besm 方式的整个“缓存”。

最后,最后一个误解是认为 BESM-6 是 RISC 架构的先驱。

当然,BESM-6 中的命令不是太多,而是很少,但这是它与 RISC 相似的唯一参数。 然而,一个成熟的 RISC 处理器:它具有一小组简单指令、大量 RON(通用寄存器)、用于重命名它们的开发方案、基本指令以及其中任何一个的可预测和标准执行速度- 1-2 个时钟周期。

如果您已经阅读了这篇文章,那么您已经了解 BESM-6 的所有参数都在这里,除了命令数量。

正如我们已经说过的,BESM-6 中的软件的一切都令人难过。

它仅与 ITMiVT 开发的操作系统“Dispatcher-68”的前身一起交付,该操作系统仅允许批量启动任务并为其分配资源。 Lebedev 自动代码被提议为一种语言,但立即被所有合适的人抛弃了。 正如我们已经提到的,期望可以在 BESM-6 上立即从 CDC 1604 启动整个软件阵列,但它没有实现。 于是,每个科学团体都开始狂热地亲眼目睹语言和操作系统的各种实现,当然,彼此不兼容。

其中最酷的是“Dubna”监控系统——而苏联没有足够的力量来支持它,必须让来自东德的德国人、匈牙利人甚至蒙古人——整个 JINR 国际委员会都参与进来。

被盗的编译器 Fortran 和 Algol-60,后来的 LISP 和 Pascal,被成功用于它,但这一切都以地狱般的努力为代价。 Algol-60 最初是在 VM Kurochkin 的领导下,在苏联科学院计算中心的编程实验室中创建的,首先是为 BESM-2,后来移植到 BESM-6(对于 BESM-4,至少有 3 个不同的使用 Algol-60 的编译器,不少于 2 个不同的汇编器,Dubninsky 和 ​​Bayakovsky 以及来自原始 Epsilon 语言的编译器 - 这是一个典型的动物园),正如许多人所说,它仍然是她唯一的不粘转换器流行语言。

问题在于 1964 年出现了一个新的语言规范,通常称为(在标准采用的最后一年之后)Algol-68,Kurochkin 不再掌握它。 CDC 68 Algol-1604 翻译器工作不正常,导致我们杜布纳的物理学家指望的许多 CERN 项目的启动中断。

在欧洲,Algol-68 长期以来一直被英国皇家通信和雷达委员会使用。

在苏联,有开发 Algol-68 的工作组(例如,安德烈·彼得罗维奇·埃尔绍夫院士领导下的新西伯利亚,安德烈·尼古拉耶维奇·捷列霍夫领导下的列宁格勒,亚历山大·尼古拉耶维奇·马斯洛夫和米哈伊尔·鲁维莫维奇·莱文森领导下的莫斯科)。 在列宁格勒州立大学,在 Algol-68 中创建了一个编译器和一个强大的编程系统,但是......已经用于已经运行多年的 ES 计算机(顺便说一下,这就是为什么,包括在 Dubna ,EU 出现了,这是为了一个发达的外围设备,也是为了大量的软件和编译器不适用于 BESM-6 或无法正常工作)。


仅参考照片——莫斯科国立大学计算中心同时安装两台 BESM-6(照片 http://www.besm-6.su)

许多程序是在熟悉国外源代码后出现的,例如前面提到的 LVT JINT 的 NN Govorun,在访问 CERN 后,在他们的计算机中心使用带有 CDC 3200 的机器打印输出,在 BESM-6 Fortran 和库中实现了六个 BESM。标准程序 -6 被转移到 GDR,他们的 JINR 程序员回到他们的祖国,制作了他们自己的汇编程序版本,Fortran-GDR 和 Algol-GDR(它们的运行速度比国内的快 20-30%)。

Z. F. Bochkova、G. N. Ezerov、V. M. Mikhelev 在应用数学研究所的 V. S. Shtarkman 的领导下。 Keldysh(在他访问 IBM 之后)开发了 BMSH 自动代码,因为 M.G. Tchaikovsky 的原始自动代码基于列别杰夫本人的助记符,基本上是两个字母,绝对不合逻辑且不可读,这导致了许多不兼容的更改。

BESM-6 文件系统从未编写和完成到最后,一般来说,在每个科学中心,都有可能编写自己的东西而损害其他一切。 在车里雅宾斯克,VMK MSU - LISP 和 DISPAK 使用 Dubna(用于描述 Fortran-GDR 和 Algol-GDR 任务的人类语言)在磁带上存档。


一个单独的假期是 BESM-6 的文档。 想象一下,您是一名普通的研究生或初级研究员,从数学系等部门工作。 您可以深入研究 IT。 对于最终用户对机器的这种质量描述,这些美国用户会根据说明将克雷烧毁。

当然,最初的 OS/360 和 IBM 都有问题,但是他们极快地纠正了这种情况,在苏联,任何人在不同时间编写的数千个库相互不兼容的混乱始终没有得到解决与直接复制欧盟软件无关的领域。

BESM-6 粉丝引以为豪的一切——著名的 OS ND-70、Dubna、DISPAK 等,都是在 1970 年代中期才开发出来的。 多亏了 DISPAK,在 1972 年,他们终于掌握了将硬盘驱动器与从通用电气公司提取的控制器连接到 BESM-6 的方法,在此之前人们使用最初是 1950 年代初期的古老鼓。

IBM 机器从 1956 年就开始使用磁盘——这是 BESM-6 的“高级架构”的问题。 一个鼓的容量为 16 千字(192 千字节),重半吨。 鼓可以连接到最多 4 件。 同时,传统的 IBM 硬盘驱动器的容量为 5 兆字节,大容量为 30 兆字节。 请注意,Dubna 中的 BESM-6 有一些硬件差异,从终端行中的字符奇偶校验到寄存器中物理地址的位。

结果,操作系统“Dubna”没有在内存超过 4 个立方体的机器上启动,因为物理地址的额外位被调度程序用于它们自己的目的。 总的来说,这解释了为什么 Dubna 在其他地方不受欢迎。

一般来说,远离西方计算机设计的人往往无法理解机器中最重要的不是硬件,而是软件。 不是为完成的机器编写程序。 机器的创建是为了方便为其编写程序,甚至更好 - 以最少的更改使用现有的程序。 不幸的是,即使在西方,也不是每个人都理解这个简单公理的本质。

Stretch 的主要开发人员之一 Fred Brooks 非常清楚地说明了这一点——任何计算机架构的设计都应该从收集用户需求开始,而不是特定系统架构师的个人深思熟虑和他个人对什么的独特见解机器应该是。

不是人为计算机,而是计算机为人。

第二步是制定一个最让最终用户满意的指令集草案(对于一个系统架构师来说,最终用户是低级程序员,他们会为普通人创造所有的软件),然后才是具体电路的开发解决方案开始。

这个循环被两家公司完美掌握——IBM 向 Stretch 学习并创造了伟大的 S/360,以及 Burroughs,他们同样开发了同样伟大的 B5000 系列(这里我们说的是大规模商用机器,CDC 和 Cray 类似地创造了科学超级计算机——收集应用程序和科学家的要求,并尽可能地满足它们)。

因此,Z 系列大型机仍然与 1960 年代的机器兼容,自肯尼迪时代以来,银行业有数十亿行 COBOL 代码,IBM 和 Burroughs(化身为 UNISYS)是唯一从中脱颖而出的大型机制造商XNUMX 世纪。当他们成立时,在二十一世纪。

在苏联,这个公理,唉,并没有实现(完全从这个词中),考虑到到 1960 年我们已经拥有 ITMiVT 作为与 IBM 相当的垄断者这一事实。 同一个 Yuditsky 为导弹防御系统(然后是 GRU)的特定要求设计了 Almaz,他的潜在用户对机器的原型很满意,尽管他不被允许发布一系列。 在 ITMiVT 中,一切都不同了,默认情况下,相信天才 Lebedev 比您更了解您需要什么计算机,他是专业人士,因此您生活在他诞生的命令系统和架构中。

对于熟悉现代技术的人来说,熟悉例如在 S/360 中使用内存的实现细节不会引起误解或厌恶。 对 BESM-6 中低级编程特性的了解常常让现代程序员感到震惊。 事实上,祖父没有更轻松的时间,所以 BESM-6 的软件编写了很长很长的时间,直到她在 1990 年代去世。

有的实施是成功的,有的不是很好,这一切都是在分散的研究机构和研究中心的努力下完成的,不知何故以不同的版本在全国范围内传播。 关于 BESM-6 软件质量和数量的神话很大程度上源于这样一个事实:首先,生产了近 400 个(包括修改),这在联盟的标准下是不可思议的,它自己的 BESM-6几乎每个主要的科学中心,其次,它们被铆接了 20 年,使用了 40 年。

因此,科学家们,人们远非愚蠢,在这段时间里,他们能够生出不少可以忍受的程序。 当然,也有大型的编程理论流派(一般来说,最强大的苏联程序员,世界知名的计算机科学理论家,都是从数学到那里的人,从李雅普诺夫和舒拉-布拉开始)。

开发了操作系统和编译器构建的理论原理,撰写了文章,进行了论文辩护,创建了科学学校。 当然,这一切在数量和质量上都是值得的。

唯一的问题是优秀的学术科学正坐在它的象牙塔中,帮助 DISPAK、Dubna 和 ND-70 等划时代的发展,但该国需要数万名程序员,而不仅仅是数十名编程学者。 我们对他们没有问题,但是对于普通的编码员......

在下一篇文章中,我们将完成对国内这一划时代发展的思考。

待续...
15 评论
信息
亲爱的读者,您必须对出版物发表评论 授权.
  1. +8
    16十二月2021 19:04
    作者有力地呈现了信息技术发展的历史。

    循环结束后,我想写几篇关于未来发展战略的文章。
    考虑到大概的成本、所涉及的机构,当然还有能够取得突破的人,即使没有突破,也可以进入前三名。 hi
    1. +3
      16十二月2021 20:17
      在编写策略之前,您需要回答我们到底想要什么?
      如果由于各种原因进入世界市场不现实。
      如果你这样做,那么可用的技术就足够了,尽管会有吱吱声。 那么何必呢?
      1. +1
        16十二月2021 21:38
        新型计算机可以进入新的世界市场——例如,量子计算机正在逐渐成熟,一开始不要重复旧错误,而是从它们的经验中取得成功是有道理的。 现在指导同样的基础科学家会很有趣,虽然量子计算机仍然是理论的一半,但现在开始收集未来世界市场潜在用户的需求,制定工业应用标准,并将科学学科和应用学校正规化。用户要求。 推进开发和实施,从而迅速形成一个新的、面向用户的计算机行业分支。
    2. +2
      17十二月2021 05:07
      强大,但现代。 所以机器的速度不是通过时钟频率来衡量的,而是通过每秒加法等操作的数量来衡量的。
      苏联的电子和计算技术走自己的路,没有转向西方。
      唯一的问题是优秀的学术科学正坐在它的象牙塔中,帮助 DISPAK、Dubna 和 ND-70 等划时代的发展,但该国需要数万名程序员,而不仅仅是数十名编程学者。 我们对他们没有问题,但是对于普通的编码员......

      我不同意。 根据文章,原来除了这台机器,我们一无所有,没有开发。
      在喀山、奔萨和明斯克生产了 ES 计算机系统。 明斯克计算机研究所的发展。 更准确地说,它是一个单一的 CMEA 系统。 它以苏联解体而告终。
      VS 有自己的电脑。 自 1959 年以来,他们开始在 S-200 SAM Plamya-K 计算机上进入防空 ASUKR(ACS 导弹系统)。 随着新型S-125防空系统的研制和投入使用,混合型防空导弹系统开始出现,能够在大范围内解决分配的任务,拥有多种类型的短程防空系统。 S-125、中型 - S-75 和大型 S-200。 搭载 2E5 计算机的 ASU Vector-86 出现了。 铁路上用的是同一台电脑……我忘记了订票系统的名字。 在防空系统上,它们在海军中不叫计算机,而是一个计算装置,与航空相同。 我国发展起来的计算技术和电子产品。 是的,他们落后于 Zabugrs,但他们自己做了一切并且做得很好。
      关于元素基础。 半导体有问题,他们学会了如何制作灯,以及制作什么样的灯。 展示组装在灯上的导弹的电子控制单元。 有这样的重载,但它们有效并且非常微型。
      总的来说,这一切都是如此。 并且有一小部分用于太阳
  2. +1
    16十二月2021 20:28
    谢谢! 非常有趣和基本!
  3. +3
    16十二月2021 20:28
    我能说些什么——在 BESM-6 我在 1977-78 年相当成功地完成了我的文凭——火箭的地雷发射。 是的,我真的不得不从打孔卡进入程序。 没经历过作者描述的恐怖,文凭竟然还挺扎实的,就开始做生意了。 当 EC-80 和 EC-1040(IBM 的可怜克隆)在 1055 年代上半叶来到我们面前时,我遇到了很多麻烦,依靠 VAX 的感觉要愉快得多。
  4. -1
    17十二月2021 00:15
    对你的国家有多少仇恨! Kokom 没有给予,祖父们没有躺下死去,而是为祖国做 IT。 这样的作者永远不会原谅!
  5. +3
    17十二月2021 07:50
    我们仍然在走自己的特殊道路。 同一个 Elbrus 处理器不兼容 x86。 有自己的特殊操作系统,x86 程序被迫通过像 LINUX 上的 Vine 这样的模拟器运行。
  6. -2
    17十二月2021 08:23
    作者显然具有在西方被许诺获得公民身份的农奴的心理类型。 或者他们甚至没有承诺,但他真的希望......
    事实证明,在 1951 年就已经创建了您的第一台计算机 - 在未来,没有必要发展工作的成功和融资,而是将所有东西都扔进垃圾桶。 所以“从一个大头脑”狡猾的俄罗斯农民智取了自己,把自己扔进了垃圾堆……逻辑上而且非常公正。 !
  7. 0
    18十二月2021 00:30
    BESM-6 流水线是从 CDC-6600 中窥探到的,只有 Cray,每个处理器有 10 个独立的块,可以并行执行流水线中的指令,因此这台机器被认为是世界上第一个超标量处理器。
    ...
    BESM-6 中带有加法器的更原始的电路也没有现代意义上的传送器,也没有虚拟内存。 ALU 本身没有流水线化——如果处理器将两个数字相乘,它就不能做任何其他事情,尽管可以同时提取下一条指令。 所以这里的“传送带”的实现已经有 15 年的历史了,类似于 Zuse、Rameev 和 Elliot 的工作。

    似乎在第二个片段中争辩说 BESM-6 没有成熟的传送带,并且在正文中对此已经说了很多,在引用的第一部分中似乎它有过。 也许这是文本编辑中的错误? 而且没有传送带?
    一般来说 - 一篇有趣的文章。 作者知道很多! hi
  8. 0
    22十二月2021 22:31
    总的来说,在联盟存在的所有岁月里,一个简单的想法断然没有掌握在其中——客户想要的是成品,而不是需要多年完成的原始半成品。 - - - - - - - 确切地。 主要是把段子赶出工厂,说服军代表。 然后该旅前往巴尔喀什,在那里他们将完成超视距雷达站的部分。
    1. 0
      6 1月2022 05:01
      情况仍然如此。 庞大的规格、测试闪烁的 LED 和其他乐趣。
      1. 0
        4二月2022 16:45
        如果晶体管、微电路如此糟糕,他们为什么不尝试制造一个电子管处理器,例如,在外观上类似于一盏灯的电视管,如果一个由光刻法制成的阳极安装在它而不是屏幕矩阵,并且阴极是电子枪,如果光束以无法想象的频率逐行围绕它运行(可以有多个阴极枪),那么这种设计的速度将非常高. 目前尚不清楚电子束的“厚度”可以减少到何种程度,电子束的控制精度如何,以及元素的“线”多久可以放置在阳极上,但另一方面,这种类似于电视屏幕的处理器的尺寸可能非常大。 .
    2. 0
      22 March 2023 09:49
      苏联没有市场,所以不可能有“客户”。 您的愿望清单 - 您的问题 (C) Orshavin
  9. 0
    23二月2022 19:15
    引用: 相扑
    总的来说,在联盟存在的所有岁月里,一个简单的想法断然没有掌握在其中——客户想要的是成品,而不是需要多年完成的原始半成品。 - - - - - - - 确切地。 主要是把段子赶出工厂,说服军代表。 然后该旅前往巴尔喀什,在那里他们将完成超视距雷达站的部分。

    那么令人惊讶的是,有这样的想法,你还不是总统,也不是国防部长? 在我看来,这是一个更简单、更明显的想法。