指令集是计算机运行指令的集合,是一本计算机运行的“词典”,也是CPU底层的核心技术之一。国外指令集技术的先发优势和技术沉淀,使国产CPU厂商很难在指令集层面上自研开发,只能通过授权引进再开发的方式,研发自己的CPU。
于是,授权引进哪一种指令集,就成了国产CPU不同的发展方向。目前,海光和兆芯采用主流的x86指令集,华为鲲鹏和飞腾基于ARM指令集开发,龙芯和申威则是走“授权+自研”指令集的路线。
底层技术的差异,决定了各厂商不同的发展方向,也形成了不同的商业版图和创新路线。盘点三条不同的指令集路线,就是在预见国产CPU发展上潜力和挑战。
01
指令集的背后
计算机硬件只能识别和处理由一串二进制数码组成的机器语言,而人操作计算机使用的是人类语言,这就需要经过计算机软件和操作系统的“翻译”,形成由计算机能理解的指令,并由CPU和其他硬件处理这些指令。
指令集,就是由CPU执行各项指令的集合。指令集相当于计算机进行运算处理时,需要用到的最底层的“词典”。有了这本词典,CPU才能最终理解人类的操作,并执行人类的命令。
然而,尽管计算机的结构都是一样的,最终都要运行二进制代码,但指令集却并非只有一种。这就如同人类世界中有多种不同语言。也正如不同人类语言会造成沟通效率上的差异一样,不同的指令集也会影响计算机的运行速度、功耗等性能表现。
而且,不同的指令集意味着最底层的“词典”不一样,对应的软硬件系统就要使用不同的“语言”。这就像一个团队中所有人都说英语,那么不能听说英语的人就无法沟通一样。所以,围绕不同的指令集,必须有说同一种”语言”的硬件和软件系统,才能操作计算机,也就是说,不同的指令集必将衍生出不同的软硬件配套。
语言是有垄断性的,一种语言越流行,则说这种语言的人也就越多。指令集也是一样,一种指令集越流行,围绕这种指令集进行配套开发的计算机软硬件企业就越多,进而使这种指令集应用更加广泛。目前全球CPU市场上,x86指令集占据领先地位,市场份额超过90%,就是因为x86指令集软硬件生态早已建立,其他指令集已经很难取代x86指令集的统治地位。
指令集不仅仅是一项独立的技术,更是一种技术生态和商业生态。这是国产CPU不得不引进指令,而无法完全独立开发指令集的关键原因之一。目前,x86指令集在PC和服务器CPU上占据垄断地位,ARM指令集在移动设备上有优势。这就相当于,目前最大的两个市场上的参与者,都不说汉语,那么不管我们有多么不情愿,都只能去学习对方的语言,才有机会进入这个市场。
所以,目前国产CPU厂商这本质上都是在学习应用别人的语言。海光和兆芯采用主流的x86指令集,华为鲲鹏和飞腾基于ARM指令集开发,龙芯则是先引进了MIPS,通过借鉴,自研创新出了LoongArch指令集,申威也一样,在引进Alpha指令集后,开发SW-64指令集。也因此,六家厂商将基于四条指令集,走出不同的发展之路。
02
x86指令集:形成性能和商业生态的双轮驱动
无论在服务器市场还是PC市场,x86处理器是绝对的主流。Counterpoint Research的调研数据显示,2022年全球服务器市场上,x86指令集仍然是服务器CPU市场的主导,占到了91%左右。而根据IDC数据,2021年,国内x86服务器出货量为382.0万台,在国内服务器市场中的占比高达 97.7%。
因此,x86指令集已经完全建立起了其软硬件生态,应用广泛,有较强的兼容性,商业回报也最为丰厚,从而能够投入更多的研发资源,进一步提升CPU的性能,进而带动商业生态继续扩大。
这种基于性能形成的商业生态,是CPU厂商真正的市场壁垒。目前,x86指令集的知识产权掌握在Intel和AMD手中,而国产CPU厂商中,海光通过与AMD的交叉许可授权,获得基于x86指令集做自主开发的权力,兆芯则通过台湾威盛也获得x86指令集开发权。但因为威盛拿到的授权已经于2018年到期,因此,目前国内CPU厂商中,只有海光能够不受相关专利限制,自由开发x86指令集CPU。
能够基于x86指令集开发CPU产品,意味着海光兼容度更高,这能极大地降低了国产化替代过程中的迁移成本,并获得广泛的软硬件生态支持,从而打开规模庞大的市场空间。
而真正把机会变成现实的是海光在研发上的投入。2019年度至2021年度,海光累计研发投入为35.39亿元,占营业收入比例高达到95.35%。这让海光能够在消化AMD的Zen架构之后,形成自己对技术的认知,并进而三年推出三代产品。据评测对比,海光三号在性能上比海光二号提升了40%左右,接近于Zen3产品水平,而且,海光二号之后的迭代,主要通过对微架构的设计创新和芯片架构升级,提升单核与多核性能并重,这表明海光已经与AMD走上不同的技术路线。
目前,海光的CPU广泛应用于电信、金融、互联网、教育、交通等重要行业。根据海光2022年财报显示,2022年营业收入增长121.83%,净利润增长145.65%。显然,海光已经形成了市场回报促进技术升级,技术升级保障产品优势,产品优势又赢得市场回报的飞轮效应,未来,只要海光能在研发上保持高投入,持续提升产品性能,就有机会像Intel和AMD一样,在市场上建立起自己的生态壁垒。
03
ARM指令集:高歌猛进与壮士扼腕
与x86指令集掌握在两家企业手中不同,ARM指令集是一种可以开放授权给任何一家CPU厂商的指令集。这是因为ARM指令集的创造者,英国Advanced RISC Machines(缩写为ARM)公司是一家CPU架构设计公司。ARM公司将设计好的指令集和架构授权给CPU开发企业收取授权费用,但自身不直接参与CPU的开发和生产。
ARM指令集像手机的Android操作系统一样开放,获得授权的CPU厂商都可以基于ARM指令集设计自己需要的CPU。而且,ARM指令集CPU功耗低、能效比优秀,在移动端设备和消费电子类产品中广泛应用。
因此,ARM指令集就成了国产CPU厂商一条新的选择,华为鲲鹏和飞腾均获得ARM v8指令集永久授权,可以研发设计自己的CPU产品,并都取得了不错成绩。
目前,最有代表性的是2019发布的鲲鹏920,作为7nm数据中心ARM处理器,专为大数据处理以及分布式存储等应用而设计,在非x86指令集产品中算力有明显优势。而飞腾则建立了KPS体系,用飞腾CPU(Phytium)和麒麟操作系统(Kylin)和S-Security”的立体防护安全链,安全性较有保障。
但是,ARM公司已经宣布不再向国内厂商提供ARM v9指令集的授权。ARM v9被视作自Armv8以来的重大变革,在AI与安全性能上均有大幅度升级,这使得鲲鹏和飞腾都将面临技术迭代断档的风险,而且,基于ARM公司的授权协议,即便鲲鹏和飞腾在ARM v8基础上自行研发出了与ARM v9相同的功能,也同样构成侵权。鲲鹏背后的华为,飞腾背后的中国电子,有实现迭代开发的技术能力,却受困于知识产权限制而难以发挥自身实力。
这种”断供”违背了ARM公司走开放、中立路线的承诺,也会使其失去规模巨大的中国市场,但也截断了鲲鹏、飞腾等国产厂商的迭代努力。这一令人扼腕的局面,只能再次说明核心技术只能靠自身的研发投入,才能掌握在自己手中。
04
授权+自研指令集:自主研发前路可期
与ARM指令集面临“断供”局面不同,龙芯和申威走的“授权+自研”指令集路线,确实将底层技术牢牢地掌握在了自己手中,但这也意味着,龙芯和申威都要补足生态上的短板,这可能是一条比自主研发指令集更难的道路。
龙芯在获得MIPS指令集授权后,借鉴创新出LoongArch指令集,申威则是在Alpha指令集基础上自研SW-64指令集。这可以简单理解为指令集技术的“逆向工程”,先买别人的来研究仿制,再独立开发,并一步步迭代。
这条路走的艰难,在没有前人领路,只能“自学”的情况下,龙芯完成研究到独立开发迭代。目前,在性能方面,龙芯制程工艺达到12nm节点,性能逐步达到七八年前主流水平。这表明授权+自研指令集路线的CPU,虽然还没有追上主流CPU的性能,已经取得了不小的进步。
而更大的困难在于,“授权+自研”指令集路线较难形成软件应用齐全、硬件适配广泛的生态。无论是LoongArch指令集还是SW-64指令集,本质上都是只有特定领域的极少数人使用的“方言”。就像出门在外必须说汉语普通话,走向世界必须能说英语一样,只会说“方言”是无法参与主流生态中的,也就无法形成真正的市场竞争力。因此,目前龙芯和申威,都只能在军工、航天、超算等特种领域中应用。
目前看,海光代表的x86指令集路线,有机会形成自己独立的技术和生态上双轮驱动,要更广阔的商业前景。鲲鹏和飞腾代表的ARM路线如果能解决版本迭代问题,可望必将迎来新一轮快速增长,而龙芯代表的授权+自研路线,则在自立更生道路上试探前行。
CPU行业的规律是强者恒强,因此指令集不仅仅是技术问题,更决定了商业版图。我们只能在别人已经确定市场格局中,寻找自己创新发展的空间。这是必须面对的挑战,是后来者的必经之路,但绝不会让国产CPU产业停下脚步。