RISC-V 生态架构浅析
前言
RISC-V最近越来越多的出现在科技新闻中,大量的公司加入到RISC-V研究和生产中。在越来越多的RISC-V研究热下,毋容置疑的是RISC-V的时代即将到来。让我们在这浪潮翻滚起来前,一起掀开RISC-V的神秘面纱,提前了解一下RISC-V究竟是什么。
什么是RISC-V
RISC-V应该泛指RISC-V指令集及其衍生出来的一系列生态。而RISC-V指令集,类似于INTEL的X86 ,ARM指令集,是一个被CPU读取到内存后,指导计算机运行的指令集合。实现了该指令集的CPU,能执行指令集中规定的所有基本指令,使按该套指令集编译的程序能够无障碍运行,且具有同系列CPU可移植和兼容性。
指令集有点类似于HTML规范,只是定义了基本的语法和规则。各个浏览器厂商依据该规范,自行投入研发能力实现出不同的产品,如下图所示。同一套HTML5规范,各个浏览器开发商实现的质量各有千秋,很显然让前端开发崩溃的IE已经如图所示自杀了,微软Edge已经转向了Chrome的怀抱。
在芯片领域,应用范围最广的指令集都是收费的(X86基本不对外授权,ARM费用相当不菲),你能想象HTML5标记语言需要花几百万上千万美元授权才能开发浏览器吗?这真的是难以想象!所以芯片设计领域迫切需要一个行业认可的,高品质的指令集,它应该是OPEN的,免费的,一个世界范围可以参考使用的芯片指令标准。
RISC-V指令集正式因为伯克利大学想开发一款CPU时,要么是一些老旧的架构,要么收费昂贵,芯片设计领域亟需一个开源的指令集。神说要有光,就有了光,神说要有空气,就有了空气,神说要有好的开源指令集,于是就有了RISC-V,没有好的轮子就造个轮子。RISC-V基金会就如W3C,RISC-V指令集就如HTML5,HTML5掀起了web领域的一场革命,RISC-V也将带来芯片领域的一场革命。
为什么不自己设计一套指令集?
目前应用领域最流行的两大指令集是X86和ARM,一个主宰服务器和PC,另一个主宰移动领域。X86被Intel,&AMD两家美国公司垄断; ARM指令集以前是英国的,现在已经被日本软银收购。而特朗普贸易战多动症发作的时候,这些指令集都被限制对华为授权或者销售。因为他们很大一部分都在美国霸权主义的控制范围之内。
很多人会问,RISC-V也是美国人发起的,话语权依然在美国人手里面。为啥中国不自己搞一套指令集,即便从RISC-V借鉴一下,搞个CRISC-6也可以。据说RISC-V第一版本指令集伯克利大学4个人从设计到发布只用了3个月。
这个就和HTML5标准是类似的,全球的浏览器应该基于一套免费的,开放的W3C制定的标准,而不是另起炉灶各自开发。否则你将不能得到大量开源社区的支持,如Linux社区,JDK相关支持,你将在全球首肯的生态圈外,最终要死不活。就像IE的自定义HTML标记,除非有个微软这样的好爸爸才有人基于你进行开发。然而即使IE有个好爸爸,最后还是挂了,因为对W3C的兼容性太差,让开发者痛苦的技术一定会被抛弃!故而处理器架构必须是全球范围的一个通用架构,必须获得生态支持,指令集不难,难得是成为事实标准并被全球采纳,被顶级工程师和开源社区主动提供适配支持。
世界需要技术标准,从IEEE,W3C到5G。技术标准可以让世界沟通更加流畅,节省更多的开发成本!
BSD协议,在RISC-V指令集基于这一开源领域非常自由的开源协议发布时,我们暂且相信这一指令集如该协议声明的那样开放。在RISC-V发展进程中,去拥抱它,发展它,合作构建一套自主可控且全球公认的指令集生态。如果有一天被限制了,基于BSD协议去兼容它。毕竟按常理国外一开源,国内就自主这个套路还是可以继续使用的。何况RISC-V本身只是一套指令集标准和规范。
缘起
该项目2010年始于加州大学柏克莱分校,但许多贡献者是该大学以外的志愿者和行业工作者。
在2010年,伯克利研究团队要设计一款CPU,然而,英特尔对X86的授权卡的很严,ARM的指令集授权很贵,MIPS、SPARC、Open Power也都需要各自的公司授权。在选择很有限的情况下,伯克利的研究团队决定从零开始设计一套全新的指令集。而被很多媒体大肆宣扬也让人振奋的是,伯克利的研究团队4名成员仅用了3个月就完成了RISC-V的指令集开发,并公开发布了第一版指令集。正如行业内常说的,设计一套指令集并非黑科技,用这套指令集去实现CPU 才是真正具有含金量的工作。该指令集的第一个版本只包含了不到50条指令,可以用于实现一个具备定点运算和特权模式等基本功能的处理器。目前,伯克利研究团队已经完成了基于RISC-V指令集的顺序执行的64位处理器核心(代号为Rocket),