浅议一下基于RISC-V指令集的处理器现阶段适合的市场
1赞RISC-V是最近大火的开源指令集。其自推出以来经历了被质疑、被吹捧再到“真香”的过程。目前国内有两个RISC-V的“联盟”,RISC-V有关的论坛和会议也开始多起来了。作为一个从2016年就开始搞基于RISC-V处理器的研究者(其实当时是被逼无奈,但凡有一个可用的处理器IP我们也不会硬上去搞RISC-V),觉得这是一件好事,但也有很大的浮躁气氛。
CPU是一个专业研究非常小众,但“业余爱好者”最为集中的领域。所以目前在“研究”RISC-V的人群里面,很大一部分还是属于“凑热闹”的,“看门道”的比例还不够高。因此在一些基本的问题上经常纠缠不清,也存在很多混淆。
在此呢,我想简单谈谈自己的想法,也算是抛砖引玉供大家参考一下。今天主要谈谈基于RISC-V指令集的处理器现阶段最适合的几个市场。
首先说结论:基于RISC-V指令集的处理器目前最适合的属于是“用户不可见处理器”市场,其次是“物联网”市场,最后会在嵌入式智能尤其是低端设备的嵌入式智能领域和ARM短兵相接。
先来谈一谈第一“用户不可见处理器”市场。所谓的用户不可见处理器是指那些“深埋”在芯片内部,编程接口不对用户所使用的软件开放的处理器。这类处理器一般是用做系统管理、监控、调度的。2017年第6届RISC-V的workshop上NVIDIA提出的要用基于RISC-V替代的Falcon (FAst Logic CONtroller)就属于这一类处理器。“用户不可见处理器”的特点是“软件栈”特别的浅,完全用芯片开发者自己定制,几乎不需要“生态”的支持。当然,如果有现成的东西可以用来降低开发工作量也是何乐不为的。这一类应用中采用基于RISC-V的处理器去替代ARM处理器对于产品产生的影响最小,好处也是最直接的——少交License Fee了、自主可控性也变好了。所以这个市场一旦有了成熟的开源指令集处理器以后,就很容易被占领。以目前RISC-V指令集的完善程度和工具链的丰富程度,已经算是成熟的处理器了,比各家自己凑合搞出来的处理器肯定是好用很多。相比于ARM等长期商用的处理器而言,差的主要就是“生态”。而前面已经论述了“用户不可见”处理器对生态的依存度很低。
图1 NVIDIA PPT中表现软件工程师对于Falcon处理器设计者不满,其实意思就是自有处理器不好用
但“用户不可见处理器”这个市场也是有点问题。因为“用户不可见处理器”往往是用于“复杂片上系统”中的,太过简单的系统专门用个处理器来做监控和管理有点太过奢侈。这些复杂片上系统的玩家一般都是一些大公司。这一方面有利于RISC-V指令集的推广,因为这些大公司自己的人才积累是能够保证他们可以走通基于开源指令集设计完整处理器的路的;但另一方面而言,这个市场是“隐蔽”而且排斥新玩家尤其是初创公司的,单靠这个市场RISC-V指令集并不能发展壮大。
再来谈谈第二个市场,也就是所谓的物联网市场。其实从10年前我留校参加工作,就是在所谓的“物联网系”。物联网这个概念,几次被热炒又几次被冷却,但其归根结底是一种以“深度嵌入式系统技术”为基础的网络。所谓“深度嵌入式系统”也有另外一个名词叫“信息物理系统(CPS,Cyber-Physical Systems)”是一个综合计算、网络和物理环境的多维复杂系统。实现计算、通信与物理系统的一体化设计,可使系统更加可靠、高效、实时协同。用更直白点的话说就是要把计算系统与通信系统深入的与物理装置融合。融合了以后让原本无法联网的机械、电气等装置连接起来,从而形成了“物联”。“物联”的应用处理器和“用户不可见处理器”有非常相似的地方就是高度的“隐蔽性”和“定制化”,在上面运行的程序往往也不需要做成像手机APP这种通用化的应用程序。所以物联网所用的处理器上运行的软件“栈”也比较浅。通常运行一个轻量化的操作系统,加上一些专门定制化的程序即可。在这样一个领域,相对而言对“生态”的依存度也没有那么强烈。而如果要进入这个领域,其实是和ARM Cortex M0/M0+甚至于M3在同一个“生态位”上开展竞争。这应该也是促使ARM把M3也给“开源”了的原因之一。
如果在“物联网”领域上竞争,RISC-V相比于ARM等指令集有一个明显的优势就在于高度可定制的指令集,从而使得基于RISC-V的处理器可以实现高度定制的指令。定制化指令集带来的负面效果是可能破坏“生态”而形成碎片,但由于“物联网”本来就是高度“碎片化”甚至是“粉碎性”的市场。是的这一点劣势也就无所谓劣势了。目前RISC-V已经从指令集定义到协处理器参考设计再到编译器已经形成了一整套完整的专用指令集设计流程,但目前还缺乏完整的方法学和工具支撑。(目前我们正在开发相关工具,研究把设计流程完全打通的方法,比毕竟工具开发才是本组的核心竞争力所在。)因此针对物联网中的某些特定应用,开发一个具备特定指令的处理器是很吸引人的一点。这也是RISC-V指令集相对于ARM所占有优势的一点。
以上是我认为RISC-V指令集必然会占据优势的两个市场,而我认为进一步在嵌入式人工智能市场则是RISC-V和ARM短兵相接的市场。目前,AIoT这个概念开始风行。强调的是在物联网设备中加强AI的因素。从定制专用化指令集这一点来说,RISC-V比ARM看似是有点优势的。但由于AI的底层算子其实比较固定而且AI算法的通用性较强,ARM完全可以在时机成熟的时候以加速器/协处理器的形式推出更为简单和易用的完整解决方案。因此我认为在这一市场上RISC-V和ARM将展开较为激烈的竞争,最终的结果可能是ARM略占上风。
以上就是我个人的一些看法,非常的不成熟,欢迎大家拍砖讨论。
附上7月11日成都“基于RISC-V的国产化SoC发展路径”技术沙龙的演讲视频及PPT链接: