2023年年底,在龙芯3A6000的发布会上,工信部电子信息司副司长史惠康说了一段话:“提高频率和提高每GHz的性能,两个方面都能提高整体性能。但是在工艺受限、卡脖子的情况下,提高频率某种程度上有难度,因为受工艺的限制。那么提高每GHz的性能就是现实可行的,但是这需要很深的长期的技术积累。”
史惠康副司长的发言指出了当前国产CPU提高性能的重点和难点,重点是每GHz性能,难点是技术积累。
发言中专门提到“每GHz的性能”,是因为CPU的频率不能单独代表CPU性能。比如Intel现在的CPU频率与十几年前的Pentium 4相比其实进步有限,但性能却不可同日而语,除了因为集成了更多核心,最根本的原因还是单核每GHz的性能提高了6到8倍。如果以2004年的Pentium 4作为参照,Intel花了近二十年的时间,把单个核心在相同频率下的性能提高了6到8倍,频率提升不到2倍。与之对比的龙芯CPU性能起点很低,因此在相同的时间跨度下,频率提升大约5倍,单核心同频率下的性能提升估计至少20倍。这说明CPU每GHz的性能进步是CPU性能进化的主要方向,每GHz的性能是CPU设计能力的主要体现。而CPU频率主要是跟随半导体工业的进步而提高,相对来说不是那么考验CPU设计技术。
CPU每GHz的性能也可以视为IPC×1GHz,虽然两者概念有区别。IPC(Instruction Per Clock)是CPU每个时钟周期执行的指令数量,频率和IPC共同构成了CPU单核性能。龙芯3A6000每GHz的单核性能达到了13、14代酷睿Raptor Lake核心的水平,是当时其它国产CPU核心的1.5到3倍,所以尽管龙芯3A6000在同期的国产CPU中主频最低,但单核性能却是最高,直追Intel的10代酷睿桌面CPU产品。
龙芯3A6000是龙芯三号6000系列CPU的第一款产品,基于自主设计的LA664核心,规格为4核8线程,主频2.5GHz,暂不支持睿频。后续的型号有3B6000、3C6000、3D60000、3E6000,分别为8核、16核、32核、64核,均支持超线程技术,全部使用境内的12nm可控工艺生产。
如下图所示,CPU从设计到生产的流程分为三个主要阶段。CPU逻辑设计是第一个阶段,把逻辑设计变成电路图是第二个阶段,生产是第三个阶段。在这三个阶段上,每一个阶段都有机会提高CPU性能,但很难把每一个阶段的工作做到尽善尽美。
第一个阶段的逻辑设计决定了CPU每GHz的性能,CPU逻辑设计相当于电路原理图,这是CPU功能和性能的基础。这个阶段的成果称为“软核”或“软IP核”,也就是CPU源码。CPU中有许多功能模块,包括CPU核心在内的所有功能模块都可以购买,不一定需要自己设计,只看如何权衡自主性、技术能力、开发周期、研发成本之间的关系。国内目前只有龙芯做到了CPU中全部功能模块都自主设计,有一些国产CPU甚至连CPU核心都是从国外购买。CPU核是CPU中最重要最复杂的模块,国产已商业化的通用CPU中,从零开始编写CPU核心的只有龙芯和申威,只有它们是与Inel、AMD等相同的从最底层开始设计CPU的企业。
内存、缓存等也对CPU每GHz的性能有小幅度的影响,但与第二和第三阶段没有直接关系。不过设计时也不是完全不考虑生产的因素,就像设计普通电器的电路原理图时,总是需要根据目标设备的体积和元件的体积大致确定电路规模一样,设计CPU时也要根据可用的工艺限定CPU的复杂度。以较老的工艺为基准设计的CPU都可以适应更先进的工艺,反之则很难保证稳定性,功耗也难以控制。
第二阶段是把电路原理图转化可用于实际生产的版图,也就是选择具体的工艺,设计电路的布局和布线。这个阶段的成果称为“硬核”或“硬IP核”,硬核化的过程称为“物理设计”或“后端设计”。硬核也是可以购买的,但无法修改,且只能使用指定的工艺进行生产。对于现代的复杂度极高的CPU,物理设计阶段必须使用EDA工具自动完成大部分工作,因为不太可能人工绘制数亿晶体管的复杂电路。正如普通电器电路板上的布线和元件品质决定了电器的质量和稳定性,CPU的布线和生产工艺也极大地决定了CPU能稳定运行的频率。
在逻辑设计和生产工艺都不变的前提下,通过定制局部电路,以及局部调整CPU的布线设计,能解决部分单元和路径的瓶颈效应,日积跬步地推高CPU的稳定运行频率。不过如果CPU核心的逻辑设计有大幅度的修改,就难以继承通过局部调整获得的成果,但可以积累物理设计的经验。
第三个阶段是当前被卡脖子最严重的芯片生产,卡的是先进工艺,因为先进工艺必然具有高频率低功耗的优势。更先进的工艺不但可以缩短芯片中的连线长度,缩短信号传输时间,还能制造参数更好的晶体管。不需对芯片设计进行太多调整,只要升级一代工艺,稳定运行频率就能提高30%左右。我国当前的情况是芯片生产设备、生产工艺、代工渠道都受到限制,国产化的光刻设备和耗材也不能一蹴而就,追求国际一流的CPU生产工艺短期内不太现实。在大多数国产CPU都只能依靠先进工艺和物理设计提高频率的时候,龙芯凭借深厚的技术积累把IPC提高到世界一流水准,基于国内可控的工艺使CPU性能达到了市场主流水平,就特别的难能可贵。
IPC越高的CPU核心逻辑设计必然越繁杂,提高频率的难度也越大,因为信号传输更复杂,各部分电路的协调配合也更困难。就像汽车在空旷的高速路上时速能轻松达到120Km,但在交通状况复杂的城市道路上就不可能达到120Km的平均时速。事实上即使是相同的工艺节点,比如12nm至16nm,国内代工企业的工艺质量与世界最先进水平存也在差距,就像同样宽度的道路,有的就坑坑洼洼,速度就快不起来。
目前的国产CPU无论是IPC的高低,即使某些国产CPU的IPC还不到龙芯的三分之一,但能保持稳定运行的频率也都是3GHz左右。如果不算睿频,国产CPU的频率与Intel和AMD的主流产品差距不大,继续提高频率的空间也比较有限。提高频率绝对能提高性能,但当前除了工艺的制约,也有成本的限制,不是很实际。
只能通过调整布局布线、定制部分单元电路等方式来提高CPU频率,局限性较大,成本也较高。无论是寻找瓶颈,还是验证优化结果,都需要生产样品进行测试,哪怕只做一丁点修改,都要从头到尾走一遍芯片生产流程,花费数千万到数亿人民币不等。这很好理解,比如生产塑料瓶盖就先要制作模具,对瓶盖设计有一丁点修改就得重新制作模具,无论只生产一个还是生产一亿个瓶盖,制作模具的成本都不能省去。与之类似,一款CPU多做几次调整,多流片(生产)几次,也许频率只提高10%,研发成本却要提高10倍。国产CPU的市场还很小,当前销量最大的型号也不过数百万颗,过高的研发成本平摊到每块CPU上会导致价格极度攀升,降低竞争力。以当前国内可控工艺的水平和国产CPU的市场规模,过于追求高频率很有些得不偿失。
国产CPU最可行的道路把先把IPC提上来,只要每GHz的性能追平或超过Intel、AMD,那么使用次一级的工艺也能具有性能竞争力。很多国产CPU企业在CPU逻辑设计阶段长期依赖国外的技术支持,自身的技术积累比较浅薄。特别是当龙芯CPU的IPC与世界一流水准平齐之后,除非Inte、AMD、ARM等出售最先进的CPU核心设计,否则基于引进技术的国产CPU在性能方面就不存在优势。当前的情势下,美国不太可能作出这样的许可,因此所有的国产CPU企业都必须加强自主设计CPU的能力,从部分自主向全面自主迈进。
CPU逻辑设计是对外部条件依赖最低的阶段,也是国内CPU企业当前唯一能够完全控制的阶段。CPU逻辑设计就是编写CPU代码,编写的代码可以进行模拟测试,如果不考虑生产,甚至不需要EDA工具和光刻机,也就是说任何形式的制裁和封锁都无法阻止我们自己设计CPU。但CPU必须生产出来才能进一步验证设计是否合理,无法生产的CPU也解决不了实际问题,因此自主设计CPU必须基于可控的工艺。
可控的工艺不是指工艺必须完全自主,而是指软件和设备可以正常使用、耗材可以正常供应、完全掌握生产技术。如果要求全流程所有软件、设备、耗材都完全自主,那么所有国产CPU的性能都会降低几个档次,难以承载现代的信息系统。CPU生产不能因噎废食,在可控的前提下,当然应该选择比较先进的工艺。否则的话,完全自主设计的新款CPU还可以改用旧工艺,在较低的频率下依靠较高的IPC保有一定的性能,而引进的较新的CPU核则完全报废,没有吃透设计就没有改造为次级工艺的可能性。
当前12nm至16nm工艺节点的设备和耗材还没有完全自主化,但已经掌握了自主的芯片产生产技术。能够自主生产,就能得到各种相关的工艺数据,国产的EDA软件就能与自主工艺形成配套。7nm工艺节点的情况更困难一些,主要是因为国内缺少EUV光刻设备,只能用DUV设备摸索多重曝光技术,存在生产成本高、技术成熟度低的问题。既要保证CPU生产环节安全可控,又要保持一定的性价比,那么国产CPU基于可控的成熟工艺才具有最大的意义。
国产CPU中,申威CPU的工艺选型从未超过境内的生产水平上限,龙芯从3A2000开始与申威同样重视生产环节的可控。龙芯3B1500使用意法的28nm工艺,但代次更新的3A2000反而降级成了境内的40nm工艺,导致3A2000主频在当时的国产CPU最低。那时龙芯CPU的IPC还没有与其它的的国产CPU产品拉开太大差距,兆芯和飞腾基于台积电工艺的产品凭借更高的主频在性能方面具有优势。之后境内的28nm工艺成熟,龙芯的3A3000、3A4000才升级为28nm工艺并分为两个版本,供给特殊行业的在境内生产,商业版本在意法生产。此时兆芯和飞腾的CPU都基于台积电的16nm工艺,但与龙芯相比已经不具有性能优势。与3A4000同时期的华为鲲鹏920系列使用了当时最先进的台积电7nm工艺,但性能被龙芯基于境内12nm工艺的5000系列追上。之后龙芯6000系列仍然使用境内的12nm工艺,性能却超越了所有的国产CPU产品。尽管龙芯CPU的主频低于Intel,但因为每GHz性能与13、14代酷睿相当,所在在核心数量一样时,性能达到了Intel的10代酷睿Comet Lake核心的桌面、服务器CPU产品相同的级别。
可以预见,我国的芯片生产能力与世界一流水平将长期存在一定的差距。在有限的条件下,CPU产品迭代应该更加重视设计能力,更加重视每GHz性能。CPU频率保持稳步上升,但不能过于苛求,除非在CPU设计方面遭遇技术瓶颈。从实践来看,提高CPU每GHz的性能比追求先进工艺和极高频率更能建立持久的优势,也是深化技术积累,沉淀发展潜力的最可靠的路径