百科问答小站 logo
百科问答小站 font logo



如何理解龙芯中科副总裁杜安利说国产 CPU 发展应自主研发核心技术,建立自主生态? 第1页

  

user avatar   peng-dong-feng-50 网友的相关建议: 
      

对“国产CPU发展应自主研发核心技术,建立自主生态”的理解


  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核心设计能力,指令集和软件生态也完全寄人篱下时

  海光的服务器CPU是购买的AMD Zen-的CPU核心,自己做集成和外围设计的改进。之所以是“Zen-”而不是“Zen”,是因为海光购得的CPU核心设计中,浮点运算单元被减半。去年AMD还公开宣称,不会再向海光授权新的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产品构成威胁的程度,也不会受到釜底抽薪式的打击。虽然看似发展较慢,但却能保证自己安全地、健康地、持续地成长。




  

相关话题

  英特尔点二缓AMD点三缓,是堆二缓厉害还是堆三缓厉害,哪个是方向错了? 
  大概什么时候 Windows 笔记本 CPU 才能达到 M1 这个级别? 
  64位操作系统(CPU)如何兼容32位程序/软件?请看详情。? 
  既然单个CPU性能提升有困难,为什么不把主板设计成双CPU的呢? 
  为什么cpu的浮点计算能力差,什么是浮点计算,gpu为什么擅长浮点计算? 
  为何 CPU 只用硅,而不用能耗更低的锗制作? 
  为什么英特尔酷睿系列 CPU 都出到 12 代了,6 代还卖得那么贵? 
  如果把某爱国企业的营销团队给龙芯,是不是龙芯就能拳打英特尔、脚踢 AMD? 
  Jim Keller 有什么有趣的故事吗? 
  很好奇,为什么软件要直接运行在CPU上? 

前一个讨论
有多少人会买兆芯、龙芯的电脑,帮助国产芯片渡过难关?
下一个讨论
有线耳机、无线耳机,你是怎么选的?为什么这么选?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利