您的位置:首页 > 计算机历史 > 动态

一生就是做了那么几台机器 ——访计算机专家、中国科学院院士周兴铭

阅读量:210
王颖

编者按 :周兴铭,中国科学院院士,计算机组织与系统结构专家。他曾主持或参与我国早期多台 计算机型号项目的研制工作,任我国首台十亿次巨型计算机“银河- II”的总设计师,是我国自主研制 计算机系统和巨型计算机系统的重要开拓者之一。2015 年,为表彰周兴铭院士为我国自主研制计算机和超级计算机系统所做出的杰出贡献,CCF 授予他“CCF 终身成就奖”。2019 年 9 月,CCF“记录计算机历史”小组到上海采访了周院士。

 

问:周院士,请介绍一下您最早参与研制计算机的情况吧。

周兴铭:1956年8月,我考入哈尔滨军事工程学院(以下简称“哈军工”),成为该校第5期学员。1958年,哈军工成功研制出我国首台电子管军用专用数字计算机——331机,它是以慈云桂、柳克俊为首的电子计算机研制组完成的,该研制组是我国自主研制计算机最早的团队之一。当时,我作为学员参与了331机鱼雷射击程序的编写,受到了科研工作的初步洗礼,对计算机产生了浓厚的兴趣。1960年8月,我被选拔提前毕业留校工作。留校后,我参加了慈云桂、柳克俊在哈军工举办的全军第一个计算机专业学习班——57323班,接受电子电路、计算机原理等方面的专业培训。60年代的时候,国外已经开始用晶体管研制计算机了,哈军工计算机的研制也开始由电子管向晶体管转变。

12-11 ???.jpg

1961年3月,国防科委给哈军工正式下达研制第二代鱼雷快艇指挥仪——901晶体管计算机的任务。研制工作由柳克俊领导,根据他的安排,我进入了901晶体管计算机研制队伍,并承担系统设计和系统调试的任务,在数字电路抗干扰设计、系统逻辑设计、整机调试上做了一点贡献。那时,我国的晶体管研制刚刚起步,生产的锗晶体管质量不太好,我们拿到的国产晶体管的管脚常常是摇晃的,而且不耐高温。国内计算机界都认为国产晶体管不能做计算机,但我们坚持认为,研制901晶体管计算机就要用国产的晶体管。我们想了很多办法筛选晶体管,所有晶体管在使用前,都要先放到高温箱里烤,烤上几天几夜再拿出来测,没变化的可以用,有变化的坚决不用。我们用笨办法解决了问题,最后901晶体管计算机也研制成功了,而且应用得很好。

1963年初,901晶体管计算机完成实验样机,运算速度为每秒2000次,系统运行稳定可靠,能够在恶劣的海况下无误地工作。901晶体管计算机是我主要参与研制的第一台计算机,后来批量生产,成功装备在我国的鱼雷快艇上,成为我国第一代自主研制的电子数字指挥仪。

 

问:接下来,您又参加了哪些计算机型号的任务研制呢?

周兴铭:1965年,国防科委和海军决定建造排水量为350吨级的轻型潜艇,需要在潜艇上装配一台鱼雷射击指挥仪,代号030。1966年,哈军工成立了030潜艇鱼雷射击指挥仪计算机研制组,组长为陈亚希,副组长由金士尧和我担任。为保证符合海军的要求,我们大胆决定在国内率先采用集成电路技术研制这台030机。当时,硅集成电路在国外刚出现不久,国产集成电路技术尚处于初级探索阶段。根据任务分工,我具体负责030机的总体方案和集成电路设计。我到海军部队反复调研,对机器的性能、指标、大小以及形状完成了比较理想的设计。为了完成集成电路设计任务,我与同事们提出将多个输入二极管用在功率晶体管集电极上的设计思路,定型一套高抗干扰的DTL(二极管-三极管逻辑)电路,大大降低了制造难度,最后成功应用于工程研制。后来“文革”开始,陈亚希被“打倒”,我也被“隔离审查”,030机后期的研制工作主要由金士尧具体负责,他带领团队完成得很好。1968年,030潜艇数字指挥仪计算机研制成功,这是我国自主研制的最早的集成电路计算机之一。

12-11 ??? ????.jpg

60年代末,国外开始应用每秒百万次运算的大型计算机。1969年,慈云桂刚从“牛棚”被放出来,就向国防科委主动请缨研制百万次级的151通用大型计算机。我从“五七”干校被“解放”出来,有幸被慈云桂推荐进入151机的运算控制分系统研制组。我和同事设计了一套肖特基二极管抗饱和的高速TTL(晶体管-晶体管逻辑)电路,由中国科学院109厂生产,批量生产达到门延时6~8ns的水平,后来被定型为国家标准电路。为确保计算机的速度,必须要有高主频和高性能体系结构设计。我设计了全套指令的操作表及其实现的控制逻辑,解决了串并行快速乘法金字塔树的结构与符号处理,改进了国外有关文献的快速除法方案,实现了跳0跳1的快速除法方案,这些都是关键技术。调试运控分系统时,我首次运用调试诊断程序来调机,这种方法对加快系统调试、发现并解决睡眠和干扰等问题起到了很好的作用。1970年,哈军工主体从哈尔滨迁往长沙,更名为长沙工学院,教学、科研、生产、生活条件都非常艰苦,大家在离市区6公里开外的马坡岭湖南省农机学校的简陋楼舍里,夜以继日地继续开展151机研制工作。1978年8月,151-IV双机系统研制成功,装备于“远望一号”远洋测量船上用作中心计算机,在我国向南太平洋预定海域发射洲际运载火箭、潜艇的水下发射和同步卫星发射等一系列科学试验中,发挥了极其重要的作用。

 

问:在我国首台亿次巨型计算机银河-I,以及银河仿真计算机研制中,您又承担了怎样的任务?

周兴铭:70年代初,国外出现一类计算机,被称为超级计算机或巨型计算机,具有巨大的数值计算能力和数据处理能力,能承担普通个人计算机和服务器不能完成的大型复杂科学技术课题,对国民经济发展及国防建设意义重大。邓小平同志高瞻远瞩、亲自决策,把研制中国巨型计算机的任务交给了我们,这台机器就是后来定名为“银河-I”的亿次巨型机。1978年长沙工学院重归军队序列,更名为国防科学技术大学,慈云桂担任银河-I的总设计师,我被任命为主机系统(除主存外)的研制负责人。我和同事们精心设计了12条向量化流水线和强有力的向量寄存器,采用双向量阵列技术,主机系统能稳定可靠地工作在20 MHz的高主频下,并有相当大的余量。我提出了一整套用微机程序加一个简易控制面板的调试主机方法,做到了几乎不用电表、示波器就能高质量地完成主机调试;我还设计了一整套监测系统,使机器正常工作时,主机硬件95%以上覆盖面的任一偶发故障都能自动捕捉到并大体定位,大大提高了机器的可靠性,简化了诊断系统的软件设计。1983年12月,银河-I亿次机研制成功,填补了国内巨型机的空白,使我国成为继美国、日本等国之后,世界上少数几个成功研制巨型计算机的国家之一。该成果在1984年荣获中央军委国防科技成果特等奖。

70年代末,国外出现了全数字仿真机,但我国仿真界还停留在小规模模拟机的水平。1982年,银河-I基本成功,国防科工委提出用银河亿次机的工艺技术来做全数字仿真机。经当时国防科技大学计算机系兼研究所副主任胡守仁的推荐,我先是担任工程组长,后来成为银河仿I全数字仿真计算机研制的总负责人。我为该机设计了异构同步多处理机的总体方案,解决了主控接口方案、接口设计、调试诊断、可靠性等一系列关键技术,峰值速度可达每秒1.7 亿次,可连接复杂的控制系统,其高速高能力可实现大型实时仿真。1985年秋,银河仿I全数字仿真计算机研制成功,填补了我国仿真界的空白,开创了我国仿真技术的新局面,在我国航天、国防等领域得到了广泛应用,并在1988年获国家科技进步一等奖。

 

问:请详细讲讲您担任银河-II十亿次并行巨型计算机总设计师的精彩历程吧。

周兴铭:我国第一台巨型机银河-I的诞生震惊了海内外,为我国及我军的建设做出了重大贡献。1986年,大家深感计算机技术发展飞快,需求提高得也很快,我们要继续创新,应该尽快研制银河-II。

机会终于来了。国家气象局向中央报告,要创建数值中期天气预报系统,需要每秒10亿次级的巨型机。得知消息后,我们立即向中央写报告,明确我们能研制10亿次级的计算机,并初步提出技术方案和论证材料。我们的方案得到了中央主要领导的肯定,决定国家所需的10亿次级计算机要立足国内自己干。

银河-II要求计算速度达10亿次/秒,是银河-I的10倍,在当时的条件下,确实是万分艰难的。当时,国际上还没有可用于科学计算的高性能64位微处理器,只能用市场上流通的中/小规模通用集成电路,自己设计制作银河-II机,而能买到的元器件的速度只比银河-I上的元器件快2.5倍。银河-II的总体指标要比银河-I快10倍,就不得不在体系结构、组装工艺、软件技术、设计技术等方面提出比银河-I高得多、难得多的要求。

为了迎接这一场恶战,国防科大成立了由校长张良起、政委汪浩为首的银河-II专项领导小组。计算机研究所所长陈福接任总指挥,我任总设计师。我们调兵遣将,任命一批优秀技术骨干担任主任设计师、项目主管设计师,全系(所)的主要力量基本上都充分动员起来了。

?12-11 ?3 ???????.jpg

银河-I是向量机,主频20 MHz,银河-II的元器件速度只比银河-I快2.5倍,主频只能提高到50兆赫,怎么能做到银河-II的总体速度比银河-I快10倍呢?出路只有一条:在向量机的基础上使用并行技术。我提出4个中央处理器(CPU)并行协同工作的并行巨型机总体方案,这在技术方面上了一个新台阶,是当时条件下的最佳方案,也是当时国际上最先进的水平,但给硬件/软件的设计、调试都增加了很大困难。

为了保证50 MHz,4 CPU并行机必须组装在尽可能小的空间里(体积只允许比银河-I机稍大点),所以必须在组装密度上下功夫。银河-I的一块插件最多只能装110块集成电路,而银河-II要求装330块。330块电路要互连,印制电路板从银河-I的7层增加到银河-II的14层,孔径从2.54mm缩小为1.27mm。元器件从单面插装改为两面安装,插件焊接也因此必须上表面焊。机柜底板也比银河-I的版面/层数大大增加。而由于银河-II的总经费低于银河-I,没有钱去买(当时也买不来)先进的设计工具和生产设备,这样大的工艺、制造难度只能靠我们自己拼搏解决了。

银河-I的插件布局布线设计,我们靠的是人海战术:50名战士、50名知青在科研人员的指导下按传统方法人工干。一块复杂的插件常常几度反复几个月,许多人的眼睛都累坏了。银河-II插件密度、物理规模大增,而传输延时又大大降低,再靠人工干是不可能的了,必须有计算机辅助设计工具。怎么办?自己干!这是项难度极高、工作量极大的任务。经过几年的努力,终于在进行银河-II机的插件布局布线设计时有了切合我们实际需求的一套CAD工具。即便如此,银河-II机的设计工作仍是极其艰难的,约50种插件的设计,以系统逻辑设计人员为主做人工全局划分和插件布局,然后再用CAD布局插件,并核算传输时延及规划。不达要求就人工重新布局,一遍又一遍。实在达不到要求,就退回全局划分,重新再来。每一步、每一次反复都意味着巨大的体力、脑力的付出。日夜奋战一年多才把银河-II机的插件布局布线设计攻克下来,此中酸甜苦辣只有亲自经历过的人才知道。

在硬件设计、生产的同时,银河-II机的软件设计也全面、紧张地开展。4 CPU并行向量机是新的结构,软件也要相应地突破许多新技术。首先是操作系统,虽然有银河-I为基础,但结构变化大,引入了多CPU、双IOS、TSS(磁带子系统)等许多新概念、新技术,全部操作系统重新构架,源代码全部重新编写、编译。无论是汇编语言、FORTRAN语言,还是工具软件、并行库软件等,全部需要重新做。银河-II所需的系统软件共有109万行代码,全部由我们自主设计、一行行地编写,并顺利完成。

1990年9月27日,银河-II的一个小系统建立起来,开始了系统调试。首先调试硬件、系统软件,然后调试扩大系统,再调硬件,最后调试全系统软件,这样争取到了更多调试时间,加快了总进度。调试是一场大战、恶战、持久战。银河-II的主频比银河-I快2.5倍,CPU由1个变4个,内存大了16倍,I/O也快了10倍,DSS、TSS、FEC、MCU、高速LAN……面对这样一个庞大复杂的系统,软硬件全部自主设计的新家伙,各个环节设计余量又均很小,调试难度不言而喻。饭要一口口地吃,硬、软件也要一步一个脚印地调。各种系统的问题一出现,首先是让它能复现(十分困难),然后才是分析原因,找出解决问题的办法,最后试验方法是否有效。全体软硬件设计人员,昼夜轮流上阵,发现问题随叫随到,调试观察,不放过任何一个问题,哪怕只是昙花一现的,都要坚持跟踪解决。这一阶段是漫长的人和机器的对抗,考技术、磨意志和拼耐力。历时两年,全系统硬/软件才全部调试成功。

在硬/软件系统调试过程中,另一条战线的战斗也在艰苦紧张地进行,这就是应用软件。各种应用专题要适应银河-II并行向量机的特点,都要重新设计、调试。特别是国家气象局的中期天气预报程序(T63L15),是一个通过国际合作改进的单机程序,按合同必须在银河-II上用1100秒墙上时间(wall time)完成计算。一场艰苦的攻坚战历时两年,从消化读懂外来程序开始,然后分析研究,找准关键,做向量化、并行化的改造,充分发挥银河-II硬件结构的优势,保证计算正确,且速度大幅度加快。银河-II的潜力被一点点挖掘出来,墙上时间不断缩短,最终只用了413秒完成计算,比合同要求的缩短了一半多。用户满意了,银河-II的品牌也成功打出去了。

在银河-II的研制中,我们还用了许多其他新技术,如容错诊断调试新技术、高速网络接口技术、磁带子系统、双IOS、高性能磁盘子系统、分布容错主机供电、大功率强迫风冷……都取得了成功。

研制银河-II的总经费是购机合同款3100万元,要用买一台机器的钱研制一台新机器,困难是极大的。国防科工委给了点补贴,但很少。我们只能精打细算,掰着手指头花钱。买元器件时密切关注市场行情,等待价格低时再买;买设备也货比三家。CAD不买了,由我们自己研制,生产设备只购买非常必要的。就这样,我们用采购一台机器的钱做了一个大系统(交付用户)和一个小系统(预先调机)。银河-II在国防科工委领导的特许下,允许将总经费的2%以内的钱用于改善科研人员的生活。近500人的队伍干了5年,3100万的2%才62万元,可做的事情确实是有限的。加班到深夜或彻夜奋战的人可以吃一顿夜餐饺子,年底发很少的一点生活补贴,仅此而已。但大家都没有计较报酬待遇,个个意气风发,艰苦拼搏,不做好工作誓不罢休,涌现出了很多可歌可泣的故事。

1992年8月,银河-II全系统全部完成,迎来了丰收的金秋。10月21日,银河-II国家鉴定正式揭幕,来自全国的100余位同行专家被分成8个小组对18项技术逐一深入鉴定,历时一个月。我们详细、实事求是地汇报了我们的工作,同行专家都非常振奋,给予了高度评价,许多鉴定结论被他们一再升调。最终的结论是:“银河-II是我国第一台10亿次/秒面向科学/工程计算的并行巨型机,总体上达到了80年代中后期国际水平;有20项技术创新,达国内领先,并全面上了一个新台阶。” 银河-II上的CPU是最早的我国自己设计研究成功的64位高性能处理器,银河-II操作系统是最早的我国自己设计并成功运行的大型操作系统。外国人能做到的,我们中国人也可以做到。

银河-II后来用于国家气象局做中期数值天气预报,得到世界气象组织的肯定和高度评价,为国家争得了荣誉。银河-II被评为1992年度中国十大科技成就之首,连续两年进入国务院政府工作报告。国防科大计算机研究所被中央军委授予“科技攻关先锋”荣誉称号。

 

问:您参与及主持研制过的6台计算机是中国计算机发展各个阶段中的典型代表,一台比一台性能高、表现好,请问您的个人能力和科研经验对研制这些机器有怎样的帮助呢?

周兴铭:我一生就是做了那么几台机器,还是和大家一起做的。计算机非常复杂,内部原理看不见摸不着,一个大型软件的变量可能有上百万个,代码就有上百万行,出现一个错误都不行。计算机的设计、调试,都需要科研人员具备很强的逻辑思维能力,计算机要能在脑子里“跑起来”,一旦出现问题就能马上意识到可能是哪里出错了。我个人的特点是从小数理化学得比较轻松,特别是数学,逻辑推理能力强,而要背诵的东西(学科)就不太行。因此,逻辑思维能力强这一点对我的工作很有帮助。我还有一个特点,就是在工作中与大家坦诚交流,与任何人都是无私交往。在技术上,我能想到的办法,都会告诉同事们。并且,在组织团队中充分发挥他人的长处,集智攻关。我认为这是作为总设计师最基本的素质。慈云桂当年负责银河-I机时,就是充分听取大家的意见,最后做成的机器性能非常高。我也是这样。

 

问:银河-II研制成功后您传递了交接棒,让更年轻一辈挑起后续银河机的担子,您怎么评价这支锻炼成长起来的巨型机研制团队?

周兴铭:我们这个团队有良好的传统和作风,并且被很好地继承了下来。具体来说就是勇于攀高峰,要有志气,敢于挑战最先进的技术,还要谦虚、实事求是。我在银河-II和银河仿真机做鉴定时写评价报告,同行专家说我给的评价太低了,我说我们是实实在在地攻关,要把事情做到最好。这是非常重要的品质,这就是银河精神,胸怀祖国,团结协作,志在高峰,奋勇拼搏。后来的年轻人做得更好,银河-III以及后续银河系列机、天河一号、天河二号等,拿到了世界第一,为中国人争了光。

 

问:中国超级计算机实现了从零的突破到世界之巅。当前在该领域竞争日趋白热化和中美贸易摩擦背景下,我们应该有怎样的思考?

周兴铭:历史和现实告诉我们——无论什么时候,核心关键技术是买不来的。我们要通过银河巨型机的研制历程,走自力更生、自主创新的路子。虽然现在美国打压我们,但科学知识是封锁不了的。我们总能有办法学习到先进的技术。所以我们应该取其精华,去其糟粕,坚持走中国特色的自主创新之路。


读完这篇文章后,您心情如何?

讲者介绍

王颖

  • CCF专业会员
  • 中科院计算所助理研究员
  • 研究方向:高能效集成电路与体系结构、存储器与片上互联、机器学习加速等