(call/cc

Never say never

中国计算机科技 1972 - 1980:一个美国的视角

2020年春节我回国过年,偶然在家里发现了爸爸大学用的1978第一版上下册《电子计算机与算法语言》。我如获至宝,把书带回了美国,却开始了至今不知啥时候能结束的work from home生活,这两本书密封保存放在了书架上,基本上起了个镇宅辟邪的作用,bug退散~~直到上个周末,我才仔细读了这两本书。

爸爸大学读的是船电不是计算机,所以这套教材的目的可能是让他们快速上手利用计算机演算问题而不是入门计算机科学。上册讲的是计算机的基本原理,从逻辑门电路,基本的逻辑代数,到简单的计算机体系结构知识;下册更厚,没有算法数据结构等内容而是一口气介绍了三种编程语言:ALGOL60, FORTAN 和 BASIC, 以及在国产DJS-130计算机上的操作。

出于好奇我想去查找关于这些国产计算机的更详细的技术信息。可是用型号搜索得到的中文信息非常少,能找到的大部分也都是没有多少技术价值的文宣体。但我却惊喜地发现有不少英文材料提到了这些国产计算机 —— 从1972年起,美国计算机科学家开始陆续访问中国与中国研究员、工程师交流,从他们的视角观察中国计算机科技发展,写成报告投到了计算机专业期刊。这些技术报告是珍贵的史料,也是我们不能忘却的记忆。

1972

1972二月尼克松访华。当年七月,由Severo Ornstein牵头,六位美国计算机科学家就首次访问了中国。他们的正式身份是民间旅游团,毫无疑问受到了故宫长城烤鸭三件套的热情招待,剩下的一半时间,他们参观了中科院在北京和上海的研究所,各高校的实验室以及一些生产工厂,并且首次跟中国计算机人进行了直接交流。我在斯坦福电子档案馆找到了一份成员的记录:Computing in China: A Travel Report, 副标题是:”Computer technology advances rapidly in China with no external aid.”

文革的影响是明显的,大学招生规模只有文革前的几分之一,学制被缩短为三年,也没有了正式的研究生项目。大学教室变成了校内工厂供学生生产实践,研究员教师也要到工厂「三结合」。但实验室还在,机器没被(完全?)捣毁,更重要的是人也在。中美同行第一次见面,美国人惊讶于这些中国年轻人的信息渠道一点都不闭塞,图书馆里能找到最新的ACM和IEEE期刊,而且被非常仔细地研究消化。中国人老实不客气,直接要求:「别整那些刊登过的东西,来点你们还没发表的干货」,他们到底交流什么未发表干货,现在就不得而知了。

美国人第一次见到了中国国产计算机。在苏联专家1959年撤离中国之前,中国只仿制了一型苏联电子管计算机,之后中国的计算机科技更多地是吸收英美的研究成果,在工程上独立发展。在这样的条件下,他们竟然发展出了运用集成电路,标称性能180KIPS的111型机。美国人对中国计算机架构的评价颇高,认为他们虽然保守,但是简单、合理而实用。在清华 “in the excellent ‘clean room’ facilities of the Integrated Circuits Laboratory” 中国人正在研究制造MOS大规模集成电路。

在上海,美国人参观了计算机制造车间。他们被带到上海郊区一处安静的老房子,震惊地发现里面的女工正手工把集成电路焊在印刷电路板上(几年之后Apple I也是这样在乔布斯父母家车库捣鼓出来的)——这里的前身是一个生产门窗把手(!)的社区工厂,工人就是附近的家庭妇女。计算机研究所的研究员来这里搞三结合,把它转变成了一个电路板装配车间。他们也参观了更大的有正式管理的工厂,但是在那里,手工操作也占绝对主导地位。可想而知,在这样的生产条件下,计算机是很难有「量产」的概念的,中国当时全部计算机产量,满打满算一年不过十几台。

美国人感到的另一个差异是在计算机的软件和应用上——编程语言倒是老熟人,ALGOL60是1972年中国的主流语言,毫无疑问是自己写的编译器(程虎等前辈的工作)。但跟美国不同,中国人主要专注于科学计算,所有的计算机都是批处理系统并且大量使用纸带输入输出,而且对研发超高性能巨型机有蜜汁热忱(到现在都是)。他们对计算机的其他应用场合如商业和生产管理涉猎不多,对与这些应用领域的基础研究如分时系统也兴趣不大——当被问到相关问题时,中国人给了个中国人都懂的中国式回答:“We would like to know what problems you have had with time-sharing. The concepts of time-sharing are understood”.

1978 - 1980

从1978年到1980年,IEEE计算机学会中国学习小组连续三年组织访问中国,提交了三篇相当详细的报告:1978, 1979, 1980. 这三年对中国来说是传奇性的:从恢复高考和正常大学招生,到正式启动改革开放;在美国,1977年Apple II发布点燃了PC革命,行业发生了影响至今的巨变。我父母都是1977年第一届大学生,而我现在就坐在离Apple I诞生地不到1迈的地方阅读这些原始记录。

美国人看到的第一个变化是计算机型号变多了。1973年四机部在北京召开了第一次计算机专业会议,决定系列化发展。中国通过日本渠道引进了NOVA 1200小型机技术,发展出了被广泛使用的DJS-130系列,也就是我在爸爸的课本上看到的机型。到1978年,中国已经能「量产」标称速度达1MIPS的TQ-6型机,能够制造2MIPS的013型大型机。1979年,他们在上海华东计算技术研究所看到了最新研制的双CPU, 速度高达5MIPS的HDS-9型。新型号新架构的研发还在进行中,这包括架构上参考PDP-11的小型机系列和参考IBM360/370的大型机系列。清华的半导体实验室已经研发出DARM. 研究所里充满了乐观情绪。

在生产环节,美国人奇怪地发现,各地的计算机制造厂拿到生产图纸之后,不仅要生产计算核心,还需要自己生产组装各种外设配件,各厂家基于相同的图纸生产出来的同型机器也会微妙地不兼容。美国人非常正确地猜测,这个布局的目的是即使半个中国被战争摧毁,剩下的一半还能保持生产运作。计算机的接线工作仍然是纯手工完成——这被美国人称为“1955 vintage”, 集成电路版依然是手工钻孔手工点焊,磁芯内存阵列仍然是手工绕制。他们也参观了当时的IC龙头上海无线电七厂,注意到这里的生产良率极低,原因是空气中污染颗粒太多,而工厂并没有除尘或湿度控制设施。这样的生产条件下,他们生产的芯片集成度要比美国低一个量级,计算机要使用更多的电路板,需要更多的人工接线,也就是更低的生产效率和更差的产品可靠性。美国人还注意到,那个上海的前门窗把手厂频繁地出现在文宣资料里——原来,这是被作为「实践出真知」的典范宣传的。同一年,邓小平出访日本,各处参观后发出了感叹:「我明白了什么是现代化」。

软件系统的变化并不多,ALGOL60仍是主流,但中国人也开始尝试引入FORTRAN IV, 甚至Pascal. 父亲的课本上ALGOL60部分明显破旧而且有密密麻麻的笔记,而FORTRAN部分非常干净,大概也反映了这个现状。计算机应用仍然集中在科学计算领域,TQ-6上有了简单的分时操作系统,采用固定分区而不是虚拟内存系统,可以支持4道程序并行。在所有报告中都没有提及对数据库的研究,美国人甚至猜测,或许由于过分专注科学计算,中国人在外存设备研发上投入不足,导致他们甚至没有足够性能的存储设备运行一个现代的文件系统。

到了1980年,来访的美国人发现实验室添置了许多美国设备。1979年,清华大学一口气购买了7台PDP-11, 应该还买了Apple II等机器,因为他们在美国人面前用Apple II演示了原始的中文语音识别技术(然后翻车)。参照PDP-11和IBM360/370的新机型研发计划仍在进行。清华的集成电路实验室看来已经能够试制Intel 8080级别的芯片,但清华人已经在瞄准8085级别芯片了。

尾声

我找到的提到中国国产DJS系列计算机的最后一份英文材料来自The China Bussiness Review的1984年5-6月刊 “Minicomputers in China”, 并不是技术报告。1984年二月,邓小平讲话:“计算机普及要从娃娃抓起”,全国掀起学习计算机的热潮。但中国计算机产业的溃败似乎已经无法挽回。

中国计算机人并没有忽视PC革命。1977年,代表中国顶尖水平的清华集成电路实验室研究了Intel 8080和Motorola 6800芯片后,认为当时中国的制造技术不足以制造这个级别的芯片,但他们用更低集成度的芯片和拼接电路板的方式制造了与8080完全兼容的机型。这样的产品显然没有市场竞争力,虽然DJS系列计算机仍在生产,但进口微机毫不费力地占领了市场。几年后清华实验室有了真正的8080级别的芯片制造能力,但此时的市场已经被摩尔定律碾压了好几轮。1986年,仿制Apple II的中华学习机面世,是我,可能也是今天许多中国计算机行业中坚与计算机的第一次接触。1984年的20年后,联想收购了IBM的PC业务。

1984年,传统科研体制内的各大学仍然坚持基础软件研究。北京大学正在研究中文激光照排技术,南京大学研究程序语言和分布式系统,人民大学研究数据库,这些大学在各自研究领域的优势持续到了今天。但象牙塔外,进口盗版软件风靡市场。”Minicomputers in China” 记录了一个故事,一个美国人去一个计算机培训班授课,发现来听课的人的预期竟然是学习编程语言,然后回去在微机上自己写软件算题目,美国人只是淡淡地向他们展示了VisCalc等软件——”they love it”, 这可能是他们第一次接触到「用户软件」这个概念,他们无疑被立刻征服了。

产业革命的战场不仅在清华的无尘试验室,还在那个上海郊区的前门窗把手厂。在前门窗把手厂所暗示的工业发展水平,人才素质和社会信息需求之下,我不知道当时的中国计算机产业能有什么选择。

美国人历次来访,都不会看到远在湖南国防科技大学里紧锣密鼓发展的银河超级计算机。银河一型于1983年通过验收,性能达到每秒亿级,银河一号不采用集成CPU芯片而是使用大量的电路板和令人头皮发麻的巨量接线,宣传文案里还有「全机600多块插件板,每块板上有三四千个焊点,创造了200多万个焊点无一虚焊的奇迹」等字句——谁也别笑谁,CRAY-1也一样。几年之后,西方芯片科技一日千里,而目标性能每秒十亿级银河二号已面临无芯可用的窘境,项目组在架构和工艺上下功夫堆出了符合要求的机器;同期面向市场的曙光一号则基于Motorola芯片构建。2013年,国防科技大学的天河-2以绝对优势登顶TOP500; 2016年,神威太湖之光采用了基于DEC Alpha架构自行发展的计算芯片,但仍然不能自己流片。

从1972年到1980年的多次访问,美国科学家都给他们的中国同行很高的评价。他们聪明好学,眼界开阔,在极度受限的条件下完成了高质量的工作,对技术借鉴乃至仿制也磊落大方。1978年的报告中,作者摘录了他们的一些提问,从这些问题可以看出他们的眼界和抱负。这些43年前的前辈的问题,不知现在是否都已有了答案: