CPU是承载一切软件应用的基础,CPU指令集是CPU微电路与操作系统和应用软件沟通的桥梁。操作系统和应用软件又保障着CPU和指令集生存壮大,不被同类产品轻易替代。
CPU指令集也叫“架构”,它介于软件与CPU逻辑电路之间,是对CPU功能及调用方法的精确描述,设计基于某种指令集的CPU 就是设计逻辑电路去实现指令集规范中描述的功能,CPU的逻辑电路名叫“微架构”。编写汇编程序以及编译高级语言源代码,产生的是面向某种指令集规范的二进制操作码,每条操作码对应指令集中的一条指令。因此系统及应用软件针对不同指令集的版本,就只能在相同指令集的CPU上才能运行。Java/.net和脚本程序虽然不限定指令集,但它们依赖的Java/.net虚拟机和脚本解释器,也仍然是以二进制程序的方式存在,不同指令集的CPU就需要不同版本的二进制程序。
操作系统和应用软件以及各种硬件的驱动程序都与指令集深度捆绑,围绕各种指令集构成相互依存的生态关系。虽然软件可能会有多个版本去兼容不同指令集,但每种指令集的生态都各自独立。X86和Windows、ARM和Android借助生态链中所有企业的合力,分别成就了桌面计算机和移动设备领域的霸主地位,掌控这两种指令集的Intel和ARM也因此在生态中具有无上的权力,对依赖其生态的任何企业,都能够一言决兴衰、二言定存亡。
当只有CPU核心设计能力,而没有自主指令集和自主软件生态时
1985年时,Intel挟着它推动通过的《半导体保护法》割起了韭菜,收回了对日本企业的x86指令集授权,使日本企业对x86 CPU进行的一切推广和改进都付诸东流,对x86生态的贡献反而成为了打击日本自主CPU的武器。同时美国政府也对日本半导体行业实施打压,使日本的半导体行业一落千丈。因为日本企业并没有对x86指令集的主导权,包括配套的硬件也只能按照Intel的标准设计和生产,一旦失去了与x86兼容的许可,就只能任由美国政府和Intel宰割。
不只是对国外,Intel对美国国内的企业也一视同仁,同样在1985年,Intel尝试收回对AMD的x86指令集授权,然后打了许多年官司,AMD才保住了授权。但拥有x86授权的其它企业没有这么幸运,即使扛过了官司,也没能抵挡住Intel的其它手段。即便是AMD也仍然时不时地被Intel借着各种专利问题敲打,直到它抓住了CPU从32位发展到64位的时机,自主设计了兼容x86的AMD64指令集并得到市场认可,才获得了主动权。AMD通过与Intel完成各种交叉授权,拥有了平起平坐的地位,从此与Intel的竞争只是CPU性能上的竞争,摆脱了被狭制的命运。
2000年左右,我国台湾的VIA意气风发,它的主板芯片组全球市场占有率超过了50%,于是通过收购奄奄一息的Cyrix和Centaur获得了x86指令集授权,开始进军CPU市场。兼容x86指令集可以依附现成的x86生态,不存在市场壁垒,但它的美国子公司Centaur设计的CPU性能一直不高,VIA只能依靠管脚兼容与Intel中低端CPU竞争。Intel也没有忘记时不时地敲打VIA一番,在2010年时VIA使出浑身解数,才争取到Intel把x86指令集和相关专利授权延期到了2018年。然而Intel也给VIA作出了两条要命的限制,一是不再授权VIA设计和生产与Intel CPU兼容的主板芯片组,二是不允许VIA的CPU与Intel的CPU管脚兼容,也就是不再可以与Intel的CPU原位替换。因此VIA失去了最核心的主板芯片组和集成GPU业务,CPU也迅速从市场消失,经营陷入困境,连带整个台湾的半导体行业都遭受巨大损失。
当没有CPU核心设计能力,指令集和软件生态也完全寄人篱下时
我国的手机及SoC企业差点经历这样的风险。因为国产的所谓手机CPU,实际上全都是SoC,也就是把已经设计好的芯片功能模块集成在一块芯片中。这些SoC中的CPU核心、GPU核心都完全来自外购,国内设计的只有通信模块。一旦CPU、GPU模块被终止授权,或者只是不再继续授权新的核心设计,这些手机SoC就会沉寂消亡。
国产ARM架构桌面CPU即使是自己设计的核心(不完全确定),在软件生态方面也仍然存在风险。因为软件生态是指令集的外延,ARM已经把指令集版本升级到了ARMv9,ARM主流软件生态也会逐渐向新的版本过渡。国内和企业如果坚守ARMv8,在CPU核心设计水平和生产工艺本就有差距的情况下,又缺少新指令的性能加成,就会承担被它们所依附的软件生态抛弃的风险。
也就是说,国内某些CPU产品的核心竞争力,是来自国外授权。有授权就有竞争力,没有授权就会被打落凡尘。
当既有CPU核心设计能力,又有自主的指令集和软件生态时
以Apple为例,首先它是美国公司,也就不存在被ARM中止授权的风险。Apple使用的ARM指令集实际上已经不是原版的ARM,而是添加了一些自己独有的指令。只有Apple自己的操作系统以及基于它的操作系统的应用软件,才会使用这些新的指令。Apple的系统和软件并不能兼容其它的ARM处理器,它的软件生态是独立的,是不受Intel/Microsoft/ARM/Google等影响的。因此,其它企业只能通过商业竞争来与Apple对抗,而无法使用以“上级”的身份加以任何胁迫。更重要的是,Apple自己建立的软件生态,不会成为竞争对手的。而国内设计ARM CPU的企业,它们为ARM生态作出的一切贡献,都会是竞争对手用来打击它们的武器。
Apple的生态是封闭的,龙芯的生态是开放的,这是它们最主要的区别。龙芯以往也是基于MIPS指令集扩展各种新指令,形成自己的独立生态。现在则是连指令集也一并自主,以自主指令集构建完全自主的软件生态。自主不是封闭,而是以自己为主导的开放,只有如此才有能力应对来自政治和商业方面的各种危险。特别是龙芯的二进制翻译技术,当前虽然还在紧张地开发和优化,但据可信的消息,已经可以流畅地运行PhotoShop了。龙芯以二进制翻译的方式兼容主流应用软件,既能丰富自己的软件生态,又不会给对手形成助力。
龙芯使用自主指令集,有国内最高水平的CPU核心设计能力,再加上已经完善到一定程度的自主的软件生态,使龙芯在国产CPU企业中拥有最强的抗风险能力。完全自主的优势是,即使发展到能对世界一流CPU产品构成威胁的程度,也不会受到釜底抽薪式的打击。虽然看似发展较慢,但却能保证自己安全地、健康地、持续地成长。
「 支持!」
您的打赏将用于网站日常运行与维护。
帮助我们办好网站,宣传红色文化!