RISC-V应用于高性能处理器的可能性
RISC-V应用于高性能处理器的可能性摘要:RISC-V是加州大学伯克利分校的计算机科学部门设计并发布的一种开源指令集架构,旨在支持计算机体系结构的研究和教育,自发布以来得到了广泛的关注。作为现代指令集架构,它可以胜任云级服务器到移动设备和物联网设备的各种应用,但目前其受众的主要需求集中在单片机以及简单的处理器。本文对RISC-V的产生背景、基本设计、主要市场及其面临的挑战进行了介绍,重点探讨RISC-V应用于高性能处理器的可能性。关键词:RISC-V;高性能处理器;生态建设;
Abstract: RISC-V is an open source instruction set architecture designed and released by the computer science department at the University of California, Berkeley, which designed to support computer architecture research and education. It has received a lot of attention since its release. This modern instruction set architecture is designed to work for any application, from cloud-level servers down to mobile and Internet of Things devices, but the majority of its audience’s current needs are focused on microprogrammed control units and simple processors. This paper introduces the background, basic design, key markets and challenges of RISC-V, focuses on the possibility of RISC-V’s application in high-performance processors.
Key words: RISC-V; high-performance processors;Ecosystem Growth;
引言
AMD和英特尔在2011年PC时代的巅峰期出了大约3亿5千万个微处理器,软件基础、性能和价格上的优势使CISC赢得了PC时代的后期阶段;但进入后PC时代,智能手机公司对构建自己的芯片系统(SoC)的需要和物联网的到来使得RISC处理器占据主导,X86出货量自 2011 年达到峰值以来每年下降近 10%,而采用RISC处理器的芯片则飙升至 200 亿。如今,99%的 32 位和 64 位处理器都是RISC。
而当指令级架构经过数十年的发展,成本、能源、安全以及性能等方面改善的需求使其面临新的挑战。为了支持计算机体系结构的研究和教育,加州大学伯克利分校的研究人员设计了一种新的指令级架构,其架构简单、完全开源,而且可通过扩展指令做定制化修改,他们将其命名为RISC-V。自2014年RISC-V正式发布以来,众多企业、知名学府和研究机构都加入了其基金会,市场上涌现出众多采用RISC-V架构的开源处理器和SoC,在印度政府的大力资助下,RISC-V还成为了印度的国家指令集,围绕RISC-V的生态逐渐完善。近两年,RISC-V在中国也掀起一片热潮,被视作国产芯“自主可控”的发展契机。本文简单介绍RISC-V的基本信息,重点探讨其应用于高性能处理器领域的可能性。
1 RISC-V简介
1.1 何为RISC-V?RISC-V是加州大学伯克利分校的计算机科学部门设计并发布的一种开源指令集架构,旨在支持计算机体系结构的研究和教育。因为它的自由开放性,许多不同组织的人可以同时使用RISC-V进行创新。它在设计中注重模块化和扩展,带有完善的软件堆栈,包括编译器、操作系统和调试器,使用者可定制化修改。它可以胜任云级服务器、移动设备和物联网设备的各种应用。它在RISC-V基金会的管理下维护架构,确保其长期稳定性和发展。
图1 RISC-V基金会成员 来源:https://riscv.org/risc-v-foundation/图2 RISC-V基金会成员数量 来源:https://riscv.org/risc-v-foundation/
1.2 RISC-V的基本设计
RISC-V是一个模块化指令集,如下表所示,RISC-V包括3个基本指令集(RV32E是RV32I的子集)和6个扩展指令集。基本指令集内指令按照功能分类有整数运算指令、分支转移指令、加载存储指令、控制与状态寄存器访问指令和系统调用指令这六类,这些指令可以满足现代操作系统运行的基本要求。扩展指令集中包括整型数乘除法操作指令、原子内存操作指令、不同精度(单精度、双精度、四倍精度)的浮点数指令和压缩指令,采用RISC-V架构的处理器设计人员可以根据需要包含或者省略这些扩展指令。
表1 RISC-V的指令集组成
1.3 RISC-V的优势RISC-V是一种简洁的设计,更少的指令和指令格式减少了设计处理器和验证硬件正确性的工作量,其开放式的特点也使得学术界和工业界的所有最佳人才都可以帮助提高安全性。
图3 RISC-V的优势 来源:https://riscv.org/risc-v-foundation/
2 RISC-V的主要市场
2.1 从异构计算说起当摩尔定律逐渐接近物理极限,通用化的芯片通过摩尔定律提升性能的速度变得很慢,而且单纯地提升一种芯片性能的代价越来越高,目前芯片的研发成本已经超过了一般商业公司的承受能力,支持高端芯片研发的企业越来越少,这对半导体行业的生态造成了非常不利的影响。与此同时,随着物联网时代的到来,终端应用丰富而碎片化的发展急需针对不同的应用场景设计定制化的芯片来满足其需求,这也就是异构计算的一个范式。
异构计算时代,对芯片设计的需求主要在于速度、成本和专用化的设计。绝大多数指令集架构都是受专利保护的,想要使用这些架构需要得到授权;多数指令集架构都比较复杂,对性能和功耗均会带来影响;同时已有的指令集架构也不便于针对特定的应用进行自定义扩展,即便增加了特定的功能,价格也将随之上涨。
在这样的背景下,具有开源和可定制化设计等特性的RISC-V渐渐兴起。RISC-V的开源特性一方面大大降低了成本,另一方面可以满足量身定制的需求。此外,RISC-V生态与以Chisel为代表的敏捷设计方法论深度绑定,使用RISC-V也能享受到敏捷设计的速度优势。
2.2 体现RISC-V优势的领域RISC-V基金会中国顾问委员会主席方之熙博士认为,价格、性能和功耗方面的优势并不会成为RISC-V最大的优势。RISC-V免授权费的仅限于低端的设计(Arm也可以把简单的设计开源免费提供),而比起指令集的优势,团队的设计功力对处理器的功耗和性能影响更大。RISC-V可以根据应用场景实现的差异化应该是最需要被关注的。
目前来看,物联网、专用芯片、数据中心市场和边缘计算市场是RISC-V最能大展身手的四大领域。物联网市场的碎片化特性是它的问题,却也是RISC-V得以进入这一市场的契机,RISC-V指令集的可拓展性使开发者可以实现从低功耗的可穿戴设备到普通家电再到工控市场等的芯片;在专用芯片领域,RISC-V不仅能降低功耗和提高性能,还能够设计不同的安全机制和安全算法;AI时代,不同的深度学习算法对于硬件架构的要求差距很大,数据中心处理器的功耗是一个非常大的问题,而定制化设计的RISC-V处理器能够更好地满足其需求;在边缘计算市场,同样有非常多的应用场景,这些应用对芯片的性能、功耗、安全性都有不同的要求,RISC-V的灵活性可以很好的发挥作用。
利用RISC-V的优势,根据应用的需求设计出差异化且合适的RISC-V芯片,它可以在物联网、专用芯片、数据中心、边缘计算市场发挥出性能、功耗、安全性等方面的优势,而这些快速发展的市场对生态的依赖性也没有那么高,使RISC-V的应用变得更加容易。
2.3 RISC-V面临的挑战虽然RISC-V持续受到关注,但其在工具和软件存在缺陷,并且涉及到所有可定制架构的风险仍不容忽视。
目前RISC-V的标准指令集里还没有安全指令,用国际通用的方法实现安全机制则很容易被黑客发现问题并攻击。
RISC-V更少的指令和指令格式减少了设计处理器和验证硬件正确性的工作量,而RISC-V的目标范围覆盖了数据中心芯片到物联网设备,因此设计验证可能是开发成本的重要组成部分。建模、模拟、移植软件、开发和调试新软件等需要新的先进工具来实现。
尽管RISC-V开放式可定制化修改的特点使其在一些特定需求的领域发挥了更多的优势因而可能得到更广泛的应用,但是定制化的设计也使得它们之间难以兼容,使用这些系统并且管理跨系统部分的任务是非常复杂的。
除此之外,当一个架构被应用到特定的市场时,围绕IP保护和专利侵权还有很多问题。当构建一个微架构时,几乎肯定会在某个地方违反一些微架构模式,专利侵权变成了难以避免的问题;当基于指令集架构的衍生产品数量巨大时,保护IP也变得更加困难。
3 RISC-V应用于高性能处理器的可能性
3.1 基于RISC-V架构的511核处理器(Celerity)Celerity采用分层加速器结构,有三个关键的架构层,下图4显示了Celerity的框图:
绿色是通用层,用于执行复杂的代码,如网络、控制和决策;
蓝色是专业化层,由高度专门化的算法加速器组成,可以满足具有高性能和功耗要求的特定计算;
红色是大规模并行层,由小型、紧密耦合的内核组成,可以满足不断增加的工作量对高能源效率和灵活性的要求。
这种架构使开发者在九个月内通过开源和敏捷硬件技术完成设计实现。
图4 基于RISC-V架构的511核处理器(Celerity) 来源:
下表2显示了Celerity SoC和其他平台上优化的BNN实现的性能比较。由于平台的实现方法、技术和内存系统都不尽相同,该结果仅提供粗略的比较。与FPGA实现相比,Celerity SoC可以将性能提高10倍以上,与移动GPU相比,可以提高100倍以上。
表2.在不同平台上优化的BNN实现的性能比较 来源:
3.2 Western Digital的RISC-V内核SweRVWestern Digital(西部数据)发布的SweRV架构是32bit顺序执行架构,具有2路超标量设计和9级流水线,采用28nm CMOS工艺技术,运行频率达1.8GHz,可以提供5.0 CoreMarks/MHz的仿真性能。官网消息称SweRV Core将在未来几年用于西部数据产品。
图5 SweRV Core 来源:
同时西部数据还推出了开源的SweRV指令集模拟器,该开源指令集模拟器是独立于SweRV Core开发的,用于严格模拟和验证SweRV Core。
图6 SweRV指令集模拟器 来源:
3.3 RISC-V应用于高性能处理器的可能性分析随着RISC-V架构越来越多的产品发布,这个开源指令集架构是否可能像X86和ARM架构一样用于主处理器?
无疑,RISC-V架构的支持者认为RISC-V将来会成为Arm和x86作为主处理器的替代品。尽管RISC-V还存在需要解决的问题,如合规性测试时无确定获批准的关键规格、操作系统软件端口的缺乏等,但RISC-V的支持者仍表示RISC-V基金会及其成员正逐步解决这些问题。
Arm在2018年6月底建立网站以“设计系统芯片之前需要考虑的五件事”为主题从成本、生态系统、碎片化风险、安全性和设计保证方面攻击RISC-V,尽管7月RISC-V也建立了网站,在Arm列出的五个问题上增加社区支持,以“设计系统芯片之前需要考虑的六件事”为主题对Arm进行反击,但不容忽视的是,Arm的市场仍然巨大。
众所周知,一旦当某种应用的需求有一定市场规模以后,会形成一种运转平台。当这一平台上面的软件形成了一定的生态系统以后,其他玩家便很难再进入了。X86架构主宰了PC、服务器等高性能高功耗领域,ARM架构专注于手机、物联网等低功耗低成本领域已是无可厚非的事实,正在迅速壮大的RISC-V短时间内很难对它们构成严重威胁。RISC-V只是一个指令集架构,想要使用它还要做很多设计工作,这些工作甚至不比Arm的设计简单。
回顾PC时代的后期阶段,尽管当时学术界做出的RISC微处理器比CISC更快,但AMD和英特尔可以使用其拥有的设计团队和顶尖半导体技术来减少 x86和RISC的性能差距,当时RISC的设计都可以用于改进已有的x86设计;同时,AMD和英特尔的高产量使其价格比RISC计算机更低,x86也拥有更大的软件基础。尽管智能手机的出现使RISC逐渐占据主导,但CISC并没有因此而消失。目前的局势与当时有些类似,物联网应用会伴随新的技术,在人工智能物联网领域,RISC-V会成为非常重要的玩家是毫无疑问的,RISC-V替代Arm也很有可能,但还需要一定的时间,而且Arm并不会因此而消失。在高性能处理器领域,尽管在学术界RISC-V可以做高性能处理器已经得到了验证,但生态环境的不成熟使商业市场是否会选择RISC-V仍具有不确定性。我们有理由相信,竞争之中每个公司都可以找到自己的立足点。对于一个需要不断更新迭代的行业,良性的竞争可以有效地促进它的创新发展。
结语自身设计的优越性和日益成熟的生态促进了RISC-V的快速发展,但其只是一个指令集架构,而指令集只是处理器的基础,建立在指令集之上的处理器体系架构设计对于处理器来说也是十分重要的,这些设计工作并不比Arm的设计简单。尽管学术界已有基于RISC-V的核处理器,但从计算机架构的发展历程来看,市场才能最终决定架构创新是否成功,在高性能处理器领域,RISC-V的生态远未成熟,但可以肯定的是,随着RISC-V架构和生态系统的成熟,它肯定会在高性能处理器上找到立足点,而且它的角色只会越来越重要。
参考文献
John L. Hennessy, David A. Patterson. A New Golden Age for Computer Architecture. Communications of the ACM, 2019, 62(2): 48-60.
Andrew Waterman, Yunsup Lee, David A. Patterson, Krste Asanovic. The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA. EECS, 2011, 62:3-4.
雷思磊.RISC-V架构的开源处理器及SoC研究综述.单片机与嵌入式系统应用,2017,17(02):56-60+76.
John Hennessy, David Patterson. A new golden age for computer architecture: Domain-specific hardware/software co-design, enhanced security, open instruction sets, and agile chip development . IEEE, 2018.
李飞. RISC-V对芯片产业究竟意味着什么?.半导体行业观察,2019.
包永刚.真正让Arm感到紧张的原因为什么是RISC-V的灵活性?.雷锋网,2019
Ann Steffora Mutschler. RISC-V Inches Toward The Center. Semiconductor Engineering, 2018.
Scott Davidson, Shaolin Xie, et al. The Celerity Open-Source 511-Core RISC-V Tiered Accelerator Fabric: Fast Architectures and Design Methodologies for Fast Chips. IEEE Micro, 2018, 38(2):30-41
Company. Supporting the RISC-V Ecosystem. Western Digital, 2018.
页:
[1]