芯片也开源?网红RISC-V,到底是什么东东?
前几天小枣君给大家介绍了开源基站O-RAN。
今天小枣君又要给大家介绍一个开源的东西,那就是现在半导体行业的网红、被很多人称之为“开源芯片”的RISC-V。
说到芯片,自从中兴被美国禁运事件起,国人对芯片的关注度被提升到前所未有的高度。似乎一夜之间,所有人都知道了芯片的重要性,体会到“缺芯”会导致多么严重的后果。
今年,华为又被美国政府盯上,列入了实体名单,再次引发全国范围对芯片自主研发能力的关注和讨论。
内外因的综合作用下,国家重点加强了对芯片领域的投资,越来越多的企业开始重视对芯片研发的投入。
而RISC-V,在这个关键节点,将很可能发挥非常关键的作用。
究竟什么是RISC-V?
RISC-V,一般被念做:risk five。V,就是罗马数字5。
很多人提到RISC-V,都会说它是开源芯片。其实这种说法是不对的。准确来说,RISC-V是一个基于“精简指令集(RISC)”原则的开源指令集架构。
别怕!我可以通俗地解释一下!——
指令集,对于CPU来说,就是介于软件和底层硬件之间的一套程序指令的合集。指令集存储于CPU内部,引导CPU进行运算,并帮助CPU更高效地运行。
PC电脑里面的CPU芯片(中央处理器)我们现在常用的台式机电脑或服务器,使用的主要是英特尔和AMD公司的CPU。这类CPU使用的指令集,属于“CISC复杂指令集”。CISC,就是Complex Instruction Set Computer(复杂指令集计算机)。
一款CPU支持的指令集,可以有很多种。
早期计算机的CPU,都是基于CISC架构的。
当时编译器的技术并不纯熟,程序都会直接以机器码或是组合语言写成,为了减少程序的设计时间,逐渐开发出单一指令,复杂操作的程序代码。设计师只需写下简单的指令,再交给CPU去执行。
但是后来有人发现,整个指令集中,只有约20%的指令常常会被使用到,大约占了整个程序的80%;剩余80%的指令,只占了整个程序的20%。(典型的二八原则)
于是,1979年美国加州大学伯克利分校的David Patterson教授提出了RISC的想法,主张硬件应该专心加速常用的指令,较为复杂的指令则利用常用的指令去组合。
RISC,就是Reduced Instruction Set Computer,精简指令集计算机。
简单来说,CISC任务处理能力强, 适合桌面电脑和服务器。但高性能也带来高功耗的问题。
而RISC通过精简CISC指令种类,格式,简化寻址方式,达到省电高效的效果,适合手机、平板、数码相机等便携式电子产品或物联网产品。
上个世纪80年代,ARM公司就是基于RISC架构开始做自己的芯片,最终一步一步崛起,战胜了英特尔,成为现在的移动芯片之王。如今,包括华为麒麟、高通骁龙在内的大部分手机终端和物联网设备芯片,都是基于ARM的架构设计。
注意,我说的是ARM的架构,而不是ARM的芯片产品。
ARM这家公司的商业模式很特别。它做的是芯片的架构设计,相当于画工程图纸,然后把图纸卖给各大芯片制造公司,例如华为。这些公司基于这个原始图纸,进行修改,最终设计自己想要的芯片,交付芯片工厂(例如台积电)去生产出来。
当然了,ARM的图纸并不是免费的。不仅不免费,而且价格非常昂贵。
根据网上的资料显示,ARM的授权费从几十万美元到几百上千万美元不等。法国有一家芯片创业公司接受媒体采访时曾说,他们如果使用ARM架构,要花掉1500万美元的授权费。(这个回答后来遭到ARM的否认,不管怎么说,反正不便宜。)
现如今,随着5G、物联网、人工智能等技术的蓬勃发展,越来越多的企业开始生产和制造服务于各个垂直行业的终端和模组。
这也就意味着,越来越多的企业要被迫接受ARM或其它芯片巨头的“盘剥”。
大企业还好说,交就交呗,但对于很多中小型企业甚至初创企业来说,这几乎就是彻底关闭了前进的大门。
这时候,就有人勇敢地站出来了。
2010年,加州大学伯克利分校的一个研究团队正在准备启动一个新项目。在为新项目选择指令集的时候,他们发现,x86指令集被Intel控制得死死的,ARM指令集的授权费又非常贵,MIPS、SPARC、PowerPC也存在知识产权问题。
在这种情况下,研究团队毅然决定,从零开始,设计一套全新的指令集。
在外人看来,这是一件令人望而却步的工作。但事实上,伯克利的研究团队只召集了一个4人小组,用了3个月的时间,就完成了RISC-V的指令集开发。
虽然看似非常轻松,但其实是有前提的。RISC-V之所以是个V(Five),就是因为它之前已经有过I、II、III、IV。
负责带队研制这些RISC指令集的,不是别人,正是伯克利分校的David Patterson教授。往前翻翻这篇文章你就会发现,他就是RISC指令集的真正创始人。当年那篇正式提出精简指令集设计思想的开创性论文——《精简指令集计算机概述》,就是他和另一位名叫Ditzel的学者共同发表的。
David Patterson教授,后来获得了图灵奖正是因为有相关的技术沉淀,伯克利分校的团队才能在短期内做出了RISC-V。
第一代RISC-I处理器,早在1981年就已经做出来了。
RISC-V指令集非常精简和灵活。它的第一个版本只包含了不到50条指令,可以用于实现一个具备定点运算和特权模式等基本功能的处理器。如果用户需要的话,也可以根据自己的需求自定义新指令。
高校毕竟是高校,功利心没有那么重。再加上研究团队本身确实也没钱没人去维护它。所以,在做出RISC-V指令集之后,研究团队决定,将它彻底开放,使用BSD License开源协议。
BSD(Berkeley Software Distribution)开源协议是一个自由度非常大的协议,几乎可以说是“为所欲为”。它允许使用者修改和重新发布开源代码,也允许基于开源代码开发商业软件发布和销售。
这就意味着,任何人都可以基于RISC-V指令集进行芯片设计和开发,然后拿去卖钱,而不需要支付授权费用。
这就很嗨了,大批公司开始加入对RISC-V的研究和二次开发之中。
短短几年的时间里,包括谷歌、华为、IBM、镁光、英伟达、高通、三星、西部数据等商业公司,以及加州大学伯克利分校、麻省理工学院、普林斯顿大学、ETH Zurich、印度理工学院、洛伦兹国家实验室、新加坡南洋理工大学以及中科院计算所等学术机构,都纷纷加入RISC-V基金会。
目前,RISC-V基金会共有包括18家白金会员在内的235家会员单位(数据截止2019年7月10日)。这些会员单位中包含了半导体设计制造公司、系统集成商、设备制造商、军工企业、科研机构、高校等各式各样的组织,足以说明RISC-V的影响力在不断扩大。
正如前文所说,RISC-V对于我们国家的芯片事业有着非常重要的意义。
长期以来,我们国家的芯片研发都受制于人。如果国内企业或科研机构能够利用开源的RISC-V做出基本自主知识产权的芯片,或者培养出相应的生态环境,将大大有利于中国半导体行业进行弯道超车。
因此,包括中科院计算所、华为公司、阿里巴巴集团等在内的20多个国内企事业单位,选择加入了RISC-V基金会。阿里还是其中的白金会员。
2018年7月,上海经信委出台了国内首个支持RISC-V的政策。10月,中国RISC-V产业联盟成立。产品方面,中天微和华米科技先后发布了基于RISC-V指令集的处理器。
基于RISC-V开发的黄山1号(华米),全球可穿戴领域第一颗人工智能芯片我们的邻居印度,对RISC-V的热情更是高涨。在过去数年中,印度政府资助的处理器相关项目都开始向RISC-V靠拢。RISC-V已经成为了印度的国家指令集。
RISC-V的快速发展,给ARM这样的企业带来了很大的压力。
ARM公司去年6月份就专门建了一个域名为riscv-basics.com的网站,里面的内容主题为“设计系统芯片之前需要考虑的五件事”,从成本、生态系统、碎片化风险、安全性和设计保证上对RISC-V进行攻击。
RISC-V这边针锋相对,建了一个域名为arm-basics.com的网站,以“设计系统芯片之前需要考虑的六件事”为题(在ARM列出的五项上,新增了社区支持),对 ARM 进行反击。
几天后,ARM的riscv-basics.com的网站悄然下线。
尽管RISC-V在这场短暂的“撕逼”中获胜,但ARM提出的那五个方面的质疑,也不是完全没有道理。尤其是碎片化问题,作为开源技术,RISC-V的确很难规避。
(碎片化:由于RISC-V允许用户自己任意添加新的指令,但照此趋势发展下去,可能以后很多芯片厂商开发出的RISC-V架构处理器尽管都归属于同一RISC-V体系,但在实际应用搭配时却不能够适配同样版本的软件。)
总而言之,RISC-V可以被看成是一个充满生命力的年轻搅局者。寄希望于它能够在短时间内和传统巨头抗衡,是不现实的。但是它举起了打破垄断的大旗,为沉闷的行业生态注入了新鲜的活力,值得我们为之叫好,也值得我们学习。
星星之火可以燎原,或许这个搅局者将来真的能成为领导者,也不一定呢。