彭澄廉
一、从 “719”到 “753”
719 计算机诞生于 20 世纪七十年代,可以说是在 “自力更生,洋为中用” 的指导思想下完成的。那时的知识分子经历了文革长时间的折腾后,急于想在业务上施展一番。我非常珍惜参加 719 计算机的研制机会,这也是我的计算机生涯中第一项比较独立承担的科研任务,具体任务是负责研制计算机外围的外围——供电和稳压电源系统,即 719 机变频电机配电,以及各档稳压电源的设计制作。
因我当时是数学系的教师,对于半导体电路不甚了了,所以深入到合作厂电源车间边干边学。初始难免出点洋相,甚至电器事故,成为师傅门的谈资笑料。后通过学习与实践,我设计了 719 机变频电机配电控制、各挡稳压电源的电路及其安全控制系统。719 计算机在复旦的科学研究和计算机教学中发挥了很大作用。当时的学校领导和著名教授也经常带领外宾来参观。
随着时代的进步和科技的发展,使用光电纸带输入机的 719 计算机逐渐显得落后了。上个世纪七十年代中期,学校领导决定研制先进的 FD-753 计算机。FD-753 计算机名称中的 “FD”, 是复旦的拼音首字母,“753” 的含义是:该项课题的立项时间为 1975 年 3 月。当时北大与石油部门结合起来正在研制百万次的 150 计算机。而复旦一帮搞计算机的同志也雄心勃勃,决心研制出先进的 753 计算机,大有要超越的意思。各位参加研制的老师都花费了大量心血。
FD-753 造机组的总体组的老师们魄力十足,打算把国际上硬软件最先进的部分技术体现在设计方案中,其中也包括可靠性技术。当时的大型机系统硬软件的调试、使用和维护的可靠性问题十分突出,因为器件设备和工艺的可靠性普遍不太高,一旦出现故障,排除它太依赖于设计经验,以致相当长时间的机器维护也会拖累着各部件的设计师。而即使是设计师,也很难在短时间内定位故障。所以 753 造机组的总体组打算搞一个基于逻辑的整机诊断测试方案,以区别于 719 机的基于功能的诊断程序。其思想与当时国际上的先进的可靠性设计技术是同步的。而首先要攻克的是逻辑插件自动测试,作为诊断系统中的一项关键任务,交给我负责研发。
二、测试生成算法
一块插件,有几十片中小规模集成电路互联,要人工测试它,即使是熟练的逻辑设计师也是很困难的,比如要证明插件无故障,人工很难保证无遗漏、无差错地进行了完整测试。国际上在二十世纪 60 年代后期至 70 年代中期,开展了逻辑测试码的自动生成算法的研究,产生了 D 算法,布尔差分等算法。我那时读了很多国内外的文章,真正体会到 “大部分理论文章都是对解决问题没用的” 这句话。那时,中科院计算所的魏道正研究员,利用布尔差分法,与上海计算机厂合作,搞了一个插件测试系统。布尔差分法是一个解布尔方程求完全解的方法,但稍微大一点的电路计算,就会造成计算溢出。所以不得不在每步计算后丢掉一些局部解。但后面可能发现正是丢掉的局部解才有用,又不得不捡回来,运行效率不是很高。根据当时国外经验,D 算法应用更普遍,它是路径搜索算法,但也有路径分支试探回退问题。原始文章发表在 IEEE Tans. On Computer 1966 年和 1967 年。所幸我校物理系资料室保留了这些完整的外文资料。在灰尘覆盖的这些期刊中我发现了一个用 APL 语言写的 D 算法程序,我决定学习并掌握 D 算法。APL 算法语言是一个很精致浓缩的语言,用了许多希腊字母表示不同的矢量化计算。开始那程序很难读懂,因为缺乏 APL 语言完整的介绍资料。实际上该语言也只是在我国期刊上有些介绍性文章。我半理解半猜地画出了程序框图,然后用 ALGOL 语言编制了 719 机上运行的 D 算法程序,通过调试改正了很多错误,形成了一个对于组合逻辑的测试程序。后来又根据国外经验加了随机数测试码和并行故障模拟程序模块,运行证明可以解决 753 机和 719 机组合逻辑插件的测试码生成问题。
三、时序逻辑的可测试设计及测试系统
由于同步时序逻辑可看成是迭接的组合逻辑,参与诊断系统工作的袁雨飞老师和总体组的徐研人老师、曹邦伟老师以及朱传琪老师提出把时序反馈线通过插件插脚绕行,这样插件上就切断反馈线,近似为组合逻辑了。总体组把时序电路插件逐一按此进行了修改,这是整机可测试设计的重要一步。
袁雨飞老师和青年教师赵子正参加了测试系统的研制,大大加快了系统研制速度,袁老师当时已是相当有经验的控制计算机设计师,他设计的线切割计算机在全国都有影响。他设计制作了由 DJS130 小型计算机控制的插件测试台及其控制程序。我们约定了编制故障定位字典的移位加算法,并证明了其故障区分率达 99.99%。该定位技术后来被银河一号计算机采用。赵子正老师则将测试算法,故障模拟,以及故障定位字典等功能,最终包装成实际有效应用的程序。
图 1 彭澄廉与赵子正在实验室工作
该自动测试系统恰在逻辑插件已制成、机架正在布线阶段完成。在机架完成布线前,753 的插件已普遍测试了 3 遍,如果插件无故障,测试时间几乎就是拔插的时间,如果有故障也可通过故障字典快速定位。保证了上架时插件是合格的。有一部分 719 机的插件也可自动测试。
FD-753 逻辑插件自动测试系统于 1979 年在复旦由上海市高教局主持了鉴定会,中科院计算所和华东计算所,华北计算所,国防科大等国内 28 个单位组成鉴定组,肯定了该成果的先进性和有效性。这是国内第二个自主完成的逻辑插件自动测试系统,后来获复旦科技成果 2 等奖。80 年代初,国家和世界银行资助邀请外宾来华讲学,我提名邀请的美南加州大学的布鲁尔教授是逻辑测试专家,他给予该测试系统以很高的评价。
图 2 逻辑测试专家布鲁尔教授来访,后右 1 为鲍振东,后右 3 起为何永保、布鲁尔、唐璞山、曹邦伟、彭澄廉;前右 2 为袁雨飞,前左 1 为许时明、前左 2 为夏根女。
四、后记
我通过参加研制复旦 753 逻辑插件自动测试系统,以及参加设计计算机等活动,在三个学术方向上积累了学术经验和人脉:1,计算机系统结构;2,计算机可靠性设计;3,计算机设计自动化(数字系统的计算机辅助设计)。这后来成为我教学科研的基础,成为我能在较为广泛的领域内拓展国防预研项目的基础。
FD-753 计算机的设计思想、研制理念和方法在当时还是很先进的,研制过程本身对研究生的培养和计算机教学工作乃至计算机科学系的建立和发展都有着很大的促进作用。753 机的研制成员在实际研制工作中都得到了很大的锻炼与提高,他们后来在改革开放的浪潮中,各自在国内外有着不俗的表现。
(彭澄廉供稿于 2015 年 2 月)