先楫HPM5361EVK性能评测——CoreMark测试
[复制链接]
一、CoreMark介绍
CoreMark是一种用于评估嵌入式系统性能的基准测试工具,它专注于测量处理器的核心性能。该基准测试旨在提供一个简单、小型的测试套件,以评估嵌入式系统的性能,并强调了处理器内核的效率。
CoreMark取代了过时的Dhrystone基准测试,它包含对以下算法的实现:列表处理(查找和排序)、矩阵操作(常见的矩阵操作)、状态机(确定输入流是否包含有效数字)和CRC(循环冗余校验)。
核心特点:
-
轻量级测试套件: CoreMark的设计目标之一是保持测试套件的轻量级。这使得它成为嵌入式系统中评估处理器性能的理想选择。测试套件的小型规模有助于快速执行,从而更容易嵌入到不同的开发流程中。
-
独立性: CoreMark测试是相对独立的,这意味着它专注于测量处理器核心的性能,而不受外部因素的干扰。这使得测试结果更具可比性,因为它们不受系统中其他组件的影响。
-
多平台支持: CoreMark旨在跨多个平台运行,这包括各种嵌入式系统和处理器架构。这种灵活性使得开发人员能够在不同的硬件环境中进行性能比较。
与Dhrystone相似,CoreMark具有小巧、便携、易于理解和免费的特点,并提供单一基准测试分数。不同于Dhrystone的是,CoreMark拥有特定的运行和报告规则,旨在避免Dhrystone存在的问题。例如,Dhrystone的主要部分实际上暴露了编译器优化工作负载的能力,而非MCU或CPU的性能。因此,Dhrystone更适用于作为编译器基准测试,而不是硬件基准测试,具有更多洞察力。同样地,在Dhrystone的计时部分中使用了库调用,这些调用通常占据基准测试大部分时间。由于库代码不包含在基准测试中,使用不同的库很难进行结果比较。最后,虽然存在执行Dhrystone的指导方针,但由于结果未得到认证或验证,因此这些指导方针并非强制执行。关于如何报告Dhrystone结果,也没有标准化,存在多种格式(DMIPS、每秒Dhrystones、DMIPS/MHz)。
测试内容:
CoreMark测试涵盖了多个方面,以确保全面评估处理器核心性能,
-
整数运算: 包括整数乘法、除法、位操作等,以测试处理器在整数计算方面的性能。
-
控制流: 通过测试分支操作和循环操作的性能,评估处理器在控制流程方面的表现。
-
内存操作: 包括内存读取和写入,以测试处理器对内存的访问速度。
具体测试项有6个部分:
- 数值操作(Data structure operations):例如排序、链表操作等。
- 控制操作(Control operations):例如循环、条件判断等。
- 数学运算(Arithmetic operations):例如位操作、浮点数运算等。
- 字符串操作(String manipulation):例如字符串拼接、比较等。
- 矩阵变换(Matrix manipulation):例如矩阵乘法、转置等。
- 加密/解密(Encryption and decryption):例如AES、RSA等。
每个测试的执行时间不同,最终将所有测试的得分累计起来,并通过一系列加权平均和标准化处理以生成CoreMark分数。因此,CoreMark分数是计算机硬件整体性能的综合指标,反映了处理器在各种操作上的表现。
使用场景:
-
嵌入式系统设计: CoreMark广泛应用于嵌入式系统的设计和优化。通过对处理器核心性能的准确测量,开发人员能够选择最适合其嵌入式应用的处理器。
-
性能比较: CoreMark提供了一个标准的性能比较基准,使得不同处理器和系统的性能可以进行客观的比较。这对于制定购买决策或进行系统优化至关重要。
-
性能调优: 开发人员可以使用CoreMark测试来识别和解决嵌入式系统中性能瓶颈,从而进行性能调优。
除了作为一个可重复、可移植且可比较的基准测试外,CoreMark还可用作新处理器设计和优化的参考工具。它有助于开发人员更好地理解其处理器、操作系统、编译器和库等各种因素之间的性能优化关系。
二、先楫HPM5361EVK实测
这里我使用先辑官方提供的SDK样例做测试,不需要重新移植,官方提供的软件资料还是挺全的。
编译运行:
跑分结果为1680。
三、跑分对比
在EEMBC官网上可以查看其他处理器跑分,通过对比可以发现先楫HPM5361EVK的跑分可以赶得上STM32H7系列了,比F7系列强太多了。
总得来说,先楫HPM5361EVK是一块性能非常强劲的国产MCU。希望国产芯片继续加油,再创辉煌!
|