网站首页 实验室介绍 科学研究 学术交流 人才队伍 开放课题 招聘信息 联系我们
实验室新闻

 
 
 实验室成功举办“走进RISC-V开源指令集及其软件生态”技术沙龙

2020-07-31 18:55:37


       芯片指令集是计算机软件和硬件之间的沟通语言,指令集架构是打通软件和硬件之间的桥梁。在产业发展过程中,逐渐形成了由X86与ARM两大指令集占据主导地位的市场格局。2011年,计算机体系结构领域科学家大卫·帕特森(David Patterson)和Krste Asanovic 所带领的研究团队发布了一套全新精简指令集架构RISC-V,逐渐与X86和ARM架构呈现出三足鼎立的趋势。

       作为一种推陈出新的指令集,RISC-V因其前瞻性、精简性、扩展性和开放的特征,具有强大的生命力,并在各个领域大显身手。依据该指令集设计的CPU已经出现在了芯片领域的各个方面,被学界和业界看作是国产自主芯片产业发展的新机遇。

       7月21日,高效能服务器和存储技术国家重点实验室(以下简称“实验室”)在线上成功举办“芯片开源就能行?走进RISC-V开源指令集及其软件生态”技术沙龙。本次活动邀请到中科院软件所智能软件研究中心程序语言与编译技术(PLCT)实验室项目总监、中国开源开发工具社区(OSDT)负责人吴伟,就RISC-V指令集架构的发展背景和现状、V指令集标准的制定、开源芯片生态建设等问题展开交流,吸引了190余名科研技术人员参与讨论。

吴伟分享

       以下文字根据嘉宾活动分享内容整理而成:

       1RISC-V的诞生背景

       RISC-V指令集,类似于X86、ARM指令集,是一个被CPU读取到内存后,指导计算机运行的指令集合。实现了该指令集的CPU,能执行指令集中规定的所有基本指令,使按该套指令集编译的程序能够无障碍运行,且具有同系列CPU可移植和兼容性。

       RISC-V起源于加州大学伯克利分校的一个暑期学生项目。2010年,伯克利研究团队要设计一款CPU,而现存的指令集架构(ISA)无法满足项目的需求。RSIC-V的设计目标是能够满足从微控制器到超级计算机等各种复杂程度的处理器需求,支持从FPGA、ASIC乃至未来器件等多种实现方式,同时能够高效地实现各种微结构,支持大量定制与加速功能,并与现有软件及编程语言可良好适配。

       吴伟表示,有一些小的指令集能够做到易于实现(simple to implement),但它们在设计上很难具有可扩展性(extensible),也就是如今RISC-V可以实现的模块化扩展。另外,不同于可以直接分发一个开源和自由软件,硬件拥有大量的专利保护,不仅是在硬件电路的设计细节方面,在指令集方面也有其知识产权。

       基于此,伯克利团队从零开始设计了一套全新的指令集。而此时,业界也正在迎来重要的商业模式转变以及一个新的创新周期。

       2、RISC-V的发展历程

出自Krste Asanovic 2019年RISC-V Summit 报告 State of the Union

       上图是RISC-V基金会所总结的RISC-V发展时间线,吴伟着重介绍了其中5个发展节点。

       第一,作为校园项目创建的伊始,伯克利团队即进行了高频度的流片(tapeout),这也是该所大学的特色。从上图可以看到,2011年以来,伯克利团队设计与实现了一个基于RISC-V指令集的顺序执行的64位处理器核心(代号为Rocket),并前后基于45nm与28nm工艺进行了12次流片。

       第二,2013年,在Linux软件领域和GNU这样的工具链领域中已经出现了一些RISC-V端口,在此基础上,一些早期爱好者和技术黑客可以进行更加广泛的尝试。这是一个非常重要的转折点。

       第三,2015年,非盈利组织RISC-V基金会成立,旨在联合和促进各个硬件和软件开源社区相互参与与配合,打造RISC-V生态系统。截至今年5月,全球已有超过500家公司、大学、科研院所等其他实体加入了RISC-V基金会。

       第四,2016年,Nvidia在公开报告中表示,将旗下GPU使用的控制核替换成RISC-V。

       第五,2017年,作为重量级的软件和开源核提供者,西部数据开始进入RISC-V领域,和RedHat、Nvidia一样,成为大力推动RISC-V发展的重要力量之一。

       3、RISC-V的特点

       第一个特点是简洁(simple)。吴伟介绍,在RISC-V最简单的指令集中,可以用在微处理器作为控制的指令数量非常少,不到ARM或X86指令数量的5%。而这种数量级同样能够得到GNU GCC等基础工具链以及基础C库的支持。因此,可以用非常短的周期和非常小的成本来完成一些简单的工作。

       模块化(modular)和稳定性(stable)这两个特点是相互关联的。RISC-V的指令集使用模块化的方式进行组织,每一个模块使用一个英文字母来表示。RISC-V最基本也是唯一强制要求实现的指令集部分是由I字母表示的基本整数指令子集,使用该整数指令子集,便能够实现完整的软件编译器。其他的指令子集部分均为可选的模块,用户能够灵活选择不同的模块组合,以满足不同的应用场景。

       最后一点,社区运营(community designed)。吴伟表示,这是RISC-V获得成功的关键一点。如Krste教授所说,现在没有任何一个人、组织、公司或者国家能够撑起完整的软件供应链,一定需要和各个上游社区进行紧密配合。

       吴伟称,为了做到community designed,首先,RISC-V基金会在指令集的标准、合规等方面进行了规定,只要能够满足这几点,那么所有的上层软件都是可用的。同时,Krste在历年报告中都会强调,RISC-V是一个自由、开放的指令集标准,但这并不意味着它是一个免费的开源软件和开源CPU的核,具体的CPU的核及硬件可以支持商业模式,并且可以进行收费。真正免费的是指令集,这是RISC-V刚开始起步的时候在业界当中非常重要的一点。

       其次,RISC-V基金会通过锁定指令集当中一些标准的成分,使得像GCC、LLVM、Linux等开源软件具有稳定性,而且让社区有动力在RISC-V后端上进行相关的支持工作。

       同时,在早期的时候,伯克利团队提供了一系列从简单到复杂的开源核,比如在2015年推出了开源的乱序执行核心BOOM(Berkeley Out-of-Order Machine),使用了约9000行Chisel语句编写,其处理性能可以达到ARM中高端处理器水平。这为很多科研院校的处理器研究工作提供了有力支持,在如今的顶级会议中依然会出现使用BOOM或Rocket进行二次开发和相关研究工作的论文。

       4、RISC-V为何如此流行

       通过前面的内容,我们能够理解为什么RISC-V如此流行。吴伟认为,不仅仅是因为开源免费,RISC-V迎合了一个新的商业模式。简单来说,摩尔定律的失效导致了大家不能再去搭工艺制造的顺风车,比如英特尔或者ARM的芯片性能不会再像过去一样每隔18个月就能得到一个近乎翻倍的效果。在这种情况下,如果要进行加速,就要对领域的特定算法和应用场景进行定制,定制本身就要求芯片在微架构层面、架构层面和指令集层面有不同设计。这种商业需求是真实存在的。

出自Krste Asanovic 2019年RISC-V Summit 报告 State of the Union

       上图是国际市场调研机构Semico Research的预测,可以看到RISC-V的增长规模非常显著。吴伟表示,PLCT实验室目前最关注的是桌面通用计算以及高性能计算部分,这是RISC-V最有发展潜力也是最有难度的应用领域,而现在RISC-V市场规模最大的则是工业领域,比如物联网或运行单一应用的程序控制芯片,RISC-V很容易进行适配移植替换

       分享过后,嘉宾和与会人员继续围绕“RISC-V软件生态发展”、“V标准指令集扩展的应用场景”、“V8 for RISC-V 实现”、“LLVM编译器的优化方案”等问题展开了深入热烈的讨论。

线上参会

       作为CPU指令架构这一核心技术,开放的RISC-V自2010年诞生以来迅速发展,全球百余家科技巨头正踊跃投入设计各种RISC-V解决方案,用来满足多样化性能和体积要求的应用。作为实验室依托单位,浪潮从2019年起成为RISC-V基金会的金牌会员,在基金会迁移到瑞士后,成为其战略会员。浪潮基于RISC-V开展了多个研究项目,使用开源的RISC-V CPU BOOM搭建原型验证平台,并进行一系列相关研究,成果在多个会议上进行了报告。

       本次技术沙龙立足于研发人员对RISC-V指令集技术和芯片设计的实际研究需求,为积极参与RISC-V社区标准的制定提供了有效的交流平台。同时,实验室致力于整合各方资源,推动产、学、研协同创新攻关,促进国内RISC-V相关技术越加成熟,实现研究成果落地。

 

       参考资料:RISC-V基金会 https://riscv.org/

 

 

[ 字体大小: 14 12 9 ] [ 打印]

高效能服务器和存储技术国家重点实验室 | 联系我们 | 京ICP备12012807号-3
© 2016 Hsslab