阿里平头哥科学家亲述 RISC-V 2019 Summit 十大心得!
【CSDN编者按】RISC-V是RISC(Reduced Instruction Set Computing,精简指令集)的第五代版本。由图灵奖获得者、RISC的发明者David Patterson教授在 2010 年,带领加州大学伯克利分校的团队花了3个月时间完成了RISC-V指令集的初始设计开发。RISC-V 2019 Summit是由RISC-V基金会举办的峰会。几个月前,RISC-V 2019 Summit在硅谷举行,阿里巴巴平头哥科学家拜伦参会。会后,他写了这篇行纪,文中以北斗星星的名字,对照了参会的公司和机构。那么,他都有哪些心得?一起来看这篇深度好文!
作者 | 拜伦
责编 | 胡巍巍
出品 | CSDN(ID:CSDNnews)
十二月湾区的阴雨霏霏,但却并没有降低人们从世界各地涌来硅谷,参加RISC-V 2019 Summit大会的热情,因为这次大会必将是RISC-V的群星闪耀时刻。与会者中也包括不远万里,从杭州和上海赶来的四位阿里巴巴平头哥IoT团队的同学,我作为阿里巴巴达摩院计算技术实验室的一员,也有幸参加了这次开源硬件界的顶级会议。
当下RISC-V基金会的Board of Directors共有七位,分别代表了七家公司或大学,即SiFive、UC Berkeley、NXP、NVIDIA、Microchip、Western Digital以及Bluespec。这七家可谓是RISC-V组织里的七大长老。这次大会七大长老几乎也全部到齐。
如果说RISC-V为计算机架构开辟出了一片清明的天空,那这七大长老就好比这片RISC-V天空中的北斗七星。
RISC-V北斗七星
下面我将不失偏颇地以个人评判为准绳,来将这七家公司和大学对号入座到北斗七星的星位。并按照各家所做Presentation的先后顺序以及文章结构之需要,来介绍他们。当然关于下文中的星象观点,大家见仁见智,喜欢占星术的人也许会从中看出完全不同的RISC-V天象。
天权-UK Berkeley
天权又名文曲,北斗第四星。作为RISC-V七长老中唯一的学术机构,由David Patterson教授在Board of Director中所代表的UC Berkeley,当之无愧文曲星的称号。十年前,RISC-V诞生于UC Berkeley,如今在世界各地开枝散叶,也许UC Berkeley可以自豪地说一句:天下RISC-V皆出我!
这次的大会上,Patterson做了一个关于为物联网和嵌入式系统定制的Benchmark - Embench的介绍。继上次Hotchip 2019后,这是我时隔四个月,再次见到这位大师。
Patterson指出,35年前开发出的Dhrystone,早该寿终正寝了。特别是在IoT和Embedded System领域,需要一个全新的Benchmark标准。所以他们推出了Embench,目前由下列20个 测试程序组成,而不是像Dhrystone那样是一个综合的程序。
Patterson认为对于像Embedded System这样Memory寸土寸金的地方,Code Size和Performance一样重要。所以他展示了ZTH的RI5CY这款核,在不同的GCC优化以及ISA Extension下,对Code Size和Performance的影响。
同时他质疑为了些许性能提升而使Code Size大增的价值所在。比如使用像Loop Unrolling,Inline Procedure这样的优化可能提速1到1.5倍,但Code Size却增加2到3倍,那这样对Embedded System来说还是不可取的。
最后他又比较了Embench在不同的Architecture, 以及不同的GCC Option下的Code Size,如下图所示。很明显ARM还是有一定优势的,不过Patterson也指出过去几年RISC-V GCC 的进步也不小,和ARM的差距在不断地缩小。
对此,我有一点小小的想法,如果用ArmCC而不是GCC来在ARM上跑Embench,那RISC-V和ARM的差距会不会更大?后面NXP的一个演讲也多少证实了我的这个想法。
开阳-SiFive
开阳又名武曲,北斗第六星。武曲星又为财帛宫主星,也以财星著称。由于UC Berkeley和SiFive的渊源,一文一武,一个踏踏实实做学术,另一个风风火火做商业,倒是相得益彰。
这次RISC-V Summit 2019上,作为七大长老中唯一的Ruby Sponsor,要数SiFive的场子最大,演讲最多。要说SiFive的IP Core Portfolio还是比较全的,同时在工具链和开发环境上也有不俗的表现。
下面仅就SiFive报告中的两场做些介绍,一场是Security Platform,另一场关于Vector Processor。
Security的重要性不言而喻,特别是现在有了无处不在的物联网,毕竟谁也不想哪天卧室里的天猫精灵被黑了,半夜开始讲鬼故事,或者你的Tesla在该踩刹车时,反而加速并用最大的音量演奏《啊朋友再见》。
虽然这种魔幻现实主义风格的恶意攻击很少出现,但IC、IP、IQ卡的密码,以及位置信息,通信记录这些敏感数据,却是攻击者一直觊觎的对象,而类似于Meltdown、Spectre这样的硬件漏洞,为直接攻击硬件而获取超级权限提供了便利途径。
如果在RISC-V这样开放的指令集架构上设计Encryption、Root of Trust等保护措施,便有可能从源头遏制对硬件的攻击,比如对Cache的攻击。这次SiFive便介绍了SiFive shield安全平台,支持Crypto Engine、Secure Boot等功能。
虽然SiFive列出了很多安全解决方案,但是其中相当一部分还没有正式Release。
同样,他家的Vector Processor也还没有做Official Announcement,所以具体信息不太多,而且演讲人在互动回答阶段,对相关的细节问题也是语焉不详。
摇光-Western Digital
摇光又名破军,北斗第七星。以Western Digital这几年在RISC-V社区里的冲劲和愿景,倒是很契合破军星这个先锋队的名字。下面一张图反映了Western Digital在RISC-V圈里的发展史和未来规划。
大会上Western Digital介绍了三款自研的SweRV RISC-V 核, 其中SweRV Core EH2号称是第一个商用嵌入式双线程RISC-V核。
Western Digital主要将SweRV用在自家的Flash Controller里,以Western Digital在存储行业的占有率和出货量,如果他的HDD和Flash都用自研的RISC-V,那他们定下的1 Billion的RISC-V核出货量的目标应该很快就能实现。
同时Western Digital还展示了一个名为OmniXtend的支持Cache Coherence的互联架构。
这个架构既支持点到点互联,也支持通过Programmable Switch互联。这种片间互联是通过高速的Ethernet,而不是相对较慢的PCIe。值得注意的是,Habana Training芯片也是用Ethernet来实现RDMA,以达到多片互联的。
Western Digital展示了当前几种互联架构的比较,包括炙手可热的由Intel提出的CXL架构。如果单纯从这张表来看,OmniXtend确实存在一定的优势。但现在除了SiFive与Western Digital合作去验证OmniXtend外,即便在RISC-V社区内,OmniXtend也并没有打开太大局面,更别说打入由X86主导的Data Center领域。
不过值得肯定的是,Western Digital将OmniXtend以及SweRV一起开源并贡献给了CHIPS Alliance。CHIPS Alliance的主席Zvonimir Bandic也在大会上做了一个Keynote Speech。这家组织旨在开发并促进高质量开源硬件,开发诸如RISC-V、Neural Network Accelerator、PCIe这样的通用IP,以及软件设计工具,以降低芯片开发设计成本。
我们平头哥的戚肖宁博士代表阿里担任CHIPS Alliance的Governance Board Member,同时也是另一家开源组织OpenHW Group的Board Director。
天枢-NXP
天枢又名贪狼,北斗第一星。至于为什么把北斗第一星位给了NXP,如果非要找个理由的话,我只能说NXP的一位演讲者来自英国,拥有浓厚的苏格兰口音以及一个苏格兰姓氏Boggie。
苏格兰的Boggie先生为大家带来了一款名为SESIP的Security Meta-Framework。Boggie表示现在业界及各国的Security Standard、Certification太多,供应及成本都是问题。所以他们希望以NXP在IoT Security方面的优势,来做一些统一化的努力。
另外NXP也给了一场关于Code Size的演讲,主讲人展示了两款安全软件i.MX 及CryptoLib在ARM和RISC-V上Code Size的比较。有意思的是,这个Cryptolib在RISC-V上,比用了ArmCC后在ARM Cortex M4上的Code Size大很多。主讲人也说这个有些出乎意料,需要再研究一下。
这也印证了之前我在Patterson演讲的介绍里提到的一点疑惑。由于Code Size的大小对于Embedded System可谓生死攸关,如果RISC-V的Compiler及架构能在这方面不断拉近和ARM的距离,必定会加速业界对RISC-V的Adoption。
天璇-Microchip
天璇又名巨门,北斗第二星,巨门入命宫,主人口才好。鉴于Microchip的Keynote Speaker讲了好几个小故事,就把这个星位给他家了。
Microchip在过去的几年里收购了MicroSemi以及Atmel,在FPGA领域投入很大。这次主推了他们的PolarFire SoC FPGA Flatform并包括Libero SoC IDE开发工具,支持RISC-V以及ARM。
这款SoC是将ASIC的RISC-V多核以及FGPA混合在一起,上图中深绿色为以低功耗64-Bit的Multi-Core RISC-V为核心的Microprocessor Subsystem,其中4个核是Cache Coherent的Application Cores,另一个作为Monitor Core。而黄色的部分是可编程的FPGA,根据需求的不同,Microchip提供从25K到460K不等Logic Elements(LEs)的选项。FPGA部分还提供诸如额外的Peripheral,特定的算法加速器这样的扩展。
Microchip的网站对比了PolarFire和其他基于SRAM的SoC FPGA,通过一种CoreMarks Per Watt的比较方式,体现了PolarFire在功耗方面的显著优势。
灵活性和拓展性由FPGA来提供,而High Performance由RISC-V的ASIC来保证,确实是一种不错的架构混搭。当然真正的样片要到2020年三季度才能出来,让我们拭目以待吧。
天玑-NVIDIA
天玑又名禄存,北斗第三星,据传为财富之星。以NVIDIA的财大气粗,拥有天玑这个星位算是名至实归。
早在2016年, NVIDIA就宣布放弃已使用多年的In-House Falcon(FAst Logic CONtroller)架构,转而使用RISC-V作为GPU内部的Embedded Micro-Controllers。而且NVIDIA也在别的产品中使用了RISC-V,比如在其Multi-Die AI Inference Engine RC18中便使用基于Rocket的RISC-V。
不过关于NVIDIA自研RISC-V方面的消息很少,这次的大会他们也没有做任何的演讲。
玉衡-Bluespec
玉衡又名廉贞,北斗第五星。“自古廉贞最难辨”这句话代表了古人对于这颗捉摸不定的星的费解程度。用这颗星代表Bluespec也算恰如其分,它在这次的大会上也没有任何演讲,只好像在展厅里有一个不太起眼的展台,淹没在其他的RISC-V群星当中。所以我不得不拜访他们的网站,去一窥究竟。
从其网站看,Bluespec算是All in RISC-V了。除了自家开源的两款用BSV写的RISC-V核Piccolo(3-Stage, In-Order Pipeline)和Flute (5-Stage, In-Order Pipeline)外, Bluespec的侧重点是一套叫RISC-V Factory的工具,提供从评估,开发,验证,一站式服务。目前支持Rocket,RISCY以及自家的RISC-V核。可惜网站上信息很少,我一时也找不到关于这款工具的更多资料。
最后说说阿里平头哥
北斗七星光彩照人,但在我眼里,夜空中最特别的星星无疑是我们阿里平头哥。
先让数据说话,下面这张图来自平头哥IoT团队陈晨同学在RISC-V Summit大会上的Slide。
通过和现今一些主流的RISC-V核比较,在单核CoreMark/MHz这个硬核指标上,平头哥的Xuantie910(玄铁910)还是遥遥领先的。
除了上面的比较外,我又搜集了一个更全面些的RISC-V核列表,总结如下,包括一些在大会上Announce的RISC-V核。
从表中可以看出除了SiFive 还没有揭开他们最新的U84的神秘面纱外,其他RISC-V与玄铁910还是有一定差距的。比如和玄铁910跑分最接近的SweRV EH2也是在激活双线程后,才堪堪和玄铁910拉近了距离(其单线程模式下,SweRV EH2的CoreMark跑分只有4.9)。
关于玄铁910的一些介绍,请详见下图,从2019年7月玄铁910官宣以来,这还是我第一次看到如此详细的对外宣介。虽然当初官宣时,消息占满了国内外各大头条,但是其中的概述根本无法满足人们对这个RISC-V跑分王的强烈兴趣。甚至当时还有媒体乱分析说,7.1 CoreMark跑分是16核加在一起的,其水平只相当于好几年前ARM的A系列核的水平。
这次大会上的分享再次彻底地粉碎了这种谣言。当时现场的参会人员无不高举手机不停地对Slide拍照,饕餮着这次难得的分享。
除了上面所述的玄铁910,陈晨又简要介绍了超低功耗架构的玄铁902,其实9系列里还有906,玄铁大家庭里还有8系列,整个产品线覆盖了从嵌入式系统,低功耗IoT,到高性能Data Center,车载系统的各类不同需求。
虽然我并没有参与玄铁的研发,但作为平头哥的一员,我也感到非常自豪,我想每一个阿里人也会感到自豪!
阿里AIS震旦团队
阿里AIS的震旦编译器团队与平头哥交相辉映。这次大会上,震旦编译器团队也带来了与达摩院计算技术实验室以及平头哥IoT团队的合作成果,在震旦编译器上实现RISC-V的Vector指令以支持IoT领域的AI应用加速。
当RISC-V的Vector指令集扩展刚刚出来时,震旦团队就已经开始布局在LLVM上对其支持。
由于IoT对硬件资源“锱铢计较”的特性,震旦编译器精准地选取出一个Vector扩展指令中最小子集,旨在降低硬件架构设计复杂度的同时,最高效率加速AI模型。
可以看到无论是在指令数减小(指令数的多寡直接影响Code Size的大小)还是模拟器给出的性能提速方面,震旦编译器在应用了定制的Vector指令后,都有惊艳表现。
作为一个诞生了才10年的CPU架构,比起正值盛年的ARM,RISC-V还算是个少年。但仅从这第二届RISC-V峰会的参与人数,关注度来看,这个少年已经屹立于芯片行业的强林了。
梁任公在《少年中国说》中有言:“惟思既往也故生留恋心,惟思将来也故生希望心;惟留恋也故保守,惟希望也故进取;惟保守也故永旧,惟进取也故日新”。衷心祝愿RISC-V这个少年,苟日新,日日新,又日新!
CSDNx巨杉大学联合认证学习,免费开放!
“分布式数据库集训营”帮助您从零开始学习分布式数据库、分布式架构知识,现在加入活动,完成课程还将专属礼品。快来参加吧!
了解详情请戳:http://www.sequoiadb.com/cn/university-camp