国产芯片为何要通过国际标准认证?

霍兰德职业兴趣测试 0 17

文 包云岗

中国科学院计算技术研究所研究员

近日,看到两条新闻:阿里的倚天710服务器芯片通过PCIe5.0标准认证,龙芯LoongArch进入UEFI和ACPI规范。

阿里宣布倚天710服务器芯片通过PCIe5.0标准认证(图源:”阿里云基础设施“微信公众号截图)

国产芯片为何要通过国际标准认证?

龙芯LoongArch进入UFFI和ACPI规范(图源:UEFI社区微信公众号截图)

有人提出一些问题——为何国产芯片要去通过这些国际标准认证?为何像LoongArch这样的自研指令集也要兼容英特尔主导的国际标准?(英特尔在PCIe和UEFI规范的发展过程中都起到了主导作用,UEFI本身就是英特尔在1998 年启动的“Intel Boot Initiative(IBI)”项目的副产品)

这些问题正好和孙凝晖院士主持的一个关于处理器生态软课题研究内容相关。这里我就借用该课题的一些结论对上述问题进行剖析与解读,不当之处请大家多指正。

一、阿里与龙芯为何要兼容国际标准规范?

国产芯片为何要通过国际标准认证?

一台计算机如何运行,是由一组标准规范所定义。例如,在手机上触摸屏幕访问一个网站的操作,会涉及到上百个标准规范,包括硬件标准规范(如ISA、DDR、PCIe、 AXI、WiFi等)、软件标准规范(如ABI、Syscall、API、TCP/IP、SQL等)和数据格式标准(如IEEE 754、JPEG、H.264、HTML、XML、JSON等) 。这些标准规范紧密耦合、交互协同,有机组成一个文本概念层面的技术体系网络。

只有通过工程开发将这些标准规范具体实现为各种源代码或物理载体,并相互适配形成一个具体实现层面的技术体系网络,才能构成真正工作的物理计算机。

处理器生态示意图(图源:包云岗)

二、指令集在处理器生态起什么作用?

处理器指令集(ISA)是一种标准规范,一般以文本手册形式呈现。从标准规范角度来看,指令集就是整个技术体系网络中的一个节点,它必须要和其他节点协同工作。

因此,处理器芯片生态的核心技术要素在于通过高质量实现将指令集标准转变为处理器微架构设计与RTL源代码,并与其他标准规范的源代码适配,实现协同工作。

根据梅特卡夫定律,当一个网络内的节点数越多,则该网络的价值也越大。对于一个处理器指令集,其对应RTL源代码能兼容的标准越多(点越多),实现的质量越高(边权重越大),则性能越好、用户体验越好,处理器生态也将会越好。

国产芯片为何要通过国际标准认证?

三、X86和ARM为何成为主流处理器生态?

如今X86和ARM成为两大主流处理器生态,关键原因并不是Intel、AMD、ARM这些国际处理器头部企业掌控着X86和ARM指令集规范的制定权(反例:IBM掌控PowerPC指令集、SUN掌控SPARC指令集、DEC掌控Alpha指令集),更为关键的是它们投入大力研发经费在其他标准规范的源代码实现上,使其更好地兼容X86和ARM处理器,例如Intel在PCIe、Ethernet、SATA等标准规范和Linux等开源软件上有大量投入。

四、生态的商业壁垒如何形成?

如前所述,处理器生态可视为一个网络,并且网络的节点之间通过大量的认证形成了商业壁垒。今天,一项技术要进入主流市场,需要通过这些认证。

即使是一些开源技术也同样需要面对这个问题。例如,在Linux开源社区,Red Hat和SUSE这两家商业上很成功,很重要的一点是这两家企业已经积累了上万个认证——SUSE/RedHat 通过与上下游企业交叉认证,包括联想、浪潮等硬件厂商,以及Oracle等各类应用厂商。这些认证形成了很高的准入门槛。

例如Oracle数据库只对SUSE/RedHat的Linux发行版进行认证,这也意味着每个Oracle产品新版本,他们会在这两个Linux上进行评测,出现问题会主动修改。但是他们不会在Ubuntu上测试,这就会导致Oracle在Ubuntu上的稳定性不如SUSE和RedHat。

每个Oracle产品新版本都会在Red Hat和SUSE的Linux上进行评测(图源:包云岗)

综上,我们可以总结处理器生态的几个关键词——标准规范、高质量实现、技术体系网络、认证。

来源|观察者网

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。