前文提到安谋是从UC Berkeley (加大伯克利) 获得RISC的基础上发展壮大的。那这个RISC又是何方神圣,能堪如此大任呢?
RISC是reduced instruction set computer的缩写,意为简化指令集,由UC Berkeley的大卫·帕特森 (David Patterson) 教授1980年提出 (图 Google Images),是相对于CISC (Complex Instruction Set Computer),即复杂指令集计算机而言。简而言之,CISC (复杂指令集) 中硬件工程师用增加可实现复杂功能的指令和多种编址方式,以使软件编程更方便和提高程序的运行速度。这样一来,硬件指令系统日趋庞杂,系统性能也会降低。大卫·帕特森发现,在实际运行中有绝大部分 (80%) 的指令,耗费更多设计时间、易造成设计失误、要求极复杂的操作、通用性差、极少用到,降低被频繁调用的简单指令系统的运行速度。
有鉴于此,帕特森提出了RISC (精简指令) 的设想,即指令系统应当只包含那些使用频率很高的少量指令,并提供一些必要的指令以支持操作系统和高级语言。按照这个原则发展而成的计算机被称为精简指令集计算机架构。RISC架构的主要特点是,指令集经过大量寄存器和高度规则的指令流水线优化,允许每条指令的时钟周期数 (CPI) 较低。
RISC架构指令集问世后并未大红大紫,而是在默默中不断完善迭代,直到2010年UC Berkeley一个由克里斯塔•阿萨诺维奇 (Krste Asanovic) 教授领导的四人小组设计出一款RISC-V架构指令集的CPU (图 Google Images)。为推动RISC-V产业化发展,阿萨诺维奇2015年推动成立了非营利组织RISC-V基金会,并任RISC-V基金会的主席,同时也是RISC-V商业化公司赛孚 (SiFive) 的联合创始人。
与当时流行的ARM、X86 , MIPS和SPARC架构指令集相比较,RISC-V架构特点包括:
A. 完全开源 - RISC-V基金会不收取高额的使用指令集授权费(图 Google Images)。开源采用宽松的BSD协议,企业完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展。
B. 简洁- RISC-V架构借助计算机体系结构经过多年的发展已经成为比较成熟技术的优势,其编码规则简洁统一。
C. 模块化 - RISC-V架构不仅短小精悍,而且其模块化的扩展设计让不同的部分还能以模块化的方式组织在一起,从而努力通过一套统一的架构满足各种不同的应用场景。用户能够灵活选择不同的模块组合,来实现自己定制化设备的需要,比如针对于低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode (机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode (机器模式) 与User Mode (用户模式) 两种模式。
RISC-V推出后,受到业界的追捧。欧洲处理器计划 (European Processor Initiative [EPI]) (图 Google Images) 2018年宣布旨在创建一个基于RISC-V的原生欧洲硬件加速器架构,预计将在今年底或明年初推出原型机。加州集成电路制造商西部数据 (Western Digital) (图 Google Images) 和英伟达 (Nvidia) 均有使用RISC-V的计划。欧洲处理器计划 (European Processor Initiative [EPI])。荷兰的恩智浦 (NXP) 已经生产了Vegonder,一个包含两个RISC-V内核和两个ARM的开发板。
中国大陆的阿里巴巴 (Alibaba) 和美国赛孚 (SiFive) (图 Google Images) 等公司也接受RISC-V架构。2020年7月,阿里巴巴推出由阿里巴巴达摩学院下属平头哥半导体 (T-Head) 设计的首款基于RISC-V的产品玄铁910 (XT910),应用于5G、人工智能以及自动驾驶等领域。在性能方面,玄铁910支持16核,主频达到2.5GHz,采用12纳米工艺蚀刻而成,包含16位指令。阿里巴巴已在阿里云上使用该芯片,可以与公司的武进SoC平台配合使用。
大陆的另一家公司小米 (图 Google Images),也一直在致力于RISC-V 芯片研发。2019年 9 月,小米推出了第一款采用RISC-V架构设计的芯片“黄山一号”。今年 (2020) 6月“黄山一号”顺利流片量产,主要用于华米穿戴智能设备AMAZFIT的主控芯片。
必须承认,RISC-V离大规模商用化还有很远的距离。由于自身在软件生态、操作系统支持和微架构等方面还存在的很大改进空间, RISC-V架构尚难以覆盖AI和IoT芯片设计中最敏感的安全问题。而AI和IoT却是RISC-V最有可能商用的领域,因为那里没有单一、大型的统一平台,也因为在云端服务器、智能手机、平板电脑和PC市场, RISC-V没有机会打破ARM和x86架构的垄断地位 (图 Google Images)。
影响RISC-V商用化的另一因素是RISC-V的碎片化。高自由度的扩展能力虽能够让芯片实现自主定制,但在应用端也暗藏碎片化风险,这是自RISC-V诞生以来便备受关注的问题。开发出的RISC-V架构处理器尽管都归属于同一RISC-V体系,但在实际应用搭配时却不能够适配同样版本的软件,这样的话,RISC-V类的芯片被应用的更多之后,应用端会出现非常多硬件和硬件之间、硬件与软件之间的适配问题。再就是对专利的担忧,以及第三方生态系统的缺失。在主攻的嵌入式,小设备控制器市场,面临极强的竞争对手-安谋。
对大陆业界来说,RISC-V还有一个额外的风险:在中美矛盾激化时,可能被禁用。于是,有了另一个替代指令架构:loongArch。
未完待续
参考资料
关哥打野. (2020). 龙芯对外公开的LoongArch指令集. 腾讯网. 链接 https://xw.qq.com/cmsid/20200818A0TNHG00
黑洞照耀宇宙. (2020). 如果ARM(安谋)最终被NVIDIA(英伟达)收购,相关终端厂商是否会转向risc-v? 知乎. 链接 https://www.zhihu.com/question/414958057/answer/1427979577
华强微电子. (2019). RISC-V叩开IoT芯片大门 面临“碎片化”与“安全性”双重考验. 百度百科. 链接 https://baijiahao.baidu.com/s?id=1634398373363147084&wfr=spider&for=pc
萦梦灬落雨. (2019). 浅谈RISC-V指令集架构的来龙去脉. bilibili. 链接 https://www.bilibili.com/read/cv5022050
小枣君. (2020). 如何看待观点「华为没有核心技术,因为芯片用的是ARM(安谋)架构,一旦被停止授权,就会做不出芯片」? 知乎.链接 https://www.zhihu.com/question/296178433/answer/692275926
Burt, J. (2020). Alibaba on the bleeding edge of Risc-V with XT910. Next Platform. 链接 https://www.nextplatform.com/2020/08/21/alibaba-on-the-bleeding-edge-of-risc-v-with-xt910/
Feldman, M. (2020). EUROPEAN PROCESSOR INITIATIVE READIES PROTOTYPE. THE NEXTPLATFORM. 链接 https://www.nextplatform.com/2020/01/27/european-processor-initiative-readies-prototype
Goodwins, R. (2019). RISC-V opens up processor design. NDNet. 链接 https://www.zdnet.com/article/risc-v-opens-up-processor-design/
Guee程序员. (2020). 如何看待龙芯对外公开的 LoongArch 指令集?知乎. 链接 https://www.zhihu.com/question/414069789
Hu, D. (2018). CISC(复杂指令集)与RISC(精简指令集)的区别. CSDN. 链接 https://blog.csdn.net/m0_37608982/article/details/81865927
MIT Technology Review科技评论. (2020). 丢掉幻想!龙芯中科将推出LoongArch自主指令集,深度兼容Windows、Linux、Android程序. 麻省理工科技评论. 链接 http://www.mittrchina.com/news/5506
Mutschler, A. S. (2017). RISC-V pros and cons. SEMICONDUCTOR ENGINEERING. 链接 https://semiengineering.com/risc-v-pros-cons/
Wiki. (2020). Berkeley RISC. 链接 https://en.wikipedia.org/wiki/Berkeley_RISC
Wiki. (2020). RISC-V. 链接 https://en.wikipedia.org/wiki/RISC-V
不知道两者64位算术运算能力如何。
8年前用选i5-3470或FX-8320时,感觉差距挺大的。