美国对中国芯片行业的卡脖子,让我们意识到在别人的墙基上砌房子,再大再漂亮也可能经不起风雨,甚至会不堪一击。也让国内芯片行业吵了几十年的“引进吸收”还是“自主研发”明确了方向,五中全会首次明确提出,要把科技自强自立作为国家发展战略的支撑。
作为芯片产业最重要的芯片之一,CPU 实现国产自主可控对支撑国家信息产业发展和保证信息安全都至关重要。2021 年 4 月 15 日,坚持了 20 年自主研发的龙芯中科技术股份有限公司正式推出龙芯自主指令系统架构 LoongArch,实现了历史性的突破,让中国的芯片从必然王国走到自由王国。
完全自主在国内多次被“打假”后,龙芯自主指令系统架构(LoongArch)能否经得起检验?在强大的 Wintel(Windows+Intel)和 AA(Android+Arm)格局下,龙芯建立全球 CPU 的第三套生态有没有机会成功?中国核心技术的发展,为什么不应幻想弯道超车?
从 MIPS 到完全自主可控 LoongArch
龙芯中科 2010 年脱胎于中科院计算所,很长一段时间,龙芯都是国内为数不多坚持 CPU 自研,走芯片自主可控路线的少数派。
公司创立的前五年,龙芯主攻工控市场,2015 年龙芯 CPU 出货几万颗,从无到万颗用了五年。这并没有动摇龙芯坚持自主可控的决心。“十三五”期间,龙芯一方面继续深耕工控市场,一方面开始进军电子政务市场,出货量不断增加,2019 年出货几十万颗,从几万颗到几十万颗的出货量用了四年。
2020 年,龙芯自主 CPU 的出货量又提升了一个数量级,达到了百万级。龙芯中科董事长兼龙芯 CPU 首席科学家胡伟武告诉雷 锋网:“龙芯经过过去 20 年完成了技术补课,CPU 不断迭代,我觉得 2022 年我们的 CPU 能够稳定在每年几百万片的出货量,我们也将逐步走向开放市场。”
▲龙芯中科董事长兼龙芯 CPU 首席科学家胡伟武
完成技术补课准备走向开放市场的龙芯在 2018 年左右发现,MIPS 已经不是他们最好的选择。“龙芯过去基于 MIPS 指令系统研制 CPU 并发展软件生态,经过 20 年的努力,不管是软件生态还是 CPU 核,龙芯的设计都超过 MIPS 公司。MIPS 社区大概三分之二的维护工作都是龙芯在做,像浏览器、Java、媒体播放器等,MIPS 公司主要是维护 CPU 内核和基础编译器。另外,MIPS 有些技术特征很老了,MIPS 顶层的 64 个指令槽基本上用完了,要加指令也比较难加了,像延迟槽也成为一个设计负担。”胡伟武说。
这是龙芯放弃 MIPS 的内因,外因是 MIPS 的所有权一直在变化。
“那时候我想明白了一个道理,采用授权指令系统可以研制产品,但不可能形成自主产业生态,就像中国人可以用英文写文章,但不可能基于英文形成民族文化。。于是在内因和外因的共同作用下,我们决定自主开发一套指令集架构。”胡伟武表示。
为了 LoongArch 能够长远发展,龙芯中科高度重视与龙芯架构相关的知识产权,委托了国内第三方知识产权机构对龙芯基础架构进行了深入细致的知识产权评估,将 LoongArch 与 ALPHA、ARM、MIPS、POWER、RISC-V、X86 等国际上主要指令系统有关资料和几万件专利进行深入对比分析。
今年 1 月第三方机构得到了三个评估结果:
LoongArch 在指令系统设计、指令格式、指令编码、寻址模式等方面进行了自主设计。
LoongArch 指令系统手册在章节结构、指令说明结构和指令内容表达方面与上述国际上主要指令系统存在明显区别。
LoongArch 基础架构未发现对上述国际上主要指令系统中国专利的侵权风险。
接下来,龙芯中科和第三方知识产权评估机构还会进行境外专利分析和进一步的知识产权评估,并根据评估情况逐步发布完整的 LoongArch 指令系统手册。
2030 年基本建成全球第三套 CPU 生态体系
龙芯能推出自主 CPU 指令集系统的 9 个能力
CPU 指令系统是计算机的软硬件界面,是 CPU 所执行的软件指令的二进制编码格式规范。胡伟武说:“过去把指令系统和 CPU 芯片联系起来比较多,其实指令系统更多关系到的是软件生态,比如 X86 支撑 Windows 生态、ARM 支撑 Android 生态。只要把软件想清楚了,CPU 换指令系统并不难。”
推出一个指令系统不难,难的是生态的构建,这是芯片业界的共识。胡伟武说,“我们敢于构建新的指令系统的生态,是因为过去 20 年的积累让我们掌握了 9 个能力。”
这 9 个能力每三个分为一类,第一类是 3 个基础编译器,包括 GCC、LLVM、GOLANG;第二类是三个虚拟机,包含 Java 虚拟机、JavaScript 虚拟机、.NET 虚拟机;第三类是二进制翻译系统,包括 X86、ARM 和 MIPS 指令系统的翻译。
编译器是将 C 语言这类高级语言编为机器标码,因为有开源,许多经验丰富的团队都能开发编译器。
“更上一层就是虚拟机,全球一大半的服务器都跑在 Java 上,.NET 与 Java 一样,一个属于微软体系,一个属于 Linux 体系。JavaScript 是浏览器的核心引擎。因此虚拟机也很重要。”胡伟武解释,“目前很多应用软件都构建在上述三个虚拟机上,龙芯自主指令系统只要支持上述三个虚拟机,那一半以上的已有应用软件就可以不用迁移直接运行。要掌握生态的主导权,关键就在于虚拟机的能力。”
二进制翻译的能力,是考虑到自主和兼容,为生态发展提供的基础能力。“LoongArch 的基础指令有 300 多条,为了二进制翻译,兼容 x86、ARM 以及 MIPS,我们又增加了近 200 条指令。”胡伟武进一步表示,“LoongArch 通过软硬结合,提升了兼容其他指令系统应用的二进制翻译效率,这方面我们有十几年的积累。我们希望,到 2025 年前后,在龙芯的 LoongArch 平台上可以不运行 Windows 但能运行 Windows 应用,不运行 Android 但能运行 Android 应用。”
不仅如此,LoongArch 还抛弃了 MIPS 的很多历史负担,结合新的应用特点增加了一些新的功能,这样仅指令系统就能带来 10%-20% 的性能提升,硬件要实现这样的提升需要大概两代。
雷 锋网 了解到,属于 RISC(精简指令集)的 LoongArch 总共有近 2000 条指令,包含基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,具有完全自主、技术先进、兼容生态的三个特点。
有组织的开放建设生态
“兼容其它指令系统只是建设生态的辅助性手段,我们的目标是打造全球第三套 CPU 生态体系,为人民做龙芯。”胡伟武说:“全球的 IT 产业被 Wintel 体系和 AA 体系制约,只要硅谷的企业产品升级,中国和其它国家的企业就得跟着升级,我们没有产业发展的主导权。”
回看 intel 和 ARM 的成功,上世纪九十年代,小企业 intel 做芯片,把基础软件平台开放给生态合作伙伴来做,打败了封闭的大企业 IBM。进入新世纪以来,比 intel 更加开放的 ARM 只提供 IP,也取得了巨大的成功。
胡伟武说 LoongArch 的生态是要有组织的开放,建立生态。“要建设好一个生态首先要开放,组建联盟吸引生态合作伙伴。其次还要兼容,无组织的开放会造成严重碎片化,生态没办法发展起来,要找到开放和兼容的平衡点。最后还需要系统优化,可以实现数量级的体验提升。”
那谁会加入龙芯的 CPU 生态?胡伟武认为非常明确的至少有两类公司,一类是针对特定应用做 SoC 的公司,这些公司只要加入龙芯生态联盟就可以使用 LoongArch 指令系统,并且能够免费使用像 ARM Cortex A53 和 A57 性能级别的龙芯 CPU IP 核,用于各种 SoC 设计,这也是龙芯已有的客户。
另一类是整机和解决方案公司,龙芯有信心 LoongArch 芯片性能不会比其它指令系统的 CPU 弱,随着性能的提升,总体性价比也会更高。
“我们基于 LoongArch 除了发展面向桌面、服务器应用的通用信息系统平台,还可以做出新的平台,比如我们可以建设一个面向制造业的平台,在该平台上把各种装备和设备 APP 化,如高铁 APP,飞机 APP 等。”胡伟武说。
也就是说,无论是收复失地还是开疆拓土,龙芯开放生态都能吸引参与者。
目前,首款支持 LoongArch 的龙芯 CPU 3A5000 处理器芯片已经流片成功,14nm 的 LoongArch CPU 比 ARM 7nm 的 CPU 性能更强,已经接近市场主流产品水平。
“LoongArch 的技术和工程的路已经走通,今年下半年我们工作的重点就会转向生态建设,我预计 2025 年龙芯的 CPU 出货量将达到千万级,生态建设也将迈出一大步。”胡伟武表示,“在国内建设新的 CPU 生态,没有人和我竞争,快慢由我。保守估计,到 2030 年我们应该可以初步建成基于 Loongarch 的生态体系。”
坚定自主路线,坚持 30 年建设自主生态
“发展核心技术不要幻想‘弯道超车’,像芯片这样的高复杂系统能力建设需要以 30 年为周期,不能经常‘翻烧饼’,别人封锁时我们自己研制,别人放开了我们又放弃自主。龙芯已经干了 20 年了,相信再有 10 年,我们能初步建成第三套体系。”胡伟武强调。
五中全会首次明确科技自立自强作为国家发展的战略支撑,这可以视作芯片行业发展的转折点。在中美摩擦越来越多的背景下,支持芯片自主研发的人也越来越多。
但要实现完全自主可控,三个环节都要做好。第一个环节是 IP 核以及 EDA 工具的芯片研发,龙芯 CPU 芯片的 IP 核主要自主研发,过去二十年积累了自主研发的 CPU、GPU、内存控制器、高速接口控制器、工业接口控制器等上百种 IP 核,但 EDA 工具的卡脖子问题想要解决依旧需要时间。
第二个环节就是基于自主指令系统的软件生态,龙芯的 LoongArch 可以建设 CPU 的第三套生态。
第三个环节是基于自主材料设备的生产工艺。“大趋势是,7nm 之后的工艺是小众工艺,工控 CPU 28nm 足够了,桌面 CPU 14nm 就足够了,服务器 CPU 7nm 足够了。我们国家发展集成电路产业不应该总盯着 7nm、5nm 甚至 3nm,先实现 28nm 和 14nm 的全自主,有了扎实的基础迭代起来不会慢。”胡伟武认为,“材料的自主可控会容易一些,设备稍微难一些。总体而言,十四五期间我们可以初步缓解集成电路材料和设备受制于人问题,要实现根本缓解则需要两个五年时间。”
龙芯如今的成绩已经证明了坚定自主研发不仅是可行的路线,而且是正确的路线。我们总在说要弯道超车,但目前看来我们没有一次成功。IT 产业核心技术就像盖楼,每层楼两大核心技术。第一层楼是 CPU 和操作系统,第二层楼是网络技术和图形技术,第三层楼是虚拟化技术和智能化技术。我们不可能不盖前两层直接盖第三层。
因为后来者一旦有超越已有生态控制者的趋势,就会受到各种阻碍。并且使用别人的授权,还可能受到非常严苛的审计,这是许多公司还未意识到的风险。
走自主研发的道路,在技术发展的初期一定会有巨大的技术和生态挑战,但我们的优势在于有广阔的市场和优秀的制度,在市场带技术的模式下,最终肯定能发展起来。龙芯在工控和电子政务的成功就是最好的例子,这也是龙芯能在 2015 年实现盈亏平衡,并在“十三五”期间实现 CPU 单核通用处理性能提高十倍、销售收入提高十倍的“双十倍”跨越,在 2021 年推出自主指令系统架构底气所在。
坚定目标,保持耐心,相信中国的 CPU 生态在所有参与者的共同努力下能够实现安全的自主可控,与 X86 和 ARM 生态在全球三足鼎立,你中有我,我中有你共同向前发展。