RISC-V指令集从2014年正式发布第一版用户手册时面临多方质疑,到后来成为印度国家指令集,再到今年国内发布首个RISC-V支持政策。经过短短几年时间,RISC-V不仅有政策的支持,企业和学术圈对这个开源指令集的关注度不断提高,甚至让Arm也感受到了压力。随着RISC-V商业落地的向前推进,业界也充满了期待,但是从指令集设计到最终的应用,我们对RISC-V或许有些误解。
RISC-V要从2010年说起,当时加州大学伯克利分校的一个研究团队准备启动一个新项目,为新项目选架构的时候研究团队看到了Arm、MIPS、SPARC和x86等,但这些指令集不仅越来越复杂,还有很多IP法律问题。所以伯克利研究团队临时组建一个四人小组,开展了一个3个月的暑期小项目设计新的指令集,目标是新的指令集能满足从微控制器到超级计算机等各种尺寸的处理器。具体地说,RISC-V指令集架构简单、完全开源并且免费,将基准指令和扩展指令分开,可以通过扩展指令做定制化的模块和扩展。需要指出的是,RISC-V的基准指令确定后将不会再有变化,这是RISC-V稳定性的重要保障。
因此,在中国缺芯的大讨论中,有观点认为伯克利分校3个月就能设计出一套全新的指令集,这表明指令集的设计并没有那么难,更大的难点在于指令集生态的建设。但其实RISC-V从2010年开始到2014年才正式发布第一版用户手册,中间经历了4年。还有一点不容忽视,在RISC-V指令集架构之前,伯克利分校已经有了四代RISC指令集架构的设计经验,第一代RISC指令集早在1981年就已经出现,因此指令集的开发简单与否并不是那么容易得出结论。
David Patterson教授带领研制的五代RISC处理器
至于RISC-V的生态建设,成立于2014年, 致力于在网络边缘端进行智能边缘计算的法国初创公司GreenWaves Technologies CEO Loic Lietar接受雷锋网专访对此发表了自己的看法。他表示:RISC-V作为后来者生态的建设正在快速发展,也正在快速成熟。从2015年非盈利性组织RISC-V基金会(RISC-V Foundation)成立,两年内已经有150多个单位加入,包括谷歌、华为、英伟达、高通、麻省理工学院、普林顿大学、印度理工学院、中科院计算所等。
GreenWaves Technologies CEO Loic Lietar
RISC-V基金会(RISC-V Foundation)
随着RISC-V生态的快速发展,许多人都担心RISC-V的开放以及可扩展性会出现碎片化以及兼容性的问题。Loic Lietar指出:“相比手机、PC以及一些高性能处理器,应用于传感设备的微控制器对生态的依赖性没有那么高。从GreenWaves的角度看,我们的基于RISC-V的32位微控制器面向的主要是来自物联网等终端市场的边缘计算需求,一个设备将长时间重复运行几个应用, 而并不会像手机或电脑一样安装和卸载不同的应用程序,因此对软件兼容性的依赖程度并不是个问题。同时,我们嵌入了基于RISC-V标准的扩展指令集以获得最佳的性能和能效,这是我们与其他竞争对手最不同的地方之一。另外,微控制器市场的生态很多是开源的,我们的处理器已经移植了Arm Mbed OS、FreeRTOS,未来我们还将不断移植,适应终端在不同的生态圈的发展需求。我们还开发了一些专有工具可帮助软件开发人员为我们的8核并行架构自动生成最优化的软件代码。”
对于系统移植是否会影响处理器性能的疑问,Loic Lietar给出了否定的答案。他说:“比如在我们的GAP8微控制器架构下,运行的一般都是简单的实时操作系统(RTOS)。因为在我们的应用场景中,虽然设备需要完成的工作是高性能的,但从代码量和重复性来看是相对简单的,并不需要复杂的操作系统的支持。所以各种RTOS对性能的影响并不十分严重。”
除了软件和OS,EDA工具的完善度也会影响RISC-V的发展,Loic Lietar对此表示,无论是我们现在已经有的产品还是我们的下一代产品,现有的EDA工具都足以满足我们的开发设计需求,目前也没有因为缺少RISC-V的特殊工具出现问题。
由此可以看到,基于RISC-V的微控制器对生态的依赖程度确实还没有那么高,那对于更高性能的RISC-V处理器又如何呢?
RISC-V指令集设计的目标是能够满足从微控制器到超级计算机各种尺寸处理器的需求,不过目前我们看到的更多的是RISC-V物联网终端处理器。对此,Loic Lietar表示:“32位微控制器相对于高性能处理器, 在技术上与市场接受度上难度肯定是不一样的。从32位处理器开始可以看作是一个由简到难的过程,在我们参与的开源项目PULP(由意大利波隆纳大学(Universities of Bologna)和瑞士苏黎世联邦理工学院(ETF Zurich)共同成立的实验室,旨在研究超低功耗并行架构),也是从最精简的32位处理器开始设计,慢慢有了64位处理器,可以运行Linux。RISC-V有一个比较好的基础,可以提供32、64、128位指令集。指令集与内核不同,能有更多的可能性,并且RISC-V指令集架构可以针对各种不同的应用,以标准的方式进行扩展。”
他同时指出,RISC-V技术在不同市场的发展和落地,从32位处理器到128位处理器不同场景的应用,在技术上并没有太大问题,此时来自市场的需求将会对RISC-V的应用方向起到主导作用。当下人们更专注于,基于RISC-V现在能做什么,而非未来能做什么。
据雷锋网了解,GreenWaves的通用处理器GAP8定位在长期依赖电池的边缘计算设备,旨在为智能城市,智能家居,智能工业和自主无人机等不同场景下工作的设备提供做超低功耗边缘计算,智能边缘计算的能力。
虽然在被问及Arm为何会在6月底建立网站以“设计系统芯片之前需要考虑的五件事”为主题从成本、生态系统、碎片化风险、安全性和设计保证方面攻击RISC-V 时Loic Lietar表示自己也并不清楚,这个问题的答案Arm或许更清楚。但对于RISC-V是否更适合物联网和AI的问题,他表示:“我们从一开始就看准了物联网市场,在2016年我们就在考虑如何让物联网更丰富,而不仅限于一些简单的功能。‘丰富’代表着更丰富的信息来源,如图像,声音,震动等。 如何能在电池驱动的情况下,维持数年对这样‘丰富’信息的本地处理(即超低功耗边缘计算)便成为了我们定下的研究与发展方向。为对应于这样的需求,我们需要更有针对性的架构来满足这一需求。RISC-V不仅为我们提供了一个庞大且快速发展的社区,而且还给予了我们对架构进行创新以达到极致能效的机会,无需购买昂贵的架构许可证。 在RISC-V之前,这是不可实现的。”
GreenWaves基于RISC-V处理器的开发板
因此,GreenWaves推出了针对物联网市场的超低功耗应用处理器,旨在边缘端(传感器端)依赖电池做长期的复杂运算,如行人监测,人脸检测,语音关键字识别,震动识别等等。 具体地说,GAP8可以用3.44mW来完成一次行人检测,0.5mW完成一次人脸检测, 也就是说,依靠一节普通电池,用间隔唤醒方式工作,我们可以维持数年的边缘AI工作。性能方面,在基于CNN图像识别的图像识别算法Cifar10中, GAP8相比STM32H7拥有着最小16倍最高75倍(使用硬件加速器)的能效优势。并且GAP8作为通用处理器不仅仅能运行CNN算法,还有更大的弹性在端侧进行其他类型的复杂运算。
Loic Lietar还认为,物联网在边缘计算上潜力巨大,但今天的这样的需求主要受限于市场缺少能够依赖电池做长时间边缘计算的处理器。 随着像GAP8这样的产品的诞生,我们可以找到不同的应用场景并进一步扩展物联网市场。
竞争中都能找到立足点
在Arm针对RISC-V提出的5个问题中,生态系统、碎片化以及设计保证的问题上文中都已经有了明确的答案,还未提及的成本和安全性问题其实答案也非常明确。基于开源组件的设计使GreenWaves能够将资源集中在其自我增值上,而不是开发或购买核心IP,这使他们在开发产品的时候成本可以大幅度降低,同时提升资本效率。
安全性方面,Loic Lietar表示GAP8具有支持安全启动和安全执行的所有硬件功能。 在开源软件世界中,我们已经看到,设计的公开性对安全性具有非常积极的影响,因为其代码可供大量开发人员和研究人员查看、测试。市场已多次证明,隐藏起来的安全设计其实并不真正安全。
最后在谈到竞争的时候,Loic Lietar表示:“我们真切地感受到了RISC-V市场的发展势头,我们也因此从中受益良多。在人工智能物联网领域,我们的能效是与众不同的,在我们从事边缘人工智能研究超过3年的时间里,竞争才刚刚开始。我相信在物联网的大市场中每个公司都可以找到自己的立足点。我们的产品已于2月上线,许多客户都开始使用我们的开发板,第一批生产订单将很可能来自中国。当然,为了保持领先地位,我们的下一代产品已经在开发中,它也将代表着我们在能源效率和计算能力方面向前迈出的又一大步。”
雷锋网认为,RISC-V指令集的开源给了全世界的厂商一个发展物联网市场好机会,也能在一定程度上实现中国芯的自主程度,在政策、企业、研究所的共同推动下,RISC-V正在迅速壮大,所以Arm感受到压力并不让人意外,但物联网市场足够大,无论是Arm还是RISC-V都能发挥其重要价值。只是在渴求中国芯的中国,RISC-V能发挥的作用让人期待。
(来源:雷锋网;作者:包永刚)