什么是RISC-V架构?如何看待开源指令集RISC-V ?
2018-09-13
什么是RISC-V架构?
RISC的英文全称为:ReducedInstructionSetComputing,中文即“精简指令集”,它的指令系统相对简单,它只要求硬件执行很有限且最常用的那部分指令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。指令集也可以理解为软件和硬件之间沟通的桥梁,不同的厂家可能会用不同的方法来实现相同的指令集,从而让遵循相同指令集的软件可以无需修改即可运行。比如我们熟知的Intel和AMD都实现了x86指令集,这基本上统治了PC的市场。
RISC RISC-V处理器是架构发明者 Krste Asanovic 教授带领团队开发的一个完全开放的、标准的、能够支持各种应用的新指令集,他也得到了RISC的发明者之一,Dave Patterson教授的大力支持。从2010年夏天开始,大约花了四年的时间,这个团队设计和开发了一套完整的新的指令集,同时也包含了移植好的编译器、工具链、仿真器,并经过数次流片验证。为了能够加快开发的效率,以便能够快速的评估和修改设计以及提高可复用性,Chisel作为一种新的硬件构建语言也被开发了出来。简言之,你可以用scala这种函数式编程语言去设计硬件,并最终能够生成传统的Verilog HDL用于ASIC/FPGA,或者生成C++用于仿真。
这个新的指令集叫做RISC-V,“V”包含两层意思,一是这是Berkeley从RISC I开始设计的第五代指令集架构,二是它代表了变化(variation)和向量(vectors)。
0
如何看待RISC-V ?
在摩尔定律终结、计算微体系结构已经非常成熟、开源软件飞速发展的时代,RISC-V充分利用社区的力量,提供了一个相比其他商业指令集来说并不差的选择,非常有希望借由在开源硬件商业模式上的创新在未来的CPU市场上占有一席之地。
RISC-V引起业界新一轮的关注,应该是2016年三星半导体在其Exynos 8890处理器中(Galaxy S7用的这款处理器),首次采用的自主CPU内核M1,被指是基于开源的RISC-V指令集架构(而不是其旗舰机长期所用的ARMv6-M/ARMv8-M)。
国内也有不少从业者对此比较关注,主要是想将RISC-V应用在物联网、大数据等领域。
下图是与ARM的比较,数据是最真实的,功耗、面积、性能都是杠杠的。
基本指令集包括40条RISC整数指令和10条用于同步、系统调用和计数器操作的其他指令。
使用的RISC_V都需要实现这些基本指令,并称之为RV32I。对应的RV64I 、RV128I也是一样扩展对应的位宽即可,参考下图。
另外包括扩展指令,主要包括压缩字节指令、乘除、单/双/四精度浮点运算指令、原子指令。
从上面可以看到,功耗、面积、性能都不亚于ARM,甚至优于ARM(当然上表只是对比A5),并且指令丰富,可扩展性强,并且开放,有免费开源的编译、仿真环境,令人遐想无限。
结论:生态已经构建好了,如果有相应的产品出来,以及大量的人力物力投入,我觉得前景还是很不错。笔者挺看好这个项目,特别是像中国近几年大力发展CPU的情况下,机遇很好,能不能抓住就是另外一个问题了。