快捷搜索:

RISC-V会是一道曙光吗?RISC-V与RUST相遇引发操作系统教学新尝试

当前,虽然全球微处理器指令集架构被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会是一道曙光吗?RISC-V与RUST相遇引发操作系统教学新尝试

嵌入式系统联谊会秘书长何小庆

RISC-V与RUST相遇,引发操作系统教学新尝试

清华大学计算机系 陈渝副教授

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-V会是一道曙光吗?RISC-V与RUST相遇引发操作系统教学新尝试

虽然RISC-V离大规模商用还有一定的距离,但是在高校已经有了很多研究和应用。蔡琳琳解释了她所做的四足机器人课题选用RISC-V架构的原因:原来对于四足机器人的控制会选用单片机,因为其外围设备资源不足,要实现复杂的功能时就会有很多困难,而采用RISC-V后可以对处理器进行定制,所实现的功能会更加完善。

在北工大韩德强老师的指导下,蔡琳琳设计的四足机器人原来是采用Arm架构处理器控制的,现在改用基于RISC-V架构的定制处理器实现。虽然在功能实现方面区别不大,但是采用Arm架构处理器时,其PWM引脚是由软件模拟实现的,而现在则是由硬件实现,效率和精度都得到了很大提升。

RISC-V是中国处理器产业的最后一次机会

芯来科技创始人,著名RISC-V技术推广者 胡振波

RISC-V会是一道曙光吗?RISC-V与RUST相遇引发操作系统教学新尝试

作为著名的RISC-V技术推广者和国内第一颗RISC-V开源处理器蜂鸟E203的作者,芯来科技创始人胡振波对RISC-V有着深刻和独到的理解。他认为,在后摩尔时代,随着摩尔定律和登纳德缩放定律的相继失效,通用处理器逐渐无法满足对整体系统能效比的追求,因此基于领域的架构设计(Design Specific Architecture)设计理念逐渐成为共识和趋势。系统公司、互联网巨头开始全面造芯,更多软硬件结合的差异化创新正在诞生,芯片也在呈现出类似互联网服务化的趋势。传统处理器指令集架构(ISA, Instruction Set Architecture)承载着软硬件接口作用,但是各个公司又是封闭性的, 在开发中多种编程模型共存,需要嵌入式开发人员掌握多种硬件架构、多种编程模型, 降低了产品开发的效率,并且由于指令集不能扩展,也难以把硬件扩展和处理器微架构紧密结合在一起,因此无法进一步提升性能。更为关键的是,找到和培养具备对不同硬件架构编程能力的程序员成本很高,给公司发展带来很多困难。

您可能还会对下面的文章感兴趣: