RISC-V到底是什么?其实他并不是开源的CPU设计方案

大家可能都觉得RISC-V是个开源的精简指令集CPU设计方案,其实这是错误的。RISC-V仅仅是一套精简指令集的定义,开源的意思是任何人都可以免费获得指令集,并且自己去实现指令集,不需要支付任何费用。打个不专业的比方,指令集可以看成一张大楼效果图,图上有大楼漂亮的外观,完整的功能划分,超前的设计理念等等。你可以免费的从网上下载这张效果图,然后找人把效果图造成大楼,租售出去。出效果图的人保证不会来向你收钱。我也有更专业的比方,我把x86的指令集免费送给你,你可以自己实现兼容这套指令集的CPU,如果你的CPU做的足够好,你还可以在这个CPU上支持Windows。是不是很爽?但爽也是有代价的,我们接着说。

RISC-V真的免费吗?免费,但成本着实不低

免费,必须免费。指令集在网站上可以直接下载,文档清晰,解释清楚,扩展灵活,一看就是高手高手高高手的作品。由于没有兼容性的累赘,又是最新的设计,肯定非常贴合目前业界对CPU指令集的需求,可以说是众望所归。但是问题这个高手只给了一页A4纸的指令集,CPU怎么实现他没告诉你,高手没有提供HLS或RTL源代码,没有告诉你应该怎么Layout。这一切需要你自己想办法解决。就好像给你一张大楼效果图,免费使用。但是想要把这栋大楼造出来,你必须解决一个最重要的问题“没有施工图纸”。你必须要有一大堆工程师去设计结构,材料,水电管道,电梯楼梯,智能楼宇系统,监控系统。。。。。。,还要有工程队,还要有物业团队。。。。。。所以想把他造出来实在是太困难了。至少需要上市公司的实力,不然可能就只能造个外观接近效果图的小屋子给自己挡挡风了。反正我是用不起这免费的效果图。

为什么不少人喜欢RISC-V?喜欢的不一定是合适的。

为什么喜欢?我觉得有以下几个原因:

  1. 指令集设计太高超了,精简而高效,既严谨又可以灵活扩展,又有众多业界领袖参与设计。什么x86, Arm, PowerPC, MIPS统统都是为了兼容以前的产品拖累了产品创新。就如同贝聿铭团队推出了一份大楼的效果图,各大地产商巨头都说我以后都准备盖这样的大楼,这个楼实在太漂亮了,功能太强大了,设计太先进了,造出来了肯定火,现有的大楼以后都会住着不舒服。

  2. 指令集架构开源免费,谁都可以设计兼容的芯片。大楼效果图不要钱,拿来就可以拉几个兄弟开始造, 还可以用效果图找大款亲戚入伙。谁让这图人见人爱呢?

  3. RISC-V还有很好的扩展性,可以根据需求,增加扩展的指令集实现客户化的功能。就好像在大楼上还可以定制一些密室,满足一下自己的小小愿望。

  4. 指令集的实现方法自主可控,源代码都是自己写的,可不是放心么。就好像自己造的楼肯定安全,每块砖都是自己选的,物业保安也都是自己雇的,放心

  5. 指令集架构的生态链正在成长和完善,toolchain,IDE,仿真,虚拟机一个不会少。就好像以后可能全国到处都有这样的楼,物业,水电,管理都一套规范。如果要搬到其他城市,家具都不用换,拎包入住。

恋爱容易结婚难,合不合适只有用的人才知道。我来分析一下大家就明白了。

  1. 指令集架构好也要有好的设计才能体现出来,涉及RTL编码,layout,半导体制程,封装等一系列技术,这是一个系统工程。Intel和AMD的CPU指令集基本一样,但性能功耗的差异地球人都知道。还有TI,Cyrix,这些PC CPU先烈们也是用了同样的指令集。采用Arm指令集架构的产品就更多了,做的好的也不少,但你能说出名字的可能也就那么几家。所以指令集架构先进不代表CPU一定就好,设计水平,工艺,测试标准,等等一样都不能差。就像大楼效果图确实漂亮,但真能造出来的估计不会太多,毕竟自备设计团队,施工队和物业公司的大款太少。而且施工难度着实不小,造出来有没有质量问题还真难说。

  2. 指令集架构开源免费,但HLS或RTL不一定。业界已经有很多免费开源的实现代码了,但没有人会为质量负责,没有三包。解决方法有:买商用的版本,SiFive, Andes等,但要服务费。也可以自己做,工程师成本自己扛。我感觉都不便宜,出来的东西能不能用现在也不好说,风险不是一般的大。回到大楼效果图的比方,效果图是不要钱,但想要住着个楼。要么买现成的造好的,要么自己设计施工图,材料也要自己买,水电煤还要自己接,造出来有质量问题也要自己负责。都是时间和钱啊。

  3. 扩展性好确实很重要,但扩展的指令集就和RISC-V关系不大了,虽然组织制定了一系列规范来保证兼容性,但效果怎么样确实不好说。就像效果图上留了一片空白方框,给你做密室,还试图规定密室的布局,但毕竟密室都是自己做的,而且一定是秘密的,一切还是要自己从头来做,感觉没占到免费效果图的光啊。

  4. 指令集架构的生态系统的成长是个很复杂和漫长的过程,5年-10年都很正常。还需要一个领头羊,就像x86有了windows,x86才真正建立起生态系统,然后是Linux; Arm有谷歌Android才能造就现在的成功。同时碎片化也是一个很难处理的问题,特别是对开源的架构,这个问题会更挑战。就像效果图大楼的住户搬到其他城市同样效果图的大楼住,发现楼看上去是一样,但房门比原来的楼小了点,家具搬不进去,密室是有,但里面没有床和卫生间,不好用啊。

基于RISC-V的芯片会是个什么样子?什么样子的应该都会有

开源项目参与的人多,当然会丰富多彩,百家争鸣。所以RISC-V的芯片肯定会有很多形态。当然也就会有良莠不齐的问题。水平高的团队的产品肯定会好一些,但也不能阻止不太懂的人不尝试吧。所以会有Intel的成功典范,也会有Cyrix这样的先烈;会有ARM在智能手机产业的成功,也会有MIPS的逐渐的没落。还有一个特点就是RISC-V的芯片应该SoC为多,所以CPU主频,外围接口,功能模块会比PC CPU这样的通用CPU要丰富的多。林子大了,肯定什么鸟都会有,我觉得用淘宝买家秀和卖家秀来比喻最贴切,你不能说货不对版,但差距咋就这么大呢?说好的瓜子脸咋就变成南瓜子了,说好的大长腿咋就罗圈了呢?这都是因为虽然基本指令集都一样,但设计的方法和思路各不相同,扩展指令集千差万别。做个不恰当的比喻,虽然衣服一样,但身材不一样,脸不一样,搭配的首饰和配饰也不一样,所以出来的效果可以完全不一样。

RISC-V到底有没有前途?现在说不准。

可以说有,也可以说没有,说有前途是觉得免费又好用的东西肯定能成功,但还需要考虑更多的因素。原因如下:

1. 大厂可能真的能把好的架构变成成功的产品。就像Intel做x86 CPU,高通做的Arm指令集智能手机芯片。回到效果图的比喻,万科和万达有能力把大楼效果图变成高科技大楼,租金很高,大家抢着租。这个肯定可以有,谁让人家牛B呢?

2.但并不是每个公司都可以免费的从RISC-V指令集架构受益,因为他对技术水平,资金投入和时间的要求都不低。可以从第三方买,但一份价钱一份货。我没法自己盖楼,但我从大厂那租或买。但感觉这跟效果图免不免费已经没关系了。

3. RISC-V目前还处于早期的阶段,没有太多的实现和验证,先行者肯定要承担更多的验证,测试等小白老鼠的工作。这是必然的过程,中间的不可控因素就会很多,所以你会发现大公司都加入了组织,但并没有大动作,都是在试水的阶段。就像有公司把施工图纸做出来了,你可以去买,然后找施工队按施工图纸施工,但造出来的房子能不能通过检测人家不保证,因为还没人真把这房子造出来多,到底好不好还不确定。所以谁都会谨慎对待这件事

4. 正因为成熟的过程会比较漫长,所以不确定因素会很多,最后有没有赢家不一定,是大家共赢还是一两家独大也不好说,赢家是因为指令集架构的成功而成功,还是因为其他原因而成功都不好说。是否能达到RISC-V设计者的初衷,真的还说不准。但是钻石总会发光的,现在RISC-V这颗原石能不能被打造成海洋之星这颗宝石,请大家拭目以待。

(原文发表于ASPENCORE旗下EDN姐妹社区面包板,原文:RISC-V - 一张没有施工图纸的大楼效果图

20160630000123