北京的春天,风沙伴着杨絮,漫天飞舞。
4月28日一早,吕辰骑着车往中科院计算所赶,今天是星河计划的全体会议。
车轮碾过,发出轻微的沙沙声。
他把车骑得飞快,赶到计算所的时候,已经八点半。
把车停好,掏出证件递给卫兵检查,进入计算所方正、敦实的主楼,顺着走廊往里走。
会议室在二楼,推开门的一瞬,他心里微微一惊。
百十平米的房间塞得满满当当,长条桌摆成回字形,桌边坐着的人一个挨一个,后面靠墙还站着一排。
桌上摊着图纸、笔记本、搪瓷缸子,烟雾缭绕,像一锅烧开的水。
红星所集成电路实验室的人坐在回字形靠里的位置。
宋颜教授面前放着一个木盒子,盒子里码着一摞图纸,谢凯坐在他后面,正低头翻着什么。
吕辰来到谢凯旁边坐下。
环视一圈,主席台只有一排,中间坐着首长,老神在在地靠在椅子上,手里转着一支烟,左右坐着刘星海教授、钱先生、王先生、夏先生等人。
其他三面,理论组、材料组、化学组、机械组、光刻组、存储组……,二十七个水牌一个不少,各组代表全部到齐。
每个人都坐得笔直,面前放着一个军绿色的文件夹。
除了这些水牌,还有第五、第六研究院、第二十一训练基地、卫星院的水牌。
后排坐着些穿军装的人,肩章上星星杠杠各不相同。
吕辰刚坐下不久,刘星海教授就开始敲桌子。
刘教授今天穿得正式,深灰色的中山装,扣子扣得整整齐齐。
他等会议室安静下来,拿出一个黑色的硬皮本,直接翻开。
“星河计划第三次全体会议,现在开始。”
他顿了顿,目光扫过在场的每一个人。
“借百工联席会议的时机,把大家留下来,一起开展昆仑工程的全系统技术协调与瓶颈攻坚。昆仑工程立项,到现在一年整。一年时间,各组都有进展,也都有问题。今天不唱赞歌,只谈困难。一个一个组过,把家底盘清楚,把问题摆出来,然后想办法。”
他合上本子,看向宋颜:“设计组,先说。”
宋颜站起来,打开木盒子,拿出一摞图纸,一张一张摊开在桌上。
“昆仑工程核心芯片组的设计进度,我汇报一下。”
他展示了一张简单的架构图,一个主控制核心,旁边连着七个方块,方块下面密密麻麻的线条。
“总体方案已经冻结。控制核心,代号KL-01,采用上次会议确定的‘双核心’冗余架构。一个主计算核,一个辅容错核。”
他指着纸上的那两个方块。
“主核负责取指令、译码、发射。辅核负责指令预取和结果校验。两个核跑同样的指令流,辅核的结果和主核比对,不一致就触发中断,重新执行。”
“设计团队正在用标准单元库绘制微程序控制器的逻辑图。目前完成了百分之七十。最大的难点在于:怎么让辅核在不拖慢主核的前提下,完成指令预取和校验。”
理论组的陈教授举手:“预取和校验,理论上会有延迟,这个延迟怎么处理?”
宋颜点点头:“我们做了两级缓冲。主核取指令的时候,辅核同时从指令缓存里预取下一条。主核执行的时候,辅核校验上一条。流水作业,理论上能把延迟消化掉。”
陈教授追问:“如果校验发现错误呢?已经执行完了。”
“触发中断,回滚。”宋颜说,“回滚到上一个校验点。这需要硬件支持,我们在微程序里设计了三个保存点。代价是芯片面积增加了15%。”
陈教授点点头,没再问。
宋颜继续往下讲:“运算核心两组,每组从KL-pE1到KL-pE7,七块并行运算板的核心芯片。支持单指令多数据的向量操作。”
他指着纸上的那七个方块:“设计组正在攻克加法器、乘法器的流水线并行难题。目前的进度是,定点运算部分已经完成逻辑设计。16位,加减乘除都能跑。”
他顿了顿,语气低下来:“浮点运算单元被暂时搁置了。”
“原因很简单:晶体管数量不够。一个浮点单元需要的门电路,是定点运算的三倍。我们的五微米工艺,做不出来。硬做,芯片面积太大,良率没法保证。”
“所以现在的方案是:硬件只做定点,浮点运算用软件模拟。”
他放下图纸:“因此我建议,由理论组牵头,编一个浮点运算子程序库。机器跑浮点的时候,调子程序,用整数运算拼出来。”
夏先生提问:“软件模拟浮点,速度能跟上吗?”
宋颜很坦白:“跟不上。慢一个数量级。但至少能让机器算浮点。等下一代两微米工艺出来,浮点单元就可以硬件化了。”
夏先生点点头,没再问。
宋颜又拿起一沓图纸,举起来让台下的人看。
“这是运算板的逻辑图。一块板子上,有四十到六十块不同功能的芯片。累加器、乘法器、寄存器堆、数据选择器、地址译码器……拼在一起,才能组成一个运算核心。”
他把图纸放下,声音沉下来:“这就是我们现在面临的最大困难——规模爆炸。”
他开始算账:“红星二号,用了四块芯片。昆仑机,要用上千块。从几十块到上千块,不是简单的数量增加,是复杂度的几何级数上升。”
他顿了顿,环顾四周,目光从一张张脸上扫过:“标准单元库刚建立不久,自动布局布线还在理论阶段。我们现在画版图,主要还是靠手。一个人画一块芯片,四十到六十个单元,画一个月。”
他伸出手指,在空气中点了点:“一千块芯片,那就意味着,八百三十三个人,不吃不喝,画上整整一个月。而且,这还不能画错一笔。”
台下有人轻轻吸了口气。
宋颜继续说:“电路仿真也跟不上。现在只能跑几个简单的输入组合,验证基本功能。复杂工况下的可靠性,电压波动、温度变化、信号串扰,没法仿真。只能靠流片,测试,改版。流一次片,两个月。改一次版,一个月。这个循环,太慢了。”
他把图纸放下:“设计组的汇报就这些。”
刘星海点点头,看向理论组的方向。
陈教授站起来,说话干脆,没有多余的字:“理论组汇报,昆仑向量计算机的指令集系统,初步定稿了。”
他展开细说:“基于双核心的构想,我们建立了冗余校验与数据预取的数学模型。理论上,只要辅核的速度不低于主核的百分之八十,校验延迟就能被流水作业消化。”
他从公文包里拿出一本册子,厚厚的一沓,蓝皮,上面印着几个字:《昆仑机逻辑设计原理手册》。
他把册子举起来:“这是理论组一年的成果。把单指令多数据的架构,细化为可操作的逻辑门级描述。设计组画图的时候,遇到不确定的地方,翻这本手册,就能找到答案。”
他把册子放在桌上,又拿出一张纸。
“还有一个问题——主核与辅核之间的数据竞争,理论上解决了。”他指着那张纸上的公式,“我们定义了一套握手机制,保证两个核在同一时刻不会同时写同一个寄存器。代价是牺牲了一点速度,但保证了正确性。”
众人听得频频点头。
陈教授汇报完,化学组汇报。
有机所的郑教授站起来,他说话慢条斯理,但内容扎实。
“段教授有事不能参会,委托我代表化学组汇报。上海试剂总厂联合感光所,已研发出环化橡胶-双叠氮体系负性光刻胶。实验室数据,分辨率达到两微米。”
台下有人轻轻吸了一口气。
郑教授点点头,确认这个数字的真实性,声音提高了一些:“进口胶的依赖问题,解决了。”
他顿了顿,又说:“超纯试剂也有进展。氢氟酸、硝酸缓冲液,完成金属氧化物半导体级制备。金属离子含量控制在十ppb以下。电子级丙酮、乙醇,也跑通了工艺。”
包康建教授代表机械组汇报,他直接宣布两个重大成果:“精密传动方面,磁悬浮分子泵原型机交付了。用在光刻机真空系统上,抽速达标,振动在允许范围内。”
“第二代光刻机的工作台,正在集成高频脉冲电机和压电陶瓷微位移器。实验室数据,有望实现零点一微米级的步进精度。”
零点一微米。吕辰在心里默默念了一遍这个数字——这可是硬碰硬磕出来的。两微米工艺,稳了。
陈光远代表光刻组发言,他开门见山:“6305厂良率稳定在35%以上。目前正在进行GcA-201cGS的工件台升级,实现自动定位和曝光。一个月内可改造完成,良率有望突破70%,产能翻10倍。”
他顿了顿:“第二代光刻机,选择扫描式投影光刻方案。镜组设计完成了,长春光机所那边,已经在磨镜头。难点是深紫外光源的稳流电源。”
王先生接过话:“光远说的不错。我补充一下:深紫外光源的汞灯需要极其稳定的电流。电流波动一毫安,光强就漂移,曝光量就不准。我们试了三种方案,目前最好的,是西军电帮忙设计的恒流源,稳流精度千分之一。”
存储组的代表是生面孔,一个戴眼镜的中年人。
他说话带着点南方口音:“二维卡系统读卡机,已经从样机升级为工业化标准机型。误码率降到十的负六次方。昆仑机将采用它作为程序输入介质。”
他顿了顿,语气变得凝重:“针对昆仑机所需的高速暂存,我们认为,探索磁芯存储器的微型化已无意义。不在于技术突破难度,主要在于:磁芯绕不开手工穿线工艺。”
他拿出两本笔记本,翻开一本:“未来的计算机,必定是高度依赖存储的。各种控制数据、微程序,甚至有一天,如果我们利用标准单元库辅助设计电路,那么它的管理程序将是超大体量。更不用说全国户籍数据、银行数据这样的大数据管理……”
他抬起头,看着众人:“一个熟练工人,一天能穿二十个磁芯。一个像样的存储器,需要多少?几千个?几万个?那得多少人?”
会议室里安静下来。
吕辰能想象那个场景,放大镜,镊子,头发丝一样细的铜线,一个一个穿过那个小小的磁环。
后世那些高速缓存,任何一块拿出来,靠手工穿线,不知道穿到猴年马月。
存储组的代表继续道:“因此我们建议:采用集成电路实现昆仑机所需的高速暂存。”
他翻开另一个本子:“外围的大容量存储介质,我们结合磁带存储和高速磁盘存储。磁带技术基本拿来能用,但只能顺序读取,调用麻烦。因此加上高速磁盘存储,磁带里面的数据读取出来,存在磁盘里,给高速暂存调用、计算。目前正全力攻关磁头技术。”
接下来是计量与时钟组。
秦世襄展示了一个烟盒大小的东西——银白色的金属外壳,上面接着几根线。
“光栅尺,两百五十毫米量程,分辨率稳定在一点五微米。”他把那个东西放下,又从兜里掏出一个更小的东西,“时钟源,恒温晶体振荡器。频率稳定度,正负五ppm。”
他看着众人:“昆仑机的心跳,定了。”
ppm,百万分之一。正负五ppm,意味着一天的时间误差,不超过零点四秒。
其他组一一汇报。
输入输出组、电力组、显示组、电镜组、总成与应用组……
每一个组都拿出了自己的成果,每一个组也都面临着各自的困难。
汇报声此起彼伏,像一条条河流汇入大海。
有人翻开笔记本,有人指着图纸,有人走到黑板前写下公式。
会议室里的烟雾越来越浓,搪瓷缸里的水续了一轮又一轮。
所有组汇报完,会议室里安静了几秒。
刘星海环顾了一圈,开口:“困难呢?都说完了?那就把困难也摆一摆。”
宋颜又站起来。
“核心元器件的良率,上不去。”他说得很直接,“五微米工艺虽然跑通了,但良率一直不稳定。主要失效模式是两种:栅氧化层击穿,铝线短路。”
他顿了顿:“这意味着,昆仑机需要的上千块芯片,可能连十分之一都凑不齐。”
台下有人轻轻叹了口气。
刘星海问:“根本原因是什么?”
陈光远接口道:“工艺窗口太窄。光刻机套刻精度漂移,氧化炉温场不均,关键环节依赖人工。同一个设计,这一批做出来能用,下一批做出来可能就是废的。”
武水院的程教授站起来:“昆仑机预计使用上万块集成电路。即便每块功耗只有一百毫瓦,总功耗也超过一千瓦。如果用电子管、晶体管混合方案,功耗翻十倍。”
他拿出一张机柜示意图,标出热源分布:“目前的机柜风冷方案,解决不了局部热点。芯片密集的地方,温度能到八十度。这个温度下,芯片的寿命会大幅缩短。”
他顿了顿,声音低沉:“散热不解决,昆仑机跑不起来。”
陈教授又站起来:“硬件在赶工,但编译器和操作系统完全是空白。昆仑机即便造出来,也发挥不了向量并行的优势。”
他顿了顿:“需要有人为这台机器写科学计算子程序库,矩阵运算,微分方程求解,快速傅里叶变换……这些都得写。用二进制写。”
台下安静了几秒。有人小声说了一句:“这是人干的活吗?”
半导所的王守仁也提了一个困难,他说得很克制:“有些单位反馈,专家突然调离。原本约定支援的应届生,可能无法按时报到。具体原因,不便多说,但情况确实存在。”
刘星海点点头,没有对此表态。
他看向夏先生:“夏先生,各组的问题和进展都在这里了。计算机所作为昆仑的牵头单位,你有什么想法?”
夏先生点了点头,将手中的铅笔轻轻放在桌上。
“嗒。”
一声轻响,会议室里瞬间安静下来,所有人的目光都投向了他。
“过去一年,大家都取得了很大的进展,但问题也很现实。”他说,“因此,我提一个技术策略,大家听听。”
他扫了一圈台下:“基于当前面临的现实困难,咱们不如降低一些标准。从一步登天,转为模块化验证,双轨并行。”
他详细解释道:“先搭一个缩比验证机。四块板子,一控三算。代号‘昆仑-零’。目标是跑通指令集,证明向量架构可行。”
他看着台下:“规模小,问题就少。散热好解决,功耗好控制,芯片需求也少。等跑通了,再往大了扩。”
他顿了顿:“散热和功耗,兵分两路。一路,继续攻关全集成电路版,利用陶瓷加工技术,同步设计微通道液冷机箱。另一路,准备磁芯存储器和分立元件的备用方案。万一集成电路量产卡壳,至少还有条退路。”
陈光远站起来插话:“物资储备也要考虑。就以6305厂为例,光刻胶、超纯试剂,都是消耗品。万一运输环节出问题,生产线就得停。”
他看向刘星海:“建议以备战备荒的名义,申请特批,建设小型危化品仓库和高纯气体站。储存至少半年用量的光刻胶和超纯试剂。”
钱先生开口了。
从开会到现在,他一直没说话。此刻他将手中那支铅笔轻轻放在桌上,会议室里便彻底安静下来。
“软件库的建设,不能等。”他的声音不高,却仿佛每一个字都砸在人心上,“硬件造出来了,没软件跑,就是一堆废铁。”
他看向陈教授:“理论组牵头,计算机所配合,组织一批数学功底好、暂时无法进厂的学生。在纸上手算,编制数学用表和微程序代码。手工作坊式的,慢,但能顶用。”
他顿了顿,又看向宋颜和夏先生:“计算机所和红星所牵头,设计一款编程机。辅助编写昆仑机的微程序,训练未来的软件工程师。”
第五研究院的专家站起来。
他穿着军装,肩章上星星杠杠,说话带着一点西北口音:“既然大家都说开了,首长也在,我也提一个建议。”
首长点点头,示意他继续。
得到允许,他拿起桌上的稿纸,纸上画了一个简单的示意图。
“我建议成立技术隔离舱。分三个区:红区,集中精力攻关星河计划各关键技术。蓝区,大张旗鼓开展关键技术的民用开发,吸引注意力,为红区打掩护,储备人才,维持星河计划各组活力。绿区,继续以基础材料研究的名义低调推进。”
他看着首长和刘星海,目光沉静:“这样,万一有风吹草动,至少能保住最核心的东西。”
会议室里一时安静下来。
前排几位来自核心单位的老专家交换了一下眼神,没有交头接耳,但那种“果然如此”的凝重,已经写在了脸上。
大家都看着首长。
首长摆摆手:“这个意见提得好。正好我今天也要代表国务院宣布一个决定。”
会议室里紧张得落针可闻,仿佛等待着最终的审判。
吕辰甚至能听到自己的心在疯狂跳动,他侧头看了一眼身旁的谢凯。
谢凯正襟危坐,眼镜片后的目光凝固在首长身上。
首长拿起一份红头文件,他的声音仿佛从云端传来。
“星河计划,列入国防尖端项目。核心团队、设备、物资,进入军管。”
他顿了顿,看着在场的每一个人。
“困难,摆出来了。问题,摆出来了。大家关心的,也有了结果。现在要做的,就是一件一件解决。”
他站起来,把文件交给刘星海。
“星河计划不能停。昆仑机,必须造出来。”
他起身往外走。走到门口,又停下脚步,回过头:
“有什么需要,直接报。”
脚步声消失在走廊里。
会议室里安静了很久,没有人说话。
大约过了三四秒,那三四秒仿佛被拉长成了一分钟,没有人动,没有人开口,甚至没有人呼吸。
然后,吕辰看到,大家一直硬挺着的腰杆,缓缓放松了下来。
有人靠在椅背上,摘下了眼镜,用力揉着眼睛,长长地吐了一口气。
那口气里,有紧绷了太久的疲惫,有终于落地的释然,也有说不出的复杂。
吕辰缓缓靠向椅背,这才发现后背的衬衫已经被冷汗浸透,冰凉地贴在皮肤上。
他侧头看了一眼谢凯,谢凯正摘下眼镜,用力揉了揉眉心,手指微微颤抖。
大约过了十来分钟,刘星海站起来,翻开本子。
“各组,领任务。”
他开始一条一条布置。
昆仑-零验证机,由计算机所牵头,设计组、理论组配合。三个月内,拿出方案。
危化品仓库和高纯气体站,6305厂负责,一个月内完成选址和申报。
软件库建设,由理论组牵头,计算机所配合,即日起,从高校选拔学生,开始手算。
编程机设计,由计算机所和红星所牵头,两个月内,拿出设计方案。
技术隔离舱,由第五研究院牵头,各组配合。一个月内,完成分区方案。
……
任务布置完,刘星海合上本子。
“散会。”
吕辰站起来,跟着人群往外走。
走出计算所的大门,外面的阳光很好,四月的风带着一点暖意,吹在脸上很舒服。
他骑着车,穿过北京的街道。
街上人来人往,车来车往,和往常一样。