当前,虽然全球微处理器指令集架构被 Arm 和 Intel x86 垄断,但是 2010 年在伯克利大学诞生的 RISC-V 指令集,有望打破这一格局,给中国处理器 IP 带来“自主可控”的发展契机,尤其对于消费类、IoT 等嵌入式应用,RISC-V 更像是一道“曙光”!现在,许多高校已经开始将 RISC-V 用于教学,科技巨头纷纷宣布支持 RISC-V,并且涌现出了一批初创的科技公司。目前,虽然 RISC-V 架构技术还在发展阶段,各家芯片平台也在开发和完善之中,但是 RISC-V 应用终将落地。中国集成电路老前辈许居衍院士指出:RISC-V 当前最适合用于 IoT 之类的“看不见的计算”中,现在看来 RISC-V 要形成生态,希望很可能在中国。
在这样的契机下,嵌入式系统联谊会举办的首次技术沙龙聚焦于 RISC-V 嵌入式开发这一主题。正如嵌入式联谊会秘书长何小庆所言:希望更多产业和学术界的年轻朋友同大家分享自己对 RISC-V 的观点和研究成果,更好地促进 RISC-V 在嵌入式产业的应用。
RISC-V 与 RUST 相遇,引发操作系统教学新尝试
清华大学计算机系 陈渝副教授
作为研究操作系统的老师,陈老师认为,RISC-V 精简指令集听起来属于硬件范畴,但是其实 RISC-V 与软件有很大的相关性,因为作为重要系统软件的操作系统负责对硬件进行管理和控制,以实现对上层应用的支持。
陈老师介绍,不同学校计算机系对操作系统课程教学的要求存在差异,有的只要求会用,有的却需要懂得操作系统。清华大学的操作系统课程目标是希望学生能够用一种高级语言在某一种 CPU 上实现操作系统的设计。陈老师在多年的操作系统教学实践中,一直在做不同的尝试,比如在 x86、MIPS、Arm 上实现,直到 2017 年,发现 RISC-V 是一个很不错的选择。RISC-V 本身来源于学校,已经经过长期的探索,而且它是开源的,学生可以接触到关于它的所有信息(不像 x86 和 Arm,很难深入了解更多细节),所以更容易在其上开发应用软件和操作系统。
关于为什么选择 RUST 作为 RISC-V 的开发语言,陈老师这样解释:虽然现在大多数的操作系统选用 C 语言开发,但是还是存在潜在的安全问题,所以目前国外很多学校也都在探索使用 C 语言之外的语言做开发,比如 MIT 尝试使用 Go 语言。鉴于 RUST 不仅有严格的安全约束,可以把编译时约束转移到运行时,而且允许程序员显式地指出不安全(unsafe 块),并使用安全封装和管理不安全,所以才选择了 RUST。
经过两年的教学实践,陈老师表示在 RISC-V 上开发操作系统还是非常有优势的,比如有的同学在 32 位环境下开发的系统,只需要微小的改动(一两天的工作量)就可以移植到 64 位上,说明 RISC-V 在硬件架构设计上已经做了软件的一致性考虑。
RISC-V 定制处理器助力四足机器人设计
北京工业大学硕士研究生 蔡琳琳
虽然 RISC 离大规模商用还有一定的距离,但是在高校已经有了很多研究和应用。蔡琳琳解释了她所做的四足机器人课题选用 RISC-V 架构的原因:原来对于四足机器人的控制会选用单片机,因为其外围设备资源不足,要实现复杂的功能时就会有很多困难,而采用 RISC-V 后可以对处理器进行定制,所实现的功能会更加完善。
在北工大韩德强老师指导下,蔡琳琳设计的四足机器人原来是采用 Arm 架构处理器控制的,现在采用基于 RISC-V 架构的定制处理器实现。虽然在功能实现方面区别不大,但是采用 Arm 架构处理器时,其 PWM 引脚是由软件模拟实现的,而现在则是由硬件实现,效率和精度都得到了很大提升。
RISC-V 是中国处理器产业的最后一次机会
芯来科技创始人,著名 RISC-V 技术推广者 胡振波
作为著名的 RISC-V 技术推广者和国内第一颗 RISC-V 开源处理器蜂鸟 E203 的作者,芯来科技创始人胡振波对 RISC-V 有着深刻和独到的理解。他认为,在后摩尔时代,因为摩尔定律和登纳德缩放定律的相继失效,通用处理器逐渐无法满足对整体系统能效比的追求,因此基于领域的架构设计(Design Specific Architecture)设计理念逐渐成为共识和趋势。系统公司、互联网巨头开始全面造芯,更多软硬件结合的差异化创新正在诞生,芯片也在呈现出类似互联网服务化的趋势。传统处理器指令集架构(ISA, Instruction Set Architecture)承载着软硬件接口作用,但是各个公司又是封闭性的, 在开发中多种编程模型共存,需要嵌入式开发人员掌握多种硬件架构、多种编程模型, 降低了产品开发的效率,并且由于指令集不能扩展,也难以把硬件扩展和处理器微架构紧密结合在一起,因此无法进一步提升性能。更为关键的是,找到和培养具备对不同硬件架构编程能力的程序员成本很高,给公司发展带来很多困难。
而 RISC-V 具有 4 个特点,分别是简单和一致性、学校和产业能够无缝对接、开放的可扩展性以及编程效率高,正好可以解决嵌入式开发中的很多痛点。RISC-V 的开放性决定了它不再只是针对某种应用,而是能够满足很多应用领域的不同需求,因此会得到更多大型公司和社区的支持,生态系统发展得更为迅速;RISC-V 的平民化让更多工程师可以接触到,并迅速应用于亿万级的物联网市场。
x86 和 Arm 时代,中国只是处理器的应用市场,虽然一直想要弯道超车,但终未实现。胡振波认为,RISC-V 是中国处理器产业的一次机会,而且很可能是最后一次机会。芯来科技主要专注于 RISC-V 处理器研发,为客户提供处理器 IP 和相关解决方案,目前已经发布了面向 AIoT 的超低功耗产品线,正在研发面向边缘计算的更高性能、带矢量加速的产品线,并积极和上下游合作伙伴一起共同拓展更加广阔的市场。 胡振波希望通过自己和业界的共同努力,帮助中国本土处理器产业抓住这次难得的机会!
RISC-V 发展的关键在于软件和生态系统
恩智浦(中国)管理有限公司系统工程总监 王朋朋
王朋朋拥有多年的嵌入式系统应用开发经验,她清楚地了解工程师在开发过程中需要很多资源,包括文档、开发工具、软件支持包、硬件参考资料、参考解决方案、设计公司协作开发、人力技术支持以及培训资源等。正因如此,王总监认为,RISC-V 要推广到 MCU 中,难点其实不在芯片,而是软件和生态系统的建设。王总监透露,恩智浦现在已经是 RISC-V 基金会的白金会员,就是希望凭借公司在产业界多年的积累和影响力来促进 RISC-V 生态系统的发展,而不仅仅是推出采用 RISC-V 架构的芯片。
为了帮助 RISC-V 建立起一个强大的生态系统,恩智浦在 RISC-V 生态建设方面做了很多工作:建立了一个面向所有开源 ISA 爱好者的非盈利性的 RISC-V 社区(www.open-isa.org),这个社区向所有生态合作伙伴开放,全球开发者可以在这里分享创意和经验,5 月份 www.open-isa.cn 也会上线,便于中国开发者讨论和学习;推出了两个 RISC-V 开发板,一个是 VEGAboard,拥有双 RISC-V 核芯片和兼容 Arduino 接口的开发板,另一个是专门针对中国大陆定制的织女星开发板,比 VEGAboard 更易用;主办 RISC-V 应用设计大赛,推动以 RISC-V 为基础的 MCU 应用生态的建设,让国内广大的 MCU 应用开发人员更加深入地理解和体验 RISC-V 将会怎样影响他们的未来,以此促进 RISC-V 应用的普及。
用 RISC-V 做开发,面对的开发环境依然熟悉
恩智浦(中国)管理有限公司高级系统工程师 刘华东
在做了多年基于 Arm 架构的处理器开发后,刘华东开始研究 RISC-V,他从工程师的视角给大家详细阐述了基于 RISC-V 指令集做开发与使用以前熟悉的嵌入式开发环境的不同之处。
首先,RISC-V MCU 是基于 GNU GCC RISC-V 交叉工具链做开发的,编译工具为 Cmake,可以提高编译效率,而 Arm 架构处理器选用的是 Makefile。其次,调试软件采用 OpenOCD,只要所连接的硬件调试器支持标准的 JTAG 协议,就可以直接使用,如果是已经习惯于 Linux 的用户,可以继续使用命令行方式开发环境。刘华东介绍,其实很多嵌入式工程师对 IAR 和 Keil 非常熟悉,所以 RISC-V 社区提供了 Eclipse 集成开发环境,在标准 Eclipse 基础上添加了插件,并且针对 RISC-V 开发做了优化,与工程师原来所熟悉的开发调试环境非常类似。
在介绍了恩智浦推出的 VEGAboard 和织女星开发板结构之后,刘华东详细介绍了 RV32M1 内核,这是一个异构 4 核 MCU,包括两个 RISC-V 内核(一个 RI5CY 核和一个 ZERO_RISCY 核)和两个 Arm 内核(一个 Cortex-M4F 核和一个 Cortex-M0+核),单芯片就可运行 BLE、Mesh/Thread/ZigBee 协议,特别适合于超低功耗的移动设备。
IAR 可以弥补 RISC-V 的商用短板
IAR Systems(China)中国区经理 盛磊
IAR 是一个专业商用开发工具,而 RISC-V 开源社区已经有很多免费开源的开发工具了, 看似收费的 IAR 不会与 RISC-V 产生交集,但实际上 IAR Systems 是 RISC-V 基金会的成员,从三年前就开始研究 RISC-V。盛磊解释了 RISC-V 依然需要 IAR 的原因:一个芯片如果要实现商用,仅仅具有芯片性能优势是没有实质意义的,只有整个系统(包括处理器设计、主频和编译器)具备优势,产品才会有竞争力。可以预见的是如果仅采用免费的(如 GCC 等)开发工具,基于 RISC-V 指令集的处理器在整体系统性能上是无法与成熟的 Arm 架构产品竞争的。因此,RISC-V 要走向市场,势必需要与 IAR 结合。
盛磊介绍,目前 IAR 支持市场上常见的 40 多种架构的 MCU,包括基于 Arm 内核的 MCU 和各个公司私有架构的 MCU,今年还将会增加支持 RISC-V 的新产品,计划 6 月份推出 1.10 商用版本给合作客户,并且后续还会推出升级版本。
结 语
可见,无论是高校、芯片公司还是软件公司,都对 RISC-V 寄予了厚望,并为之做了很多工作,这是带给中国处理器产业的一道亮光,希望更多的公司参与到 RISC-V 生态系统的建设当中,帮助中国处理器产业抓住这次绝好的机会!
周末的下午,北京天气晴好,北航校园依然熙熙攘攘,由联谊会主办北航出版社承办的 RISC-V 嵌入式开发技术沙龙, 吸引了来自高校、媒体、集成电路、嵌入式、IOT 和工业电子开发的 70 余人参加会议,IAR 和 NXP 现场做了产品演示,与会者和发言人交流互动频频!
由国内知名学者和产业人士共同发起的嵌入式系统联谊会,成立和运作已经 11 年了。嵌入式系统联谊会为中国嵌入式系统不同学科领域的专家学者、工程技术人员、市场和科技媒体人士提供学术和产业信息交流的环境,是增进个人友谊的公益性科技沙龙机构。嵌入式系统联谊会技术沙龙是联谊会继主题讨论会形式外的一个新的尝试,更侧重专业化、年轻化和实战性。
阅读全文