有人提出一些问题——为何国产芯片要去通过这些国际标准认证?为何像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上进行评测(图源:包云岗)
综上,我们可以总结处理器生态的几个关键词——标准规范、高质量实现、技能体系网络、认证。
来源|不雅观察者网









