其他
为何国产芯片要拥抱国际标准?
▲ 更多精彩内容 请点击上方蓝字关注我们吧!
图1
有人提出一些问题——为何国产芯片要去通过这些国际标准认证?为何像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等) 。这些标准规范紧密耦合、交互协同,有机组成一个文本概念层面的技术体系网络。只有通过工程开发将这些标准规范具体实现为各种源代码或物理载体,并相互适配形成一个具体实现层面的技术体系网络,才能构成真正工作的物理计算机。(图3)
处理器指令集(ISA)是一种标准规范,一般以文本手册形式呈现。从标准规范角度来看,指令集就是整个技术体系网络中的一个节点,它必须要和其他节点协同工作。
因此,处理器芯片生态的核心技术要素在于通过高质量实现将指令集标准转变为处理器微架构设计与RTL源代码,并与其他标准规范的源代码适配,实现协同工作。根据梅特卡夫定律,当一个网络内的节点数越多,则该网络的价值也越大。对于一个处理器指令集,其对应RTL源代码能兼容的标准越多(点越多),实现的质量越高(边权重越大),则性能越好、用户体验越好,处理器生态也将会越好。
如今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上进行评测(图4),出现问题会主动修改。但是他们不会在Ubuntu上测试,这就会导致Oracle在Ubuntu上的稳定性不如SUSE和RedHat。
综上,我们可以总结处理器生态的几个关键词——标准规范、高质量实现、技术体系网络、认证。
来源:知乎@包云岗
推荐阅读
华强北MCU冰血暴:“芯片赌徒”的狂欢、谎言与挣扎
Arm起诉高通,要求销毁相关芯片设计
添加微信回复“进群”
拉你进技术交流群!
国产芯|汽车电子|物联网|新能源|电源|工业|嵌入式…..
在公众号内回复您想搜索的任意内容,如问题关键字、技术名词、bug代码等,就能轻松获得与之相关的专业技术内容反馈。快去试试吧!
如果您想经常看到我们的文章,可以进入我们的主页,点击屏幕右上角“三个小点”,点击“设为星标”。
欢迎扫码关注