CPU是底层硬件基础设施的核心,也是智能设备的心脏。而高端处理器更是人类科技制造的皇冠,既代表一国的技术实力,也关乎一国产业发展的未来。
在冲击高端处理器这一科技巅峰的道路上,从不缺少中国企业的身影。目前,我国共有14万家与处理器相关的企业,并逐渐形成了海光、龙芯、申威、兆芯、鲲鹏、飞腾六大厂商作为中坚代表,并称国产CPU六君子。我们将以系列文章回顾国内六大CPU企业的研发历程,以思考国内高端CPU的破局方向。
本期,我们先来看看已经默默前行20多年历程的龙芯。
二十年百折不挠自研路
2001年,中科院计算机研究所成立龙芯课题组,龙芯正式开始研发。20多年,虽然龙芯经历过技术路线错误这样的重大挫折,但依然坚定地走出了自己的道路。
在龙芯研发的早期,需要靠犯错误积累经验,因此不断踩坑。龙芯CPU的性能一度落后同期主流的x86指令集CPU产品10倍。但经历过前期的试错积累,2009龙芯发布LoongArch指令集,紧接着推出基于LoongAarch指令集的3A5000,这是目前国内唯一的纯自研指令集,从此我国也有了自己的CPU“语言体系“。这是国产CPU独立自主研发之路上里程碑式的胜利。
今年,龙芯又发布了龙芯新一代高性能CPU3D5000。这是龙芯5000系列的最新成员,也是国内首款采用芯粒(chiplet)技术的服务器CPU,主要面向高性能计算领域。
业内人士认为,尽管3D5000与目前主流CPU仍有性能差距,但这表明了国产CPU自研路线,也能达到相当卓越的水平,是国产CPU自研之路上的又一关键突破。
正如马斯克说,技术不一定会自动进步,它需要有很多人不断努力。龙芯二十年自研路,就是龙芯团队在屡次失败,一度四面楚歌后,依然不放弃自主研发CPU的历程。这一路走来,龙芯已经俨然成为国产CPU百折不挠的精神图腾。
弯路比直路长,落寞比喜悦多
“百折不挠“这四个字,事实永远比后来者的回忆更沉重。
2001年,龙芯研发上马,选择了MIPS架构+Linux系统设计的技术路线。当时生态竞争格局还未完全确定,MIPS架构+Linux系统的组合确实不失为后来者另辟蹊径的选择。但很不幸,Intel的x86架构和微软的Windows操作系统很快在市场上建立了绝对垄断地位,WinTel联盟主导了市场生态,MIPS架构+Linux系统被远远甩在后面。
2010年,龙芯团队转型成立公司,企图通过企业化运营让龙芯可以投放到更大的市场,为龙芯的研发带来更多的资金,但当年冬天推出的龙芯3B1000 CPU连操作系统也启动不了。这次失利,让龙芯意识到单核性能是CPU性能的关键,盲目堆核的数量的路线走不通,这是龙芯真金白银砸出来的经验。
这表明我们对CPU设计能力的差距体现在理解深度上。有过编程经验的人都知道,程序不是写出来的,而是调试出来的,花足够多的时间,犯足够多的错误,对CPU设计的理解越深入,就越可能走对方向,但国产CPU起步时间短,犯错误少,流片成本高都是国产CPU落后于国际巨头的地方。
龙芯调整技术方向,在单核微结构上下足力气,并在借鉴MIPS指令集后,于2019年开始宣布自研指令集,第二年发布了LoongArch指令集。但接着龙芯又陷入了专利纠纷。2021年上海芯联芯认为龙芯的LoongArch指令集是对MIPS的二次开发,且未缴纳相关授权费用,而并不是龙芯宣称的“彻底抛弃MIPS发布自主指令系统”,并因此向龙芯提起诉讼。
目前,这场诉讼以一审判定龙芯胜诉暂告段落,而上海芯联芯已表示将上诉,这场纠纷仍然未完待续。这不是龙芯第一次陷入专利纠纷。在2006年,龙芯即曾被MIPS指出抄袭,此纠纷在2009年以龙芯与MIPS达成授权协议结束。显然,在技术上的试错之外,现实世界中龙芯也在摸着石头过河,一不小心就遇上麻烦。
这几乎是所有不甘放弃的后来者的必然命运。
生态建设的孤独之路
提升性能不是设计CPU 真正的难点,这是一个靠投入资源和自身努力后,靠时间和经验积累终究能解决的问题,建设CPU的软硬件生态,才是真正的困难。
因为一个生态的建成,是CPU厂商、开发者和使用者形成共同意愿后的结果,这是一个纯粹的市场竞争过程,靠CPU厂商单方面的努力,起不到多大作用,而行政指令和民族情怀,在这个领域都无能为力。
当前,无论PC还是服务器,x86架构都占到了绝对的主导,Counterpoint Research的调研数据显示,2022年全球服务器市场上,x86指令集仍然是服务器CPU市场的主导,占到了91%左右,赢家通吃的局面已经形成。
而龙芯采用的MIPS路线与主流计算机体系绝缘,如果龙芯自己不去培养生态,龙芯的芯片就没有配套,如一片荒原寸草不生,这使用者来说是绝对不友好的。
设想一下,一个说汉语某个小众方言的人,要跟世界各地的人沟通,只能先学会说英语,还必然会因为口音问题而增加学习难度。对龙芯来说,只要想继续坚持自主路线,就必须做的比别人更多,没有捷径可走。
因此,龙芯天然了包括了系统、中间件到最上层的应用。在系统层面,龙芯规定好从CPU、BIOS到操作系统的技术规范,统一系统架构,在中间件层面,龙芯做好API接口方便软件开发,在应用层面,龙芯还要针对目标市场,优化浏览器、办公软件等应用。也就是说,一家龙芯,在努力做完Intel和微软两大世界级企业的工作,形成一个像苹果那样的封闭生态系统, 中间艰难可想而知。
而且,为了兼容Windows和安卓,龙芯还要给CPU配备翻译器,用来把x86指令集和ARM指令集翻译成LoongArch指令集。这种做法是给“说方言的人配上两个翻译”,本质上是牺牲性能换取生态兼容性。从降低生态建设难度的角度说,这是一个是正确但无可奈何的做法。
在CPU市场上,有性能与生态相互促进的现象。性能优异的CPU受市场欢迎,就有更多使用者,更多使用者带来好的市场前景,就有更多开发者愿意做配套,使生态更加繁荣。而CPU厂商因此提高收入,投入更多研发从而进一步提高性能,再吸引更多使用者。这种”滚雪球”的增长方式,是x86 CPU建立绝对垄断地位的根源。
而显然,龙芯在性能上还在追赶主流水平,又与主流产品不兼容,没办法形成生态,也就更难以增加研发投入,又进而限制性能的提升。这是一个“反向的”滚雪球。 因此,龙芯只能暂时依赖政策市场的扶持,从特种领域切入,先保持着跟随的局势不掉队,寻求一点点建立生态的机会。
没有人否认龙芯在探索国产CPU发展之路上的丰功伟绩,自主研发走过的弯路、积累的经验和人才,都是国产CPU宝贵财富。龙芯就像一名屠龙的勇士,在面对国际巨头时,以弱小的身躯持剑矗立,没有主角光环,只有拼尽全部力气,但依然无所畏惧更寸步不让。这是英雄的风姿,是战士的荣誉。
但眼下也不得不承认,龙芯若想在主流市场、主流用户的核心业务上替代其他产品,还力不从心,这也像屠龙勇士,深夜摘下荣耀的冠冕时,孤独萦绕,伤痕满身。
这是要建立一个新时代时必然要面对的现实,但愿龙芯能让那个属于理想主义者梦想,早日到来。