第151章 天才加盟
作品:《 香江:从破产电器厂到全球巨头》曙光一号项目正式启动的消息传遍创世纪的速度比任何一次行政通报都快。阿强在车间里绕完当天最后一批中周线圈,走进实验室看了一眼白板上被林知夏画满的架构图。他站在白板前,目光沿着那些彩色箭头标注的数据通路慢慢移动,从指令寄存器到算术逻辑单元,从存储控制器到显示缓存。这些术语他在技校的教科书上见过,但从来没有亲眼看到有人把整条指令流水线的门级逻辑拆解得如此干净。他用指尖沿着CPU模块与存储控制器之间那条被林知夏改成三十二位的数据总线缓缓划了过去——三十二位,意味着单周期内可以吞吐四倍于当前主流十六位处理器的数据量。他说这就不是给现在用的,是给以后留的。刘师傅在旁边问这玩意儿得几千个焊点,问完之后摘下老花镜端详了半天,说以后不知道要多精的模具,先练练手。他回到注塑车间让师弟把钻床的精度校准重新做了一遍——钻床的最高跳动量被压到了几个微米以内,那是这台老钻床出厂几十年来的极限精度。师弟问他为什么要调这么精,他说将来曙光一号的外壳模具,可能需要这种精度的定位孔。
李家港在白板上补充了一个时间节点,样片验证原型预计在明年年底之前跑通全部基准测试。他在这个时间节点旁边加了一行备注,说明测试需要搭建一个软件模拟器来模拟整个指令集,把所有可能出现的指令组合全部跑一遍——测试周期会很长,但全部可追溯。林知夏说测试过程预计要模拟相当多种指令组合,每一种组合都要逐条验证处理器在取指、译码、执行、写回四级流水线上的全部时序状态。他说这句话时已经坐回角落那张旧木桌前,在稿纸上开始画CPU前端设计的第一版初步架构草图。
他在实验室角落里度过的时间越来越长。每天早晨福伯端着搪瓷缸推门进来时,他已经在白板前站了不知道多久,面前密密麻麻画满了前一晚修改的时序图。他的作息规律和正常人完全相反——凌晨是他效率最高的时候,整栋工厂只有实验室的灯还亮着,示波器屏幕上的方波信号无声地跳动,他蹲在原型板前把一根跳线从某个位置拔下来重新插到另一个位置,然后盯着屏幕上的波形变化,嘴里无声地念着什么。方洁瑛有好几次半夜起来给启明喂奶,从走廊经过时看到实验室门缝里漏出的灯光,知道那是林知夏在熬他的时序图。她在传达室放了一只搪瓷缸,每晚临走前往里面泡好普洱茶,让福伯半夜端上去。
一天深夜,林知夏把CPU前端设计的第一版初步架构草图贴在白板上。整张草图铺满了寄存器的传送路径和流水线站点的环绕框图,每一级流水线之间的数据依赖关系用不同颜色的箭头标注——红色箭头代表数据前推路径,蓝色箭头代表控制信号,绿色箭头代表存储器访问请求。他站在白板前,手里还攥着记号笔,对李家港和几个核心工程师逐行讲解:精简指令集架构,五级流水,单周期执行。但他说这个方案要想跑通——不是设计难度,是测试难度——需要一颗跟它完全等价的参考芯片做逐条指令比对,他们没有。
李家港从桌角拿起祖父留下的笔记本,翻到祖父当年为收音机变压器自研绕线圈参数写验证程序的那几页。泛黄的纸页上用工楷抄录着一行行验证步骤——每一组绕线参数旁边都附了相应的电感量计算值和实测值的对比,每一个对比结果旁边都画了一个勾或一个叉。他说当年绕中周变压器试了两百多次才成功,每一次失败都记在本子上——不是因为不知道原理,是因为从原理到实现的每一步都藏着无数个细节。他们可以用软件模拟整个指令集,把所有可能出现的指令组合全部跑一遍,测试周期会很长,但全部可追溯。林知夏负责设计,他负责验证。
林知夏从抽屉里拿出他在硅谷时用过的一本已经翻得起了毛边的芯片设计笔记,翻到某一页——上面是精简指令集架构的早期手稿,旁边用铅笔写着几行字。他把这几页复印下来贴在曙光一号的白板旁边,在角落里标注了日期。他说精简指令集的精髓不是指令少,是把每一个指令的执行周期压缩到不能再压缩。他在CPU前端设计的第三版草图上已经完成了五级流水线的全部时序分配,正在攻关执行单元里条件分支指令的延迟槽优化——这是精简指令集架构中最核心的技术难点之一。所谓延迟槽,是指当处理器遇到条件分支指令时,在分支结果还没有被计算出来之前,流水线需要继续取入下一条指令,这个被提前取入的指令位置就是延迟槽。如果编译器能够在延迟槽里填入一条不受分支结果影响的有效指令,流水线就不会因为等待分支结果而停顿;如果填不进去,延迟槽只能被浪费掉,白白消耗一个时钟周期。他在硅谷时写的博士论文就是关于延迟槽填充算法的优化,但那是在有成熟EDA工具和参考设计库的条件下进行的。现在他要从零开始,用门级逻辑图一行一行地搭建整个分支预测单元。
李家港从实验室档案柜里拿出当年他在宝安无线电厂留给方工的那套中周变压器手绘图纸的影印件,摊在林知夏的设计稿旁边。那些图纸上密密麻麻标注着烧结温度曲线、绕线圈手势和Q值测试数据,每一处修改旁边都有阿强亲笔签下的日期和测试结论。他说当年绕中周变压器绕了两百多次才成功,每一次失败都记在本子上——不是因为不知道原理,是因为从原理到实现的每一步都藏着无数个细节。方工拿到图纸之后用了一两个月就突破了Q值八十,而那些细节他和阿强在实验台前熬了无数个晚上。林知夏低头看着那张发黄的图纸上密密麻麻的数据,说那就把每一个细节都记下来,以后给别人用。
阿强把一摞新打印好的磁鼓底座长周期耐久测试数据放在实验台上,说品控手册里所有测试标准都已经同步更新到曙光一号的验证流程里。以后不管芯片设计修改多少版,每一版的测试数据都必须归档保存。他把那枚Q值八十九的中周变压器从实验室书架上取下来,端端正正地搁在曙光一号白板旁边——它是创世纪第一个里程碑,但以后还会有更多。刘师傅从注塑车间探出头,说曙光一号的外壳模具他已经开始画图了。他在一张旧图纸上用游标卡尺逐寸标注了外壳的尺寸公差,每一项公差旁边都注了对应注塑机的锁模力上限和排气槽深度。他说计算机外壳和收音机不一样——收音机可以圆润,计算机要方方正正,方的东西边角最容易翘曲变形,所以排气槽要走一条和星辰外壳完全不同的水路线。他在纸边随手画了一条水路的草图,弯道处被他用红笔反复描了好几遍。
李家港站在白板前,看着满墙的架构图、数据通路和流水线框图。从星辰收音机的第一枚中周变压器,到视霸录像机的小型化磁鼓,再到曙光一号的三十二位精简指令集处理器——所有核心技术都来自这间从破产边缘爬起来的实验室。他拿起红笔在曙光一号的项目代号旁边画了一个圈,然后从口袋里掏出那只早已停走的电子表放在白板旁边,在心里对爷爷说了一句——祖父笔记本上“科技救国”那四个字,正在从一颗变压器变成一颗处理器。窗外九龙塘的夜色已经完全沉降,实验室里的灯还亮着。方洁瑛端着一壶刚泡好的普洱茶走进来,给每个人倒了一杯,然后把启明从婴儿床里抱起来让他看白板上那些密密麻麻的方框和箭头。启明伸出手想去抓那些彩色的线条,她轻轻把他的小手拢回来,说那是芯片架构图,等你长大了阿爸会教你画。窗外那颗启明星正低悬在飞鹅岭上方,白板上的架构图在灯光下泛着极淡的光泽。
