首页 > 文章 > 经济 > 产业研究

龙芯符合自主可控 ARM是伪自主

铁流 · 2020-05-31 · 来源:铁君
关注龙芯 收藏( 评论() 字体: / /

  本文主旨为以下三点:

  一是回溯龙芯20年前为何选择MIPS。

  二是介绍龙芯已经成为MIPS生态的维护者和破坏者。

  三是分析为何龙芯能够符合自主标准,而鹏鲲、FT购买ARM授权受制于人。

  

  龙芯当年为何选择MIPS

  在20年前,龙芯最初只是中科院计算所的一个课题组,只有十几个人和一间40平方的办公室,研究目标是设计一款能用的CPU。当时如果自己设计一套指令集,将会面对没有编译器、没有操作系统、没有软件可用的局面,全部都需要自己开发。

  由于资金和人员等条件有限,小小的课题组无法支撑这么大的工程量,当年,胡老师曾经想借鉴Alpha定义一套指令集,但唐老师从现实考虑选择了MIPS——因为x86无法获得授权,而当时的ARM还局限于嵌入式,混的还不如MIPS,架构授权昂贵且禁止其他厂商修改添加指令集,MIPS架构授权容易获得,且MIPS非常学院派,允许自主添加指令集,唐老师当年选择MIPS是理所当然的。

  根据《龙芯的足迹》一书披露,龙芯从MIPS获得的是永久授权。若MIPS主体不复存在则龙芯不需继续付费,可以一直兼容MIPS。相对于ARM动辄上亿的架构授权费用,MIPS的授权费用堪称白菜价。

  龙芯能够以如此低的标的获得MIPS授权,一方面与MIPS行业地位不够强势,且非常学院派,架构授权便宜,IP授权昂贵的授权策略有关。另一方面,也是因为龙芯剥离了MIPS的技术支持服务和各种工具软件,购买的是“纯净版”指令集授权,才能把价格压至最低。

  龙芯的发展过程中,起初是打算借用MIPS已有的软硬件生态,这与使用ARM授权的国内同行们一样。但没有想到MIPS会逐渐淡出主流市场,然而这种出乎意料的发展,反而给了龙芯留下了更大的舞台。

  龙芯之所以坚持MIPS,而没有像FT那样从SPARC转投ARM,主要有以下两点:

  一是龙芯以MIPS架构为基础构建了自己的扩展指令体系,这些成果无法转移到封闭的ARM指令集体系中;

  二是因为龙芯很穷,付不起ARM的架构授权费。

  目前,龙芯成为了MIPS生态的坚定的守卫者,许多开源项目的MIPS分支都逐渐把龙芯作为编译平台,龙芯也为MIPS的生态贡献了大量成果。比如前段时间报道的龙芯对JAVA虚拟机的贡献度排名全球第五,而它前面的几家公司都是甲骨文、谷歌这样的巨无霸。

 

  龙芯是MIPS生态的破坏者

  最初,龙芯从只注重CPU研发,然而光有芯片没有生态显然是无法在市场立足的,在吃了不少苦头之后,龙芯逐渐步入重视软硬件生态建设的路线。

  由于MIPS生态本身的衰落,龙芯多年来已经成为了兼容MIPS的唯一的桌面和服务器CPU设计者,在设计兼容MIPS的CPU的公司中,是唯一的桌面和服务器软硬件生态的建设者。这种尴尬的“领导者”身份使龙芯可以心无旁骛地发展自己的生态,向CPU中添加各种新的指令来提升性能和扩展功能,而不必操心与其它MIPS CPU的兼容性问题。

  龙世3A4000龙芯以MIPS R5为基础,对MIPS基础指令精选替换,以及自行扩展了1000多条指令,发展出了自己的指令集体系——LoongsonISA。LoongsonISA要比MIPS(216条基础指令+311条DSP指令)庞大得多,MIPS只它的一个子集。上一代龙芯CPU只兼容MIPS R3,如今兼容R5大概是准备收割MIPS最后的遗产。

  龙芯与MIPS的关系,更像是AMD与英特尔的关系。在龙芯对很多软件进行移植优化的时候,也不忘同时带上其他MIPS处理器的支持,在v8,OpenJDK等JIT虚拟机中,龙芯都已经成为了整个MIPS架构的代码维护者。最近UOS也把Loongson内核与x86内核、ARM内核并列,其中一项亮眼的更新是增加了对龙芯3A4000的支持。

  龙芯在MIPS的软件生态方面已经获得了一定的主导地位。龙芯成为了Java运行环境OpenJDK 13的一大贡献者,现在维护着上游MIPS架构和龙芯扩展的代码。诸多多媒体库,例如FFmpeg,libvpx,OpenH264,libyuv等,都已经由龙芯针对自己的MMI以及MIPS的MSA等向量指令进行优化并提交给上游。有些库支持龙芯扩展指令甚至比支持MIPS的扩展指令还早。Linux内核的上游也一样被龙芯生态链成员维护着。龙芯在开源软件方面已经获得了一定的发言与控制权。

  MIPS原本的生态绝大部分已经是历史,龙芯如今的软件生态主要是来自龙芯自己维护的各种开源项目,以及国内各家软件开发商对产品的移植,本质上已经不能再称为MIPS软件生态,而应当称为龙芯生态。事实上,在移植一些软件的时候,已经要区分龙芯版本和MIPS版本了。

  在过去这些年,无论是Imagination,还是Wave Computing都没有在MIPS投入多少资源,都只是在拿MIPS的IP赚钱,尽可能榨取MIPS的剩余价值,主要精力分别放在各自的主营业务——GPU和AI芯片上。直接的结果就是MIPS的CPU发展非常慢,如今,龙芯3A4000的性能已经大幅超越了MIPS CPU,随着时间的流逝和龙芯的发展,MIPS的专利会逐步过期,LoongsonISA中的MIPS基础指令会被龙芯逐步替换,LoongsonISA中龙芯扩展的指令比重会越来越高,当龙芯生态逐步成型,常用软件普遍支持LoongsonISA后,LoongsonISA则会与MIPS分道扬镳,从这个角度看,龙芯是MIPS生态的破坏者。

  

  龙芯和MIPS关系类似于AMD和Intel  鹏鲲FT则是ARM阵营打工者

  为何龙芯兼容MIPS可以称为自主路线,而鹏鲲、FT则购买ARM架构授权则会受制于人,铁流认为,有以下三个原因。

  一是能否掌握指令系统发展权。之前介绍过,MIPS本身就是学院派的产物,是第一种商用的精简指令集,这使得MIPS指令比较“古老”,很多专利已经过期或快过期了。加上MIPS非常学院派,允许其他厂商自主修改或添加指令,这一方面导致MIPS生态破碎化,另一方面也给其他厂商更多自主发展的空间。

  经过这些年,龙芯对MIPS的扩展也越来越深入,从最开始的扩展运算访存以及二进制翻译指令,到后来的硬件页表索引以及虚拟化指令,再到现在对基础指令进行更加高效的替换。3A4000引入的AMO原子操作系列指令代替了MIPS原先的LLSC系列指令,使得应用多线程操作的效率大大提高。PC相对寻址指令则可以解决MIPS当前在PIC/PIE实现方面依赖特殊的“abicall”机制,效率较低的瓶颈。Cpucfg则解决了MIPS平台下应用无法识别CPU对扩展指令支持的弊病。龙芯在兼容MIPS的同时也在一点点甩掉来自MIPS的历史包袱,从底层创新。这是其他ARM的附庸想都不敢想的。

  相比之下,Arm指令集本身一般不允许客户随意扩展,而其官方对指令集的演进扩充流程需要复杂的投票决议,有很长的决策周期,对各种需求无法作出快速响应。即便国内ARM阵营厂商私自添加指令,也存在被解读为非法指令的风险,不仅无助于性能提升,反而会带来稳定性问题。不仅仅是指令集,在GIC中断控制器,PSCI电源管理接口方面Arm也有严格的标准限制,厂商的自由度很小。

  二是ARM非常强势,而MIPS非常弱势。ARM在其建立的产业生态非常强势,当ARM推出新版本的指令集时,就必须再次购买授权。如果不继续购买授权,那么当同类CPU的其它公司都升级之后,各家软件开发商也不会死守在老版本的指令集上不动摇,即使软件有兼容机制可以在老版指令集的CPU上运行,但新版的指令集肯定有加速某些计算的新指令,这样即使CPU核心设计水平相当,也无法抵消巨大的性能差距,继续使用老版本指令集就必然会落后于市场。ARM的阵营唯一特例是苹果,因为它牢牢掌控了自己的操作系统。假如苹果把IOS授权给其它厂商,或者苹果手机也用安卓系统,那么它就会立即失去生态独立的优势,泯然于众人。

  造成这种困境的原因就是,ARM指令集的主导权始终在ARM手里,其主流生态基本无可撼动,整个产业链都是跟着ARM的步伐走,不可能放弃ARM主流生态。在同类产品中,绝大多数用户选择的原则,永远都是“更新型更先进”。

  国内的ARM CPU的一种生存模式,就是建设出国外同行暂时放弃或无力插手的ARM桌面和服务器生态,发展使用ARM指令集的桌面及服务器CPU。付出巨大的努力之后,也许能够在特定市场上部分替代Intel和AMD,然而由于使用ARM指令集,那么国外同行也能很快设计出用于桌面和服务器的ARM CPU,然后以性能和价格的优势把国产ARM CPU从公开市场中彻底驱逐出去,窃取胜利的果实,只留下一些受政策保护的小众市场。驱虎吞狼,又或兔死狗烹。

  相比之下,MIPS则非常弱势,公司已经两度转卖,新东家Wave Computing申请破产保护,MIPS已经穷途末路,在可以预见的未来不可能再干涉到龙芯的发展。龙芯当前架构同频性能已经与AMD 2017年的Zen架构相当,明后年持续改进内核并更换工艺提升频率就能进一步接近AMD水平,已经不存在性能超越龙芯的MIPS CPU,具有很强的不可替换性,ARM阵营中可能存在的驱虎吞狼、兔死狗烹的问题,对于龙芯而言,完全不存在。

  由于MIPS允许其他厂商自主扩展修改指令集,龙芯已经发展出了自己的LoongsonISA,而且在很多方面已经主导了MIPS生态建设。运行于龙芯的系统和软件一旦使用了龙芯的扩展指令集,就不能在其它的MIPS兼容CPU上直接运行,这也是对自己生态的保护措施。一旦龙芯的自主扩展和修改的指令被产业生态广泛支持,那么,龙芯与MIPS变成AMD和英特尔的关系将不可避免。

  当年,AMD就是趁着英特尔推广安腾的时候,率先推出了64位指令集,并获得X86生态的广泛支持,并最终实现在X86阵营内与英特尔分庭抗礼。AMD成功范例在前,国内很多从业者却对此视而不见,并强行把龙芯与MIPS关系等同于鹏鲲、FT与ARM的关系,则显然是非常值得商榷的。

  MIPS如果继续衰败下去,同时龙芯在硬件和软件上继续发展,那么,龙芯和MIPS的关系变成AMD与英特尔的关系只是时间问题。对于那些使用ARM授权的CPU,无论是IP授权,还是架构授权,都无法做到这一点,因为ARM把生态统一性守得太紧,生态碎片化是不被允许的,鹏鲲、FT根本就没有自主发展的机会。

  打个通俗易懂的比方,ARM地位就像汉武帝,哪怕麾下大将再能打,也不可能翻天,只能给汉武帝打工一辈子。运气差的,被巫蛊之祸(川普制裁)牵连,没准还要重蹈赵破奴的命运。诚然,现在ARM主要还是英国资本和日本资本,但这两个都不是中国的好朋友,反而是美国的盟友和小弟。MIPS作为最早商用的RISC指令集,影响力还是有的,地位有点像汉献帝,但比较弱势,在这种情况下,龙芯有机会去当董卓或曹操的。

  三是MIPS授权成本很低,而ARM授权成本很高。目前,龙芯MIPS授权的费用几乎就是白菜价,而且随着Wave Computing申请破产保护,MIPS甚至有成为公共知识(public domain)的可能性,因为如果没有“白衣骑士”拯救Wave Computing,或收购MIPS,或者因为没钱赚不去主动交纳维护MIPS那些古董专利的专利费,那么,MIPS就成为公共知识,这样一来,MIPS将成为比RISC-V更加自由开放的体系,龙芯连白菜价的授权费都不用支付了。即便出现新买家,MIPS公司继续走下坡路的大势已经是定局,不能对龙芯形成掣肘。

  作为对比,ARM授权成本很高,按照授权等级的差异,动辄上数千万美元,甚至几亿美元,而且还只是一定期限的,到期了要重新谈判。ARM的指令集在不断发展,必须一直买,就构建产业链来说,国产ARM厂商只能成为产业链的一个打工者,类似于联想、华为在Wintel体系和AA体系中被剥削,只能赚血汗钱,洋人赚取高额利润。正是因为众多厂商无法忍受ARM的贪婪,才有RISC-V在全球兴起。可以说,购买ARM昂贵授权这种模式不利于一个产业的长远发展。而龙芯、申威构建的红色产业链,则不存在这方面的问题。

  

  指令集和操作系统必须牢牢掌握

  文末,铁流引用一位网友的话。要想实现商业上完全的自主可控,必须要牢牢掌握指令集和操作系统,如果一家厂商无法兼顾,那么,退而求其次必须掌握一种。否则就很容易受制于人,当年,Intel 通过指令集升级、知识产权诉讼、技术路线改变等手段消灭了除AMD之外的历史遗留的所有对手,AMD通过反垄断苟延残喘的时候,又凭借自己设计出的AMD64架构在微软支持下复兴,成功倒逼Intel交叉授权。

  微软、谷歌凭借对操作系统的把持而分别统治了桌面和移动生态。苹果通过对操作系统的封闭,依靠差异化竞争牢牢地在桌面和移动设备中占据了一席之地。

  国家要想实现信息化建设的自主可控,那么指令集和操作系统都必须掌握在自己手中。

  龙芯如AMD那般发展出了自己的指令集,且在国内软硬件厂商支持下,成功构筑了基本满足办公和日常使用的生态,MIPS的影响力却已经可以忽略不计。尽管由于资源不足,龙芯发展很艰难,但我认为只要路线是正确的,坚持下去就有希望。

  世事变迁造就了龙芯的现状,从研究CPU设计的课题组,转变为在市场上艰难求存且默默无闻的小公司,再发展成了自建生态并带动大批配套企业共同发展的核心企业。龙芯随着政策的变化而自立,随着MIPS的衰退而崛起,随着中美摩擦明朗化而更加重要,随着20年技术积累而无所畏惧,也是时势造英雄吧。尽管龙芯体量还很小,但对自己的命运却能自主可控。

「 支持!」

 WYZXWK.COM

您的打赏将用于网站日常运行与维护。
帮助我们办好网站,宣传红色文化!

注:配图来自网络无版权标志图像,侵删!
声明:文章仅代表个人观点,不代表本站观点—— 责任编辑:青松岭

欢迎扫描下方二维码,订阅网刊微信公众号

收藏

心情表态

今日头条

最新专题

130周年

点击排行

  • 两日热点
  • 一周热点
  • 一月热点
  • 心情
  1. 普京刚走,沙特王子便坠机身亡
  2. 湖北石锋:奇了怪了,贪污腐败、贫富差距、分配不公竟成了好事!
  3. ​吴铭:为什么不从所有制角度分析问题呢
  4. 李光满:从刀郎看中国文人的风骨
  5. 清华大学哈弗版经济管理学院还有必要办下去吗
  6. “氢政治”: 三个颠覆性预测, 为何都指向中国?
  7. 星燧:普京的“闪电”中东行
  8. 2024请回答,中国市场经济“边”在哪里?
  9. 司马南:黄金万两——一项美国的核心秘密
  10. 大蒜也有错?
  1. 这轮房价下跌的影响,也许远远超过你的想象
  2. 普京刚走,沙特王子便坠机身亡
  3. 判处死刑,立即执行,难吗?
  4. 送完一万亿,再送一万亿?
  5. 李昌平:我的困惑(一)
  6. 不顾中国警告,拜登出尔反尔,解放军发出最强音:绝不手软!
  7. 湖北石锋:奇了怪了,贪污腐败、贫富差距、分配不公竟成了好事!
  8. 又一处敬立毛主席塑像,各地纪念活动越来越多
  9. 紫虬:从通钢、联想到华为,平等的颠覆与柳暗花明
  10. 李昌平:县乡村最大的问题是:官越来越多,员越来越少!
  1. 张勤德:坚决打好清算胡锡进们的反毛言行这一仗
  2. 郭建波:《文革论》第一卷《文革溯源》(中册)论无产阶级专政下继续革命的理论和文化大革命
  3. 郝贵生|如何科学认识毛主席的晚年实践活动? ——纪念130周年
  4. 吴铭|这件事,我理解不了
  5. 今天,我们遭遇致命一击!
  6. 不搞清官贪官,搞文化大革命
  7. 尹国明:胡锡进先生,我知道这次你很急
  8. 三大神药谎言被全面揭穿!“吸血鬼”病毒出现!面对发烧我们怎么办?
  9. 说“胡汉三回来了”,为什么有人却急眼了?
  10. 当心,他们要对孩子下手了!
  1. 张殿阁:在十大开幕式上执勤——记伟人晚年几个重要历史片段(二)
  2. 这轮房价下跌的影响,也许远远超过你的想象
  3. 《决裂》:我们到底要与谁决裂?
  4. 不顾中国警告,拜登出尔反尔,解放军发出最强音:绝不手软!
  5. 记忆:流浪汉张来娃儿
  6. 《邓选》学习 (七)
Baidu
map