第165章 曙光一号研发(一)
作品:《 香江:从破产电器厂到全球巨头》曙光一号的CPU前端设计在第六版定稿的那个深夜,林知夏把延迟槽优化逻辑推到了一个新的高度。他在分支预测单元里引入了一个简化版的分支历史表,用极少的硬件开销——仅几个比特的存储空间和几层逻辑门——把延迟槽的有效填充率从前一版的基础上大幅提升。这意味着在同样主频下,曙光一号的指令执行效率将显着优于同等价位的进口处理器,那些被浪费的时钟周期被压缩到了几乎可以忽略的程度。
这个突破来得并不突然。他在第五版架构图定稿后,把全部精力都压在了分支预测单元上,连续多日反复推演分支历史表的更新策略。传统的分支历史表需要较大的存储空间来记录每一条分支指令的历史跳转行为,但曙光一号的晶体管预算极为紧张——老钱在版图布局中明确告诉他,CPU核心区域的面积不能再增加,每多占用一点面积,功耗和散热压力都会随之上升。他必须在有限的硬件资源下找到最简洁的实现方式。最后他从阿强绕线圈的手势里得到了启发——阿强绕到第三十七圈时会把虎口往前推小半毫米,这个动作不是靠测量工具完成的,而是靠肌肉记忆。他由此类推,分支预测也不需要记录完整的历史跳转路径,只需要记住最近几次跳转的“趋势方向”——就像手指记住绕线圈的弧度一样。他在设计笔记里详细记录了这个简化版分支历史表的设计推演过程,从第一版占用了过多晶体管到最后精简到极简结构,每一版旁边都标注了对应的硬件开销和填充率。
梁工的仿真验证环境同步跟进。他把林知夏新改好的分支预测单元拆成几个独立的测试分区,在随机指令生成器里专门为分支指令设计了一套倾向性采样算法——不是均匀随机,而是故意放大条件分支指令的出现频率,让仿真器在有限时间内尽可能多地覆盖各种跳转场景。几小时后测试结果全部打印出来,验证日志里新增了一系列全指令覆盖测试数据,所有与门级逻辑图不一致的案例都被逐条标注在报告中——有些是分支历史表在连续翻转时漏掉了一个极端的时序窗口,有些是延迟槽填充逻辑在遇到前后两条分支指令紧密排列时出现了数据冒险,有些是流水线控制信号在分支预测失败后的刷新时序慢了极短的时钟周期。林知夏根据这些报告逐一修正了对应模块的逻辑,梁工再把修正后的版本重新投入仿真。这套迭代机制经过长时间磨合已经运转得相当高效:林知夏每改一次逻辑,梁工就能在几小时内给出反馈,而反馈的结果又以打印纸的形式逐页夹进验证日志。到曙光一号CPU前端设计正式冻结时,那本验证日志的分支指令测试专项分类已经积累了大量的测试数据和错误记录,每一页都有梁工亲笔签下的测试编号和日期。
与此同时,老钱在版图台前攻关CPU核心区域的布局密度。他把林知夏最新定稿的门级逻辑图逐层翻译成晶体管级版图——每一个逻辑门都被拆成几对互补的MOS管,每一对MOS管的沟道宽度和间距都根据他从德州仪器带来的工艺参数逐一手算。CPU核心区域的面积预算极为紧张,他反复调整标准单元库的布局密度和总线走线的层数,在面积和散热之间寻找最优解。金属层之间的通孔是版图中最脆弱的环节——每一个通孔都会增加电阻和发热,通孔太多功耗超标,通孔太少电流密度过大会烧断金属线。他在版图台前用了好几个下午反复画了多版通孔布局方案,最终找到了一种能够在面积、功耗和电流密度之间达到平衡的最优排列方式。他在版图布局草图的右下角用铅笔写了几个字:“通孔布局——最优解。”
李家港每天傍晚在实验台前逐项核对当天的进度,在项目进度表上用红笔标注每一个节点的实际完成时间与计划时间的偏差。他在进度表最下方新增了一栏,专门列出版图布线密度与仿真错误率之间的对应关系——这是他自己整理的,把老钱的版图调整节点和梁工的仿真错误报告按时间线逐条对齐,发现两者之间存在明显的相关性。他把这几条对应关系用红笔圈出来,在旁边写了一行备注:版图调整与仿真错误率联动,物理实现反馈可作为架构优化的重要参考。
阿强也在品控手册里新增了一章——“芯片设计验证工具链校准标准”。这一章的起因是梁工在跑仿真时偶尔发现逻辑分析仪的时钟精度在不同温度下会有极细微的漂移,虽然漂移幅度很小,不足以影响当前的测试结果,但他认为任何测量工具在投入使用前都应该建立定期校准机制。阿强把这个建议写进了品控手册,逐项列出实验室所有在用设备的校准周期、校准方法和校准记录模板——示波器的探头补偿、逻辑分析仪的时钟源、信号发生器的输出阻抗,每一项都有对应的标准化校准流程,校准结果必须由操作人签字归档。
方洁瑛从设计工作室过来,把新一批曙光一号外壳的配色终稿放在实验台上。配色最终选定了一种偏冷色调的灰蓝色,她在终稿旁边附了一张手写的便签,说明这种灰蓝在不同光照条件下都能保持视觉一致性。刘师傅接过配色终稿,从模具侧面的白漆记录板上抄下对应的色母配比参数,让师弟把这一批外壳的排气槽参数全部按基准版本归档。他自己则在曙光一号外壳模具的第一版水路图上用红笔加了一道新的冷却通道——那是他专门为灰蓝色外壳的保压冷却曲线设计的,弯道的弧度沿用了多年前他在星辰收音机天蓝外壳模具上积累的经验,但水流速和管径做了调整,因为曙光一号外壳的厚度和尺寸都比收音机大。他画完之后端详了一阵,然后对着正在旁边整理新一批磁鼓底座的阿强说:“呢只色,比星辰深咗一级。灰蓝——阿瑛起嘅名,好贴切。”
阿强从磁鼓底座堆里抬起头,看了一眼刘师傅手里那张水路图,说明天他测试台旁边的示波器要借给梁工做时钟源校准,让刘师傅提前把模具车间的钻床精度校准排在他师弟的班表里。刘师傅说已经排了。窗外九龙塘的暮色正缓缓沉降,实验室里的灯还亮着,白板上曙光一号项目进度表上那些被红笔逐行勾过的节点正在以稳定而不可逆的节奏,向着同一个方向汇聚。
