周天爵
一、交大 441-B 编译系统联合研制项目(1966.2—1966.6)
我于 1960 年 5 月提前被选送入复旦大学数学系数训班学习,这是由当时上海市委批准,复旦杨西光书记和苏步青副校长主导,从上海各中学选送近百人,实施该教育培训计划,为期 4 年半。在 1965 年 1 月,我毕业于泛函分析和计算数学专业,留在系里计算数学教研组工作。但先要被安排去工厂农村劳动锻炼 1 年。1965.2—1965.7 在江南造船厂修船车间劳动,参加波兰的贝尔尼奥夫斯基号游船维修工作;1965.7—1966.1 参加工作组在上海县农村梅陇镇、朱行镇等地投入 “四清” 工作。春节前突然匆忙结束,都被召回学校。
交大联合项目是我毕业工作后的第一个科研项目,这是在 1966.2 春节寒假后开始的。复旦数学系计算数学教研组指派方锦城、陈金海和我 3 人去上海交通大学计算机实验室参加联合研制,为 441-B 计算机研发 ALGOL-60 程序语言的编译系统软件。
当时交大的实验室主任张吉锋老师为联合负责人,参加的还有交大的几位中青年老师、西军电学院年青老师和海军基地部队技术员等,住交大招待所。临走前在复旦工会大楼 2 楼,复旦数学系总支副书记李明忠老师还特地找我们,并再三关照说,复旦年青教师出去,专业不太担心,但一定要谦虚谨慎!怕冒业务优越感,有点意外。
在工作中,我们合作并艰辛地进行了近 4 个月,发挥了良好主体作用。但只是仅完成了总体方案和前导的词法分析、语法检查、语义翻译等部分工作。在闲聊时,从部队同事那里已隐隐约约听到了一些 “山雨欲来风满楼” 的消息,十分惊讶。果然到 6 月初,文革就突然爆发了,一切来不及思考,我们立即被匆忙召回复旦参加运动了。
从此也想不到,一切正常的工作完全停止了。我亲历中的教学科研正常工作至少停止了近 3 年,直到 69 年春天 “九大” 后,才稍微有点变化,可以有工作做了。
二、国家 507 工程联合研制项目(1969.5—1970.1)
在 1969 年 5 月受学校和系里指派,丁言功、孙莱祥和我共 3 人代表复旦赴上海光学仪器厂,参加国家 507 工程联合项目,研制某自动化军工装备武器。而参加的还有光学厂、光机所和小三线基地厂所的技术人员们。我们 3 人中,丁、孙负责数学模型的建模设计,我负责计算方法和程序设计,工厂人员负责制造试验。
我们在工作中,合作气氛很融洽,大家很团结很协调。运用数学原理和方法,我们最终列出了一组复杂的抛物线微分方程,我用差分和插值等计算方法,编制好了程序设计代码。然后就多次往返到淮海路高安路的上海计算机中心去上机,当时上海的 709 计算机就座落在那里的花园别墅中。记得接待我们的人总是一位老宁波先生,又叫李明忠,总是用一口浓浓的宁波话,先要问账号多少?被外人笑称为 “账号老宁波”,那时这样重视经济效益,我们感觉很新鲜。
经过反复的计算机精密计算,我们就一起深入到精密车间加工制造,然后再测试实验,终于竟然如此顺利地成功了,心灵震撼,如此精准!后来在他们迎接国庆 20 周年的全厂庆祝大会刚开始时,多次广播,请复旦大学的老师也上主席台!我们这些年青教师,既感到意外,也在情理之中。
厂里越来越信任我们,光机所的技术人员当时就很重视新的计算机应用,多次邀请我去上课,介绍计算机原理、程序设计语言和编译系统原理,作为最早的计算机启蒙和推广,我也首次在校外作了科学技术报告。
到 1969 年深秋,隐隐约约又感到了形势的紧张,内地多有战备疏散。而我们 3 人还曾经商量过,在厂的协作怎么办?又一次感到了茫然......。到年底我们又一次被召回了学校。
三、国家 701 工程联合研制项目(1970.3—1971.1)
在 1970.3 我和倪重匡老师受系里指派,去上海无线电 13 厂参加国家 701 工程,联合研制人造卫星地面站计算机系统,有部队基地同志,工厂技术人员等,一切很保密。开始,我们在软件组工作,负责抓紧编制各种测试和检查程序,穿孔成纸带。后来发现大学只有复旦参加,可能当时很重视复旦的数学和计算机软件优势,但当时我们根本不知道为了什么而研制,也不该多问。
在经过了多次编码反复检查后,到计算机系统调试时,最后上机程序竟然都一次通过!总体组同志也感到惊奇,预留进度可大大加快了。其实我们在事前已不知经过了多少次逻辑和代码的自我追查。不久以后,听到了相关卫星上天的乐曲和消息,才隐隐约约地感知到它的意义与有关猜测。
软件任务完成后,我们投入了升级版本的 701 计算机的硬件系统联合设计,主要是中央处理机设计,开始了新的艰苦历程。虽然艰辛,但在这期间,团结融洽,我们也学到了许多东西,例如,实时中断系统、人机交互机制、维持阻塞技术,甚至乐曲播放等。任务完成得很好,厂里也很信任我们,我们那时也年青,就多干一些多学一点。但当时根本想不到,也会对学校以后的工作发挥了重要作用。
到了 1971 年 1 月,系里通知我,轮换我准备去我校奉贤干校劳动锻炼,于是我结束回家,准备去海边的复旦干校劳动学习。
到 1971 年 7 月,又有一个惊人消息,基辛格秘密访问中国,中国邀请尼克松来访。在 8 月的一天,上午还在下田插秧干活,中午已见到大批老师来干校轮换我们了。
四、复旦 719 计算机系统研制项目(1971.9—1973.4)
我在 1971 年秋被召回到学校数学系造机组,投入 719 计算机研制,设计中央处理机。我们运控组先后还有王世业、顾芝祥、陈志刚、潘锦平、吴立鹏、邹悦等老师。造机组负责人是王世业老师,科研经费和研制费用达 70 万元。
当时,组内充满了团结和协作的气氛,很自然地,我也将之前所学东西融入进来。记得深的至少有 3 点:(1) 我们优化了指令系统,如取整、取址等,为以后加快运算编译速度留下坚实硬件基础;(2) 引入了控制台中断等人机交互机制,新管理控制理念;(3) 强化了机器逻辑稳定性,如增加改用 “双向维持阻塞” 技术等。
记得对取整指令等的准确含义,学校里编译组施老师等多次来电话到厂里,与我讨论确认。取整与取址指令的特殊实现,确实为以后的编译系统和应用程序起的加快和精简起了特殊作用;而引入控制台中断等,更为以后多级中断、多道程序起了现代管理控制的基础作用。
记得有一天,有个逻辑问题迟迟未解决,我晚上 11 点最后的班车回市区家里睡觉,但已预感将是最后的难点,故第二天早晨 6 点就又赶到学校,后来果然查出了最后的逻辑问题,改为双向维持阻塞,立即一通百通!
双向维持阻塞技术使元器件在临界态期间,不但要 “正向维持” 条件成立以保证设置成功,而且还要 “反向阻塞” 因设置改变带来的条件破坏,真正靠逻辑的完备性带来了物理的稳定性,从而检查解决了许多难找的隐藏很深的逻辑问题,使以后的调试非常顺利。
我早早编制好各种检查程序、唱歌程序和演印程序。到 1972 年年底,经过全体人员的精心研制调试成功,当歌声响起,打印出演印结果时,我第一次感受到那种震撼,体现了科学的精准和团结的力量!正如当时吴立鹏老师所说的,科学规律 “你不服,也得服啊!”。说得相当有哲理,这是对我们艰辛设计与调试,靠逻辑理性来把握物理实际,进而达到科学精准境界的赞美。
719 计算机研制成功后,我在数学楼 602 教室向造机组全体老师介绍了指令系统,唱歌程序和演印程序原理;详细编写出《719 指令系统》资料,供全校老师学生上机;又编写出最新教材,以后在新成立的计算机系里首次开设了《计算机程序设计》课程。719 研制也为以后冲刺 753 研制打下了坚实的先行基础。
五、上海 NOVA 计算机联合研制项目(1973.5—1974.1)
在 1973.4 结束了复旦 719 计算机研制项目以后,我参加了我系对国内南方各主要大学教改科研的调查考察和学习,为期 1 个月。由当时数学系革委会主任罗文化老师带队,参加的有计算方法组蒋尔雄老师,程序设计组方锦城老师,和造机组的我等 4 人。先后共访问了南京大学、武汉大学、长沙工学院和浙江大学等,调查学习了他们的计算数学和计算程序的教改科研情况,受到他们的热情接待。在长沙,陈火旺夫妇还亲自在家里热情招待了我们。在武汉,抽空我还陪方锦城老同学去武昌区,一起帮助寻找和访问了他的亲戚家。这次调查研究获得了许多新学科酝酿的启发,我们于 5 月初回到了学校。
于是在 1973 年 5 月我受指派,立即去上海无线电十三厂,参加了上海 NOVA 计算机系统软件的联合开发。当时的计算数学教研组支部书记薛国良老师带队负责,参加的还有 13 厂技术员,软件所、科大、工大老师等。分成 NOVA 的编译系统和操作系统等两大组同时开发,读取资料代码,消化吸收和进行开发。开发任务进展得很仔细,很顺利。
在开发过程中,我详细地学习了国外中小型计算机的操作系统原理结构。当时没有想到,它能为以后开发大型操作系统软件打下了基础。直到 1973 年年底,我奉学校的指令,立即交接工作,春节以后准备去北京国防科工委 15 所,要投入参加国家系列 DJS-260 大型计算机系统联合设计研制工作。我既感到惊讶,又感到责任重大.....。
第六、第七部分请见 “回顾建系前后我亲历的科研历程(下)”:
(六)国家 DJS-260 计算机系统联合研制项目(1974.3—1975.1)
(七)复旦 753 计算机系统研制项目(1975.3—1983.4)
周天爵编写于 2016 年 4 月