CoreMark 跑个分:RISC-V vs ARM

EEMBC 的 CoreMark® 评分是一种比较通用的基准测试方式,用于测量嵌入式系统中使用的微控制器(MCU)和中央处理单元(CPU)的性能,可以帮助人们比较不同的 CPU 架构的性能表现。

一、简介:

CoreMark 取代了过时的 Dhrystone 基准测试,并包含以下算法的实现:列表处理(查找和排序)、矩阵操作(常见的矩阵操作)、状态机(确定输入流是否包含有效数字)和 CRC(循环冗余校验)。可以在 8 位微控制器到 64 位微处理器上运行。

与 Dhrystone 对比

与 Dhrystone 类似,CoreMark 小巧、便携、易于理解、免费,并显示一项基准测试分数。与 Dhrystone 不同的是,CoreMark 具有特定的运行和报告规则,并旨在避免 Dhrystone 的问题。例如,Dhrystone 的主要部分实际上暴露了编译器优化工作负载的能力,而不是 MCU 或 CPU 的能力。因此,Dhrystone 作为编译器基准测试比作为硬件基准测试更具有洞察力。同样地,在 Dhrystone 的计时部分中使用库调用。通常,这些库调用消耗基准测试消耗的大部分时间。由于库代码不是基准测试的一部分,如果使用不同的库,很难比较结果。最后,存在执行 Dhrystone 的指导方针,但由于结果没有得到认证或验证,因此它们不被强制执行。关于如何报告 Dhrystone 结果没有标准化,存在各种格式(DMIPS、每秒 Dhrystones、DMIPS/MHz)。

CoreMark 基准评分特点

CRC 算法具有双重功能,在链表元素中包含的数据上执行16位 CRC,以验证操作正确,保证操作正确并提供自我检查机制。

为了确保编译器不能在编译时预先计算结果,基准测试中的每个操作都会产生一个在编译时不可用的值。此外,基准测试中定时部分使用的所有代码都是基准测试本身的一部分(没有库调用)。

CoreMark 是一种基于 C 语言的 CPU 性能评测工具,其目标是为了提供一个可重复、可移植且各平台间性能得分可比较的基准测试。CoreMark 包含多个小型测试,旨在模拟实际应用程序中常见的操作和趋势。

CoreMark 测试由以下六个部分组成:

  1. 数值操作(Data structure operations):例如排序、链表操作等。
  2. 控制操作(Control operations):例如循环、条件判断等。
  3. 数学运算(Arithmetic operations):例如位操作、浮点数运算等。
  4. 字符串操作(String manipulation):例如字符串拼接、比较等。
  5. 矩阵变换(Matrix manipulation):例如矩阵乘法、转置等。
  6. 加密/解密(Encryption and decryption):例如 AES、RSA 等。

每个测试的执行时间不同,最终将所有测试的得分累计起来,并通过一系列加权平均和标准化处理以产生 CoreMark 分数。所以,根据这些测试的结果,CoreMark 分数是计算机硬件整体性能的综合指标。

除了提供一个可重复、可移植且可比较的基准测试之外,CoreMark 还可以用作新处理器设计和优化的参考工具。它可以帮助开发人员更好地理解其处理器、操作系统、编译器和库等各种因素之间的性能优化关系。

二、CoreMark 对比

常见的 ARM 芯片 和 RISC-V 芯片的 CoreMark 分数对比如下:
  • Cortex-M0:    2.33 CoreMark/MHz
  • Cortex-M0+:  2.46 CoreMark/MHz
  • Cortex-M3:    4.45 CoreMark/MHz
  • Cortex-M4:    4.02 CoreMark/MHz
  • Cortex-M7:    5.01 CoreMark/MHz
  • Cortex-A7:    2.32 CoreMark/MHz
  • Cortex-A53:  3.25 CoreMark/MHz
  • Cortex-A9:    3.52 CoreMark/MHz
  • Cortex-A55:  3.76 CoreMark/MHz
  • Cortex-A15:  5.26 CoreMark/MHz
  • Cortex-A72:  6.20 CoreMark/MHz
  • Cortex-A76:  7.41 CoreMark/MHz
  • 玄铁 C906:     3.40 CoreMark/MHz
  • StarFive U74: 5.09 CoreMark/MHz
  • 玄铁 C910:     7.10 CoreMark/MHz

需要注意,这些分数只是不同平台、编译器和优化级别得出的结果,并不能完全反映实际性能。实际应用中,还需考虑具体的工作负载、系统结构以及其他因素的影响。

STM32 MCU 的 CoreMark 分数

昉·星光 2、荔枝派 4A 与树莓派对比

作为 RISC-V 的标杆,昉·星光 2、荔枝派 4 与树莓派的对比如下:

 常见板卡的 CoreMark 性能对比列表 
构架 Processor MHz 单核 CoreMark 单核分数/MHz 核心数
  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RISC-V是一种开源的指令集架构(ISA),被广泛用于设计处理器、嵌入式系统和其他硬件设备。它是由加州大学伯克利校开发的,以开放和自由的设计原则为基础。CSDN机组大作业关注的是RISC-V这一重要的计算机体系结构。 首先,RISC-V具有良好的可扩展性。不同于现有的商业指令集架构,RISC-V的设计目标之一是提供一种可扩展的架构,使其适用于各种应用领域和不同的计算平台。用户可以选择适合自己需求的指令集扩展,并在其上进行定制化开发。 其次,RISC-V是一种精简指令集架构(RISC)。它采用了精简而一致的指令集,使得处理器设计相对简单,指令执行效率高。这使得RISC-V非常适合用于嵌入式系统和低功耗应用。 另外,RISC-V是一种开源的架构。这意味着任何人都可以使用、修改和RISC-V的实现。这种开源性推动了RISC-V生态系统的快速发展,吸引了众多学术界和产业界的关注和参与。这也使得RISC-V成为了一个全球性的共享计算资源。 最后,RISC-V的应用范围非常广泛。它可以支持从微控制器到服务器的各种硬件设备和平台。随着RISC-V生态系统的不断壮大,越来越多的软件和工具链支持RISC-V指令集。这为用户提供了更多的选择和灵活性。 在CSDN机组大作业中,学习和研究RISC-V可以帮助我们深入了解和掌握这一新型的计算机体系结构。我们可以通过实践和设计,加深对计算机体系结构的理解,提高计算机系统设计与开发的能力。同时,参与到RISC-V生态系统的开发中,也可以为开源社区做出贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值