1.在Visionfive v1(昉·星光)上的源码性能测试
2.Coremark及几款RISC-V处理器的比较
3.MM32F5270开发板试用CoreMark程序移植
4.ARM cpu性能测试总结
在Visionfive v1(昉·星光)上的性能测试
昉·星光是第一代价格实惠的RISC-V计算机,支持Linux操作系统。分析搭载了RISC-V SiFive U双核位RVGC ISA的源码芯片平台,以及8 GB LPDDR4 RAM,分析配备丰富外设I/O接口,源码包括USB 3.0、分析emlgo后台源码-Pin GPIO Header、源码千兆以太网连接器、分析Micro SD卡插槽等。源码集成神经网络引擎和NVDLA引擎,分析提供AI功能;同时具备板载音频和视频处理功能,源码以及用于视频硬件的分析MIPI-CSI和MIPI-DSI接口。支持Wi-Fi和蓝牙无线功能,源码兼容大量软件,分析提供对Fedora的源码支持。
在安装系统时,考虑到昉·星光官方提供对Fedora的websocket源码在线支持,可参照官方文档进行安装。
硬件准备包括下载操作系统,使用BalenaEtcher等软件在Windows上进行SD卡的烧录,或使用dd命令在Linux系统上操作。插入SD卡上电后,通过默认用户名和密码进入系统,连接网络并尝试SSH访问,方便操作。
Benchmark测试包括Dhrystone、Coremark、LINPACK、FPMark、Whetstone等。Dhrystone V2.1测试时,需打补丁并编译,Coremark V1.0测试命令已给出,手写java源码Whetstone和FPMark测试需先下载源码并编译,最后运行并记录结果。LINPACK测试同样需下载源码并编译,最后记录运行结果。
结果对比汇总了昉·星光与其他开发板的性能数据,昉·星光的双核性能与四核的Unmatched相比略显不足,单核性能接近但仍有差距。Dhrystone与CoreMark的测试结果与官方标注有一定差距。通过实际测试,可发现昉·星光在性能上仍有提升空间。
Coremark及几款RISC-V处理器的比较
CoreMark基准测试是由EEMBC提出,用于评估单核处理器性能的简化工具。其测试包括浮点数、整数、缓存、内存等任务,autojs页面源码以CoreMark/MHz表示测试性能,数值越高表示性能越强。CoreMark包含四个主要工作负载:列表处理、矩阵操作、状态机、CRC计算。与复杂基准测试相比,CoreMark更轻量级且易于实现,适合嵌入式处理器性能评估。
要运行Coremark,可从GitHub下载项目源码,网址为github.com/eembc/coremark。移植项目时,使用git下载源代码至本地,然后编译运行。若需交叉编译,ribbond源码分析需修改Makefile配置环境并编译。
接下来,我们将对比几款RISC-V处理器在CoreMark测试中的表现。不同处理器的CoreMark得分受到CPU性能、存储器访问速度、编译器选择等多种因素影响。
StarFive VisionFive 1
StarFive VisionFive 1基于SiFive U内核,包含两个KB(D)和KB(I)L1缓存的内核,以及2MB L2缓存。SiFive U支持RVGC,但不支持RISC-V矢量扩展。
实际CoreMark测试结果如下:
单核:X CoreMark/MHz
多核:Y CoreMark/MHz
Sipeed Licheepi 4A
Licheepi 4A采用TH主控核心,包含4xC@1.G内核,支持RVGCV、4TOPS@int8 NPU和GFLOP GPU。板载GB bit LPDDR4X,GB eMMC,支持双4K显示输出和4K摄像头接入。
实际CoreMark测试结果如下:
单核:X CoreMark/MHz
多核:Y CoreMark/MHz
算能SG
SG基于高性能RISC-V内核C,主频2GHz,单SOC处理器有核,配备MB系统缓存,展现出强大的多核性能。
实际CoreMark测试结果如下:
单核:X CoreMark/MHz
单cpu多核:Y CoreMark/MHz
Banana Pi BPI-F3
BPI-F3是一款工业级8核RISC-V开源硬件开发板,采用进迭时空(SpacemiT)K1 8核RISC-V芯片,集成2.0 TOPs AI计算能力。它具备4G DDR和G eMMC,支持2个GbE以太网接口、4个USB 3.0和PCIe M.2接口,支持HDMI和双MIPI-CSI摄像头。
实际CoreMark测试结果如下:
单核:X CoreMark/MHz
多核:Y CoreMark/MHz
横向对比
通过上述测试结果,我们可以对比不同RISC-V处理器在CoreMark测试中的表现。不同处理器在单核和多核性能上有显著差异,这受到处理器架构、缓存、核心数量、存储器访问速度等因素的影响。选择合适的RISC-V处理器时,需综合考虑其性能、功耗、成本和生态系统等因素,以满足特定应用需求。
MMF开发板试用CoreMark程序移植
本文来自极术社区与灵动组织的MMF开发板试用活动,更多详情请访问极术社区。作者:心梦CoreMark移植到MMF开发板的步骤
CoreMark是一个衡量处理器性能的标准测试,C语言编写的代码包含多项操作。得分越高,性能越优。访问CoreMark官网获取代码并测试自家处理器性能。移植至MMF的步骤如下:确保开发板具备UART打印和1ms中断定时器功能(如systick)。
从官网下载CoreMark源代码,包含core_list_join.c, core_main.c, core_matrix.c, core_state.c, core_util.c, 和coremark.h等文件。
将core_portme.c和core_portme.h文件移到app文件夹,对它们进行必要的修改,添加到工程中。配置工程时,添加文件夹路径。
移除原有main函数,将硬件初始化代码放入core_main.c的portable_init函数中,确保s的运行时间。
编译后,连接MMF开发板,通过串口调试助手查看运行结果。我得到的是每秒次迭代,略高于官方提供的.次。
官方运行结果如下:
Profile generation run parameters for coremark...Iterations: , Compiler: GCC .3.1, Memory location: STACK...ARM cpu性能测试总结
ARM CPU性能测试总结:
ARM处理器性能的评估通常通过两个关键工具:DMIPS(Dhrystone Million Instructions Per Second)和CoreMark。DMIPS是通过Dhrystone基准测试衡量系统每秒钟执行的Dhrystone指令数量,转化为DMIPS后便于比较。然而,DMIPS只是理论上的性能指标,实际应用性能还需考虑架构、缓存等因素。在Linux上,可通过下载Dhrystone源码并调整Makefile(如使用O3优化,设置HZ值)进行测试,最终结果以DMIPS/MHz表示。
CoreMark则是针对嵌入式应用的性能测试,它关注处理器在执行典型工作负载(如算术、内存操作等)时的迭代次数。CoreMark结果越高,表明处理器性能越好,同时还能提供功耗数据。在GitHub上获取源代码后,通过修改makefile编译并执行,结果以Iterations/Sec(每秒迭代次数)/MHz表示。
另外,Stream测试用于测量内存带宽,对CPU计算能力需求较小,但对内存带宽压力大。Stream测试包含四个基本功能,如Copy、Scale等,通过修改makefile进行多线程测试,结果反映了内存带宽的性能。