RISC-V与ARM的比较


前言

RISC-V和ARM是近年来受到广泛关注的两种处理器架构。RISC-V是一个开源指令集架构(ISA)基于精简指令集计算(RISC)原则。而ARM指令集架构是一个专有ISA,其较早出现,经过多年的发展,获得了广泛的声誉,已成为嵌入式系统和移动设备中主流ISA。

比较这两种架构对于理解它们的优缺点以及它们对计算未来的潜在影响至关重要。本文将深入研究RISC-V和ARM的历史、架构特性、性能、能效、生态系统、许可模型、用例和未来前景。


指令集

处理器功能的核心是它的指令集体系结构(ISA),这是一个概述处理器可以理解和执行的指令的集合。它是硬件和软件之间的基本桥梁,决定了处理器的能力和性能。ISA的选择会影响到软件的开发方式,并且它对处理器的效率、兼容性和灵活性都有深远的影响。

ISA可以大致分为两种类型:开放和封闭。以ARM ISA为例,是专有的,由特定的公司(控股)严格控制,提供既定的可靠性和兼容性,但限制了定制。另一方面,开放的ISAs,以RISC-V为例,是由社区驱动的,并为定制提供更大的灵活性,促进创新和适应特定的需求。

RISC-V和ARM之间正在进行的争论围绕着它们所体现的不同的ISAs,每一个都提供了独特的优势和方法,以满足不断变化的计算需求。


RISC-V与ARM的发展历史

RISC-V

多年来,计算机架构一直在不断发展。历史上曾经由x86架构主导,出现了像英特尔这样的巨头。ARM的出现,为移动设备提供了高性能低功耗处理器,ARM的成功将架构的发展方向转变为精简指令集计算(RISC)架构。

ARM确实在市场上取得了成功,但它是一个带有许可费用和定制限制的专有架构。这种专有性质阻碍了小公司、初创公司和研究人员充分参与高级处理器的开发。

RISC-V旨在通过提供一个开源的替代方案来解决这些限制。因此,RISC-V开发背后的动机来自于对处理器架构领域更大的开放性、定制性和创新的渴望。

RISC-V起源于加州大学伯克利分校的计算机科学部。该项目始于2010年,由克斯特·阿萨诺维奇教授、大卫·帕特森教授和他们的团队领导。

第一个RISC-V规范于2011年发布,而RISC-V国际规范成立于2015年,以促进RISC-V ISA的采用和标准化。此后,该基金会已经发展到包括超过200名成员,其中包括谷歌、NVIDIA和西部数字等大型科技公司。RISC-V已经在多个行业迅速被采用,有几家公司开发并发布了基于RISC-V的处理器和芯片系统(SoCs)。

RISC-V历史上的一个关键里程碑是2017年发布的RISC-V特权体系结构规范,该规范定义了硬件和操作系统之间的接口。该规范使更复杂的RISC-V处理器的开发成为可能,并促进了将Linux等操作系统移植到RISC-V平台。

另一个重要的里程碑是在2018年宣布推出了首款商用RISC-V处理器,即SiFiveU540。该处理器显示了RISC-V在商业应用中的可行性,并为该体系结构在行业中的进一步采用铺平了道路。

ARM

ARM是Advance RISC Machine(高级RISC机器)的缩写,起源于Acorn计算机公司,一家英国公司在20世纪80年代开发了Acorn RISC机器架构。ARM架构最初是为使用Acorn的个人电脑而设计的,重点关注功率效率和简单性。1990年,Acorn电脑、苹果和VLSI科技成立了一家名为高级RISC机器有限公司的合资公司,后来成为ARM控股公司。

第一个ARM处理器,ARM1,在1985年推出,而ARM2随后在1986年推出。这些早期的处理器主要用于Acorn的阿基米德系列计算机。当苹果在1993年为其牛顿个人数字助理(PDA)选择了ARM610处理器后,ARM架构获得了广泛的认可。这标志着ARM开始在移动和嵌入式系统市场占据主导地位。

多年来,ARM开发了多个处理器系列,每个系列都针对特定的细分市场和性能需求。一些著名的ARM处理器系列包括用于高性能应用的Cortex-A系列,用于实时系统的Cortex-R系列,以及用于微控制器和低功耗设备的Cortex-M系列。

ARM的成功可以归功于其创新的许可模式,该模式允许半导体公司对ARM的IP进行许可,并根据他们的特定需求进行定制。这种灵活性使得许多公司,包括像AMD这样的行业巨头,能够设计和制造基于ARM的CPU和GPU,并针对不同的应用程序进行优化,从节能的移动设备到高性能服务器。这构造了一个庞大的基于ARM的处理器和设备的生态系统,迄今为止出货量超过1800亿个ARM芯片。每年的出货量约为300亿个ARM芯片。

ARM架构已经成为移动设备、物联网和嵌入式系统的实际标准,苹果、三星和高通等大公司的产品都依赖于ARM处理器。

RISC-V与ARM的架构差异

RISC-V架构

在这里插入图片描述

RISC-V体系结构基于RISC原则(与CISC相比),该原则强调一个小、简单和高效的指令集。

RISC-V的关键架构特性包括加载-存储架构、固定长度的32位指令格式和少量的通用寄存器。

RISC-V支持各种整数指令集扩展,如RV32I(32位)、RV64I(64位)和RV128I(128位),它们定义了不同地址空间大小的基本整数指令集。

RISC-V在内存系统中使用小端字节排序,多字节数据中的最小重要字节存储在最低的内存地址。

RISC-V指令集的独特性在于:
1.模块化和可扩展性:RISC-V的定义特征之一是其模块化和可扩展性。ISA被设计为易于通过自定义指令和协处理器进行扩展,允许满足特定应用程序需求的定制实现。这种灵活性是通过模块化设计实现的,其中基本ISA可以与可选的标准扩展相结合,例如用于整数乘法和除法的M扩展,原子操作的a扩展,以及单精度和双精度浮点运算的F和D扩展。

2.压缩指令集:与ARM的Thumb指令集相比,RISC-V还支持一个名为RV32C(或RV64C为64位)的压缩指令集扩展,它提供了16位的压缩指令,可以与标准的32位指令混合。这一特性有助于减少代码大小和提高能源效率,使RISC-V特别适合于嵌入式系统和低功耗的应用程序。

3.特权级别和虚拟内存:RISC-V架构的另一个重要方面是它对特权级别和虚拟内存的支持。RISC-V特权体系结构规范定义了三个特权级别:机器模式(M模式)、监控模式(S模式)和用户模式(U模式)。这些特权级别提供了一种隔离操作系统内核、系统管理程序和用户应用程序的机制,以确保系统的安全性和稳定性。RISC-V还支持基于多级页表方案的虚拟内存系统,从而实现了有效的内存管理和保护。

ARM架构

在这里插入图片描述
ARM体系结构也基于RISC原则,重点关注功率效率和简单性。

ARM的关键架构特性包括加载-存储体系结构,固定长度的32位和可变长度的拇指指令的混合,以及大量的通用寄存器。

内存系统采用双端字节排序,使ARM处理器或机器能够在硬件级别无缝地处理和传输两种端格式的数据。

ARM处理器被分为几个家族,每个家族都针对特定的性能和功率需求。最广泛使用的ARM处理器系列是Cortex-A、Cortex-R和Cortex-M系列。

Cortex-A系列专为高性能应用程序而设计,如智能手机、平板电脑和服务器。这些处理器支持乱序执行、超量管道和硬件虚拟化等高级特性。

Cortex-R系列为实时系统进行了优化,提供了快速的中断响应时间和确定性行为。这些处理器通常用于汽车、工业和安全关键领域的应用。

Cortex-M系列是为微控制器和低功耗设备量身定制的,专注于能效和易用性。

ARM架构也包含:

  1. Thumb指令集:ARM处理器通常实现ARM和拇指指令集,后者提供16位压缩指令,以提高代码密度和能源效率。ARM引入了Thumb指令集,作为对传统的32位ARM指令的一个可选的16位扩展。该特性可以在保持合理的性能的同时减少代码大小,使其适合于内存受限的设备,如嵌入式系统。
  2. 内存管理和保护:ARM处理器支持各种级别的内存管理和保护,包括用于简单系统的内存保护单元(MPU)和用于具有虚拟内存支持的更复杂系统的内存管理单元(MMU)。在2011年引入的ARMv8-A体系结构,增加了对64位地址空间的支持,并引入了AArch64执行状态,它在现有的32位ARM和拇指指令集旁边提供了一个新的64位指令集。
  3. 可选的增强功能:除了基本的ISA,ARM处理器还可以包括可选的扩展,例如用于多媒体和信号处理任务的NEON SIMD(单指令,多数据)扩展,以及用于硬件加速加密和解密的加密扩展。这些扩展使ARM处理器能够有效地处理广泛的工作负载,同时保持低功耗和较小的硅占用空间。

RISC-V与ARM的性能比较

RISC-V和ARM之间的性能比较涉及到一系列影响性能的因素。本节只比较了特定型号的性能数据供参考。具体型号的性能需要参考供应商的数据。整体而言,RISC-V架构处理器的性能还能持续提升。

  1. 核心世代和进展:来自SiFive的P550与ARM的Cortex-A75相当,展示了RISC-V与已建立的ARM核心相一致的能力。然而,ARM的持续发展导致了后续的A-76、A-77、A-78、Cortex-X1和Cortex-X2,可能使P550落后于ARM的最新模型几代。ARM的一致发展给他们提供了一个性能优势。
  2. 核心等效物和效率:BeagleV的U74核心与ARM的Cortex-A55架构相一致,而树莓派集成了Cortex-A72,在性能和成本效益方面具有潜在的优势。ARM现有的核心选择为各种性能级别提供了既定的选项。
  3. 生态系统和行业的采用:ARM在该行业中的主导地位源于其广泛的生态系统,并有广泛的软件和硬件支持。利用ARM处理器的公司可以利用成熟的基础设施,加速开发和部署。
  4. 定制和开放性:RISC-V的模块化和可扩展的体系结构提供了ARM的专有体系结构可能缺乏的定制机会。然而,ARM的记录、稳定性和建立的标准为性能优化提供了坚实的基础。
  5. 追赶和未来的前景:为了匹配ARM的性能标准,像SiFive这样的RISC-V支持者需要继续推进他们的核心设计,缩小代沟。RISC-V需要的持续努力,以在性能和生态系统成熟度方面取得赶上ARM。

RISC-V与ARM的功耗效率

RISC-V

RISC-V和ARM架构之间的功率效率的比较揭示了它们各自在管理能源消耗方面的能力的不同的见解。

由于这两种架构都采用了简化指令集计算(RISC)的理念,因此深入研究具体数据和区分其能效性能的可衡量因素是非常重要的。功率效率是处理器设计的一个关键方面,特别是对于嵌入式系统、物联网设备和电池供电的应用程序。

RISC-V的架构强调简单性和模块化,与更复杂的处理器架构相比,这有助于提高功率效率。RISC-V ISA允许实现硅占地面积小的处理器,降低功耗,并实现节能设备的设计。
RISC-V架构的几个特性有助于其功率效率。

固定长度的32位指令格式简化了解码,降低了控制逻辑的复杂性,从而降低了功耗。
可选的RV32C(或RV64C)压缩指令集扩展提供16位压缩指令,可以通过减少代码大小和提高能源效率。

此外,RISC-V的模块化设计允许实现针对特定应用程序需求的定制扩展和硬件加速器。这使得您可以开发只包含必要功能的处理器,并通过消除未使用的硬件特性来降低功耗。

节能的RISC-V处理器的例子包括为物联网和可穿戴设备设计的PULPino处理器,以及针对节能的人工智能和机器学习应用的GreenWaves GAP8处理器。GAP8处理器具有8个RISC-V核心集群和一个用于卷积神经网络(CNNs)的专用硬件加速器,为人工智能工作负载实现高达200 GOPS/W的功率效率(每秒每瓦兆操作)。

ARM

自ARM架构成立以来,能效一直是ARM架构的一个重点,使其成为许多移动和嵌入式应用程序的首选。ARM处理器旨在提供高性能和低功耗,能够在广泛的应用中开发节能设备。

ARM架构的几个特性有助于提高其功率效率。

使用负载存储体系结构和固定长度的32位和可变长度的拇指指令的组合,简化了解码,降低了控制逻辑的复杂性,从而降低了功耗。

此外,ARM处理器通常包括电源管理功能,如动态电压和频率缩放(DVFS),这允许处理器根据工作负载需求调整其工作频率和电压,进一步提高能源效率。

ARM的处理器系列,如Cortex-A、Cortex-R和Cortex-M系列的设计考虑了不同的功率和性能目标。例如,Cortex-M系列针对微控制器和低功耗设备进行了优化,重点关注能源效率和易用性。Cortex-M4处理器,其工作频率高达240 MHz,并提供1.25 DMIPS/MHz的性能,包括一个硬件浮点单元(FPU)和DSP(数字信号处理)扩展,使其适用于低功耗的信号处理和控制应用程序。

在高性能领域,像Cortex-A76这样的ARM处理器实现了优异的每瓦特性能比,使其成为智能手机和笔记本电脑等功率有限的高性能设备的理想选择。Cortex-A76处理器的工作频率高达3 GHz,其峰值性能为4.0 DMIPS/MHz,同时保持低功耗。

总的来说,ARM专注于电力效率,再加上其广泛的生态系统和广泛的处理器系列,使跨不同行业和应用的节能设备的发展成为可能。

考虑到可测量的因素和行业趋势,ARM改进的电源管理技术和专门的核心使其在功率效率方面具有明显的优势。

RISC-V与ARM的生态系统和支持

生态系统和对处理器架构的选择有着关键作用。

在RISC-V和ARM的背景下,评估其各自的生态系统和支持结构的优缺点,对于组织为其项目寻求最合适的解决方案是至关重要的。

生态系统

RISC-V

 作为一个开源架构,RISC-V吸引了拥有超过200名成员的开发者、初创公司和研究人员社区,包括谷歌、NVIDIA和西部数字等大型科技公司。
 与ARM相比,RISC-V的生态系统相对较年轻,但增长迅速。
 它的规模可能还不能达到ARM的规模,但它的开放性质促进了协作、定制和创新。

ARM

 ARM已经培育出了一个成熟而广阔的生态系统。它的授权模式已经导致了大量基于ARM的产品,迄今为止已出货超过1800亿个ARM芯片。
 它的生态系统包括广泛的硬件合作伙伴、软件工具和已建立的开发板。
 它提供了丰富的资源、支持,以及成功集成到各种应用程序中的可靠记录。

硬件和软件

RISC-V

在硬件支持方面,几家半导体公司已经开发了RISC-V处理器和芯片上的系统(SoCs),包括SiFive、安第斯技术和微芯片。这些公司提供各种多种基于risc-v的产品,从低功耗微控制器到高性能应用处理器。此外,RISC-V的开源特性推动了许多开源处理器设计的发展,如PULPino和RISC-V BOOM无序超量量处理器。随着亚马逊和其他科技巨头探索RISC-V的能力,CPU架构的格局正在经历一个显著的转变,开源硬件在以前未开发的领域越来越突出。

在软件方面,RISC-V生态系统包括对各种操作系统的支持,包括Linux、FreeBSD和实时操作系统(RTOS),如FreepRTOS和Zephyr。

•RISC-V的生态系统相对较新,但正在扩张迅速。
•它的开放性质鼓励了实验和专业化。
•开发人员可以定制体系结构以适应特定的需求,从而产生定制的解决方案。
•虽然这个生态系统可能不像ARM那样成熟,但它为特定应用提供了灵活性和潜力。

ARM

在硬件方面,高通、三星和苹果等主要半导体公司已经开发了自己的基于ARM的处理器,以满足各种细分市场和性能要求。这些处理器被广泛应用于各种设备中,包括智能手机、平板电脑、物联网设备和嵌入式系统。

在软件方面,ARM生态系统包括支持许多操作系统,如Linux系统、安卓系统、iOS系统和窗口系统,以及实时操作系统(RTOS),如FreeRTOS操作系统和VxWorks系统。

•ARM受益于一个全面和成熟的生态系统。
•它的架构为大量的设备提供动力,从智能手机到服务器,确保了广泛的硬件选项、软件工具和库。
•开发人员可以从各种开发板、编译器和调试工具中进行选择。

行业采用情况

RISC-V

RISC-V在定制、开放和创新至关重要的领域逐渐获得吸引力。

它的采用可能不像ARM那样广泛,但它在边缘计算、桌面系统和物联网等领域越来越受欢迎,表明了一个满足特定需求的生态系统正在增长。

ARM

ARM在各个行业的广泛采用使自己能够稳定和支持的解决方案。
它的架构深入集成到各个领域,使其成为许多开发人员的首选。
基于ARM的设备的普及确保了一个巨大的市场和一个强大的生态系统。

总之,虽然ARM广泛的生态系统提供了稳定性、经过验证的工具和广泛的硬件选项,但RISC-V的开源特性促进了协作、定制和创新。

这两种架构之间的选择取决于项目的具体需求,ARM迎合了已建立的行业,而RISC-V为那些寻求灵活性和独特解决方案的人提供了一个平台。

RISC-V与ARM的商业模式

处理器架构的世界不仅仅由技术能力定义;它也受到参与者的商业和授权策略的影响。
这个比较深入研究了RISC-V和ARM的许可和商业模式,揭示了这些方法如何影响处理器的开发、采用和定制。

RISC-V

开源许可
 RISC-V在许可的开放和免版税许可下运行,如Apache许可证2.0。
 鼓励透明度、协作和创新,因为开发人员可以自由地访问、研究、修改和分发体系结构。

灵活性
 RISC-V的开源特性允许组织根据他们的特定需求定制处理器体系结构。
 可以通过扩展和配置进行定制,从而支持为各种应用程序创建优化的处理器。

降低成本
 RISC-V的主要吸引力之一是取消了许可费。
 这可以显著降低采用和开发基于RISC-V处理器的产品的成本。

所有权控制
 使用RISC-V的组织可以完全控制其处理器设计,从而减少了对单个供应商的依赖。
 这种所有权控制对旨在保护其知识产权的公司尤其有利。

ARM

许可层
 ARM提供了多个许可层,包括基于许可级别访问各种指令集和架构的能力。
 这种分层模式允许公司选择与其需求一致的访问级别。

专有元素
 ARM通过其架构提供了开放性,但一些高级特性或技术可能是专有的,需要签订许可协议。
 这种开放和专有元素的混合使得ARM能够在定制和保护有价值的创新之间保持平衡。

许可费用
 根据使用的程度,ARM的许可模式通常涉及许可费用。
 这些费用有助于实现ARM的收入模式,并可能影响使用ARM处理器的公司的整体成本结构。

供应商关系
 采用ARM处理器通常涉及与ARM或其被许可方的合作伙伴关系。
 •公司可能会与ARM密切合作,以访问高级功能、支持和定制 相比之下,RISC-V提供了开源许可、灵活性、降低的成本和所有权控制,而ARM提供了许可灵活性、专有和开放元素的混合、许可成本以及协作生态系统。

RISC-V与ARM的应用案例

RISC-V

RISC-V处理器由于其模块化和可扩展的架构,适用于广泛的用例和应用程序。

RISC-V ISA的灵活性使针对特定应用需求开发定制处理器设计,使RISC-V成为不同行业和市场的一个有吸引力的选择。例如亚马逊这样的公司已经认识到RISC-V在为其特定需求提供定制解决方案方面的潜力。

RISC-V处理器的主要用例之一是低功耗嵌入式系统和物联网设备。RISC-V的简单性和功率效率使其成为能源约束紧张的应用程序的理想选择,如可穿戴设备、智能传感器和家庭自动化系统。基于RISC-V的物联网设备的例子包括GreenWaves GAP8处理器,它针对目标是节能的人工智能和机器学习应用,以及为物联网和可穿戴设备设计的PULPino处理器。

RISC-V处理器在数据中心和高性能计算(HPC)市场也获得了吸引力。RISC-VISA的模块化允许开发具有自定义扩展和硬件加速器的高性能处理器,从而能够高效地处理复杂的工作负载,如人工智能、机器学习和大数据分析。基于RISC-V的HPC处理器的案例包括SiFive U74和RISC-V BOOM超阶超量处理器。

此外,RISC-V正在探索用于安全和实时系统,如汽车、航空航天和工业控制应用。RISC-V的开源特性使处理器设计的透明和彻底的验证,这对于确保关键系统的安全性和可靠性至关重要。

ARM

由于ARM处理器的功率效率、性能和广泛的生态系统,它被用于不同的用例和应用程序中。各种ARM处理器系列,如Cortex-A、Cortex-R和Cortex-M,满足不同的细分市场和性能要求,使ARM成为许多行业和市场的通用选择。

ARM处理器最突出的用例之一是移动设备,如智能手机和平板电脑。ARM处理器的功率效率和性能使其成为工作负载要求较高的电池供电设备的理想选择。包括苹果、三星和华为在内的主要智能手机制造商的旗舰设备依赖基于ARM的处理器。

ARM处理器也被广泛应用于嵌入式系统和物联网设备中,如智能传感器、家庭自动化系统和工业控制系统。Cortex-M系列,专为微控制器和低功耗应用而设计,特别适合于这些用例。基于ARM的物联网设备的例子包括意法半导体的STM32系列微控制器和北欧半导体的nRF52系列无线SoCs。

除了移动应用和物联网应用外,ARM处理器也越来越多地被数据中心和高性能计算(HPC)市场所采用。ARM新新平台,包括新新N1和E1处理器,针对云基础设施和边缘计算应用,为数据中心工作负载提供高性能和能源效率。

此外,ARM处理器用于安全和实时系统,如汽车、航空航天和工业控制应用。Cortex-R系列,为实时系统而优化,提供了快速的中断响应时间和确定性行为,使其适合于这些要求很高的应用程序。

结论

RISC-V和ARM处理器架构都提供了独特的优势,并满足了不同的细分市场和性能需求。

RISC-V的开源、模块化和可扩展架构,能够开发针对特定应用程序的定制处理器设计,使其成为各个行业的一个有吸引力的选择。

ARM的功率效率、性能和广泛的生态系统使其成为移动设备、嵌入式系统和物联网设备的主要选择。

RISC-V和ARM之间的持续的竞争将继续塑造处理器行业的未来,这两种架构都为不同的用例和应用程序提供了个性的解决方案。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐