0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【飞凌RZ/G2L开发板试用体验】+05.RZ/V2L开发板的性能读写测试(zmj)

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-24 16:49 次阅读
本文来源电子发烧友社区,作者:卿小小_9e6, 帖子地址:https://bbs.elecfans.com/jishu_2304220_1_1.html



飞凌RZ/G2L开发板使用的CPU(RZ/G2L)是瑞萨智能工控领域的一款高性能、超高效处理器。 RZ/G2L采用ARMCortex-A55内核,运行频率高达1.2GHz, 内部集成Arm Cortex-M33@200MHz。 配备Mali-G31 GPU@500MHz图形处理器及多种显示接口,并具有丰富的行业应用接口,主要应用于各种具有视频输出的工控行业。
1. CPU性能测试
1.1 查看CPU信息
查看CPU信息,反馈结果是ARM Cortex-A55双核,支持32-bit/64-bit两种模式,L2-Cache大小为256kB。


  1. //------查看CPU信息:lscpu
  2. //---指令
  3. lscpu
  4. //---log信息
  5. Architecture: aarch64
  6. CPU op-mode(s): 32-bit, 64-bit
  7. Byte Order: Little Endian
  8. CPU(s): 2
  9. On-line CPU(s) list: 0,1
  10. Thread(s) per core: 1
  11. Core(s) per socket: 2
  12. Socket(s): 1
  13. Vendor ID: ARM
  14. Model: 0
  15. Model name: Cortex-A55
  16. Stepping: r2p0
  17. BogoMIPS: 48.00
  18. L2 cache: 256 KiB
  19. Vulnerability Itlb multihit: Not affected
  20. Vulnerability L1tf: Not affected
  21. Vulnerability Mds: Not affected
  22. Vulnerability Meltdown: Not affected
  23. Vulnerability Spec store bypass: Not affected
  24. Vulnerability Spectre v1: Mitigation; __user pointer sanitization
  25. Vulnerability Spectre v2: Not affected
  26. Vulnerability Srbds: Not affected
  27. Vulnerability Tsx async abort: Not affected
  28. Flags: fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
复制代码

poYBAGMXIfWAU_UVAACuyDYnLrg102.png

1.2 CoreMark
1.2.1 CoreMark简介
//------CoreMark简介
CoreMark是由EEMBC(Embedded Microprocessor Benchmark Consortium)的Shay Gla-On于2009年提出的一项基准测试程序,CoreMark的主要目标是简化操作,并提供一套测试单核处理器核心的方法。测试标准是在配置参数的组合下单位时间内运行的CoreMark程序次数(单位:CoreMark/MHz),该数字值越大则说明测试的性能越好。目前在嵌入式CPU行业中普遍公认的性能测试指标的标准主要使用以下三种,MIPS、Dhrystone、Coremark,而CoreMark与Dhrystone一样,拥有体积小、方便移植、易于理解、免费并且显示单个数字基准分数。与Dhrystone不同的是,Dhrystone的主要部分实际上暴露了编译器优化工作负载的能力,而不是实际MCU或CPU的能力,的性能,而CoreMark具有特定的运行和报告规则,从而可以避免由于所使用的编译库不同而导致的测试结果难以比较。
1.2.2 CoreMark源码获取
//------CoreMark源码获取
EEMBC在将CoreMark源码托管在GitHub上可以访问github.com/eembc/coremark直接点击下载获得源码;也可以通过git命令下载到本地。


  1. //------CoreMark源码获取
  2. //---直接下载
  3. https://github.com/eembc/coremark
  4. //---Git下载
  5. git clone https://github.com/eembc/coremark.git
复制代码


CoreMark项目的详细介绍,可以查阅当前目录下“coremark/docs/html/index.html”。该项目以下是当前目录的个文件介绍:


  1. #在tree命令的输出中,作了部分删除(不影响分析整个CoreMark工程)
  2. imaginemiracle@:coremark$ tree
  3. .
  4. ├── barebones --移植到裸机环境下需要修改的目录
  5. │ ├── core_portme.c --移植的目标平台配置信息
  6. │ ├── core_portme.h --计时以及板级初始化实现
  7. │ ├── core_portme.mak --该子目录的makefile
  8. │ ├── cvt.c
  9. │ └── ee_printf.c --打印函数串口发送实现
  10. ├── core_list_join.c --列表操作程序
  11. ├── core_main.c --主程序
  12. ├── coremark.h --项目配置与数据结构的定义头文件
  13. ├── coremark.md5
  14. ├── core_matrix.c --矩阵运算程序
  15. ├── core_state.c --状态机控制程序
  16. ├── core_util.c --CRC计算程序
  17. ├── cygwin --x86 cygwin和gcc 3.4(四核,双核和单核系统)的测试代码
  18. │ ├── core_portme.c
  19. │ ├── core_portme.h
  20. │ └── core_portme.mak
  21. ├── freebsd --以下同理,是在不同操作系统下的测试代码
  22. │ ├── ...
  23. ├── LICENSE.md
  24. ├── linux
  25. │ ├── ...
  26. ├── linux64
  27. │ ├── ...
  28. ├── macos
  29. │ ├── ...
  30. ├── Makefile
  31. ├── README.md --自述文件,CoreMark项目的基本介绍
  32. ├── rtems
  33. │ ├── ...
  34. └── simple
  35. ├── ...
  36. └──
复制代码



1.2.3 运行coremark.exe测试性能
//------在目标平台上运行coremark.rvexe测试性能
执行命令:./coremark.exe


  1. //------在目标平台上运行coremark.rvexe测试性能
  2. ./coremark.exe
  3. //------CoreMark得分
  4. CoreMark 1.0 : 4373.496611
复制代码


测试结果如下图所示:
pYYBAGMXIvaAdYQZAAI__EHreRQ112.png

1.2.4 CoreMark跑分榜/结果比对
可以看到EEMBC目前已经上传了711款型号的微控制器CoreMark跑分结果,可以在EEMBC的coremark/scores里看到。


  1. //------EEMBC的CoreMark结果
  2. https://www.eembc.org/coremark/scores.php
复制代码

poYBAGMXIymAIhHnAAGHkeJIlQY028.png

1.2.5 参考链接
参考链接:《CPU性能测试——CoreMark篇》


  1. //------《CPU性能测试——CoreMark篇》
  2. https://blog.csdn.net/qq_36393978/article/details/111629341
复制代码


2. DDR内存性能测试
飞凌RZ/G2L开发板上有2GB大小的RAM内存,下面使用多种方式进行内存性能测试。

2.1 DDR内存基本信息
RZ/V2L开发板板载2GB的RAM,通过“free -h”指令查看DDR内存大小。
pYYBAGMXI36ASxxAAAA1-11R8Zw774.png
2.2 STREAM内存带宽测试
STREAM内存带宽测试。


  1. //------RAM性能测试
  2. root@okg2l:~# stream
  3. STREAM copy latency: 6.44 nanoseconds
  4. STREAM copy bandwidth: 2485.24 MB/sec
  5. STREAM scale latency: 7.09 nanoseconds
  6. STREAM scale bandwidth: 2257.65 MB/sec
  7. STREAM add latency: 9.65 nanoseconds
  8. STREAM add bandwidth: 2486.79 MB/sec
  9. STREAM triad latency: 9.62 nanoseconds
  10. STREAM triad bandwidth: 2496.10 MB/sec
  11. //------各测试项含义
  12. a.Copy-复制操作
  13. 从内存单元中读取一个数,并复制到其他内存单元中,两次访问内存操作
  14. b.Scale-乘法操作
  15. 从内存单元中读取一个数,与常数相乘,得到的记过存到其他内存单元,两次访问内存操作
  16. c.Add-加法操作
  17. 从两个内存单元中分别读取两个数,将其进行加法操作后,得到的结果写入另一个内存单元中,3次访问内存操作
  18. d.Triad-前面三种的结合
  19. 先从内存中读取一个数,与一个常数相乘得到一个乘积,然后从另一个内存单元中读取一个数与刚才乘积结果相加,得到的结果写入内存。
  20. 共计3次访问内存操作。
  21. 测试结果一般的规律是Add > Triad > Copy > Scale。一次Add操作需要访问三次内存(两个读操作,一个写操作),Triad操作也需要三次访问内存, Copy和Scale操作需要两次访问内存。单位操作内,访问内存次数越多,越能够掩盖访存延迟,带宽越大。
  22. 单核Stream测试,影响的因素除了内存控制器能力外,还有Core的ROB、Load/Store对其影响,因此不是单纯的内存带宽性能测试。
  23. 而多核Stream测试,通过多核同时发出大量内存访问请求,能够更加饱和地访问内存,从而测试到内存带宽的极限性能。
复制代码

pYYBAGMXI7OAXt8nAAE9ofyxFZ0583.png

2.3 内存带宽测试-memory_bandwidth.sh
内存带宽测试-memory_bandwidth.sh


  1. //------测试工具(飞凌系统已带)
  2. memory_bandwidth.sh
  3. //------memory_bandwidth.sh目录
  4. /usr/bin/memory_bandwidth.sh
  5. //------查找memory_bandwidth.sh
  6. find /usr/bin/ -name "*.sh"
  7. //------测试指令
  8. memory_bandwidth.sh
  9. //------脚本内容
  10. #!/bin/bash
  11. for opt in rd wr rdwr cp frd fwr fcp bzero bcopy
  12. do
  13. echo "L1 cache bandwidth $opt test with #$proc process"
  14. #8k is fit for all platform
  15. for idx in `seq 1 5`
  16. do
  17. bw_mem -P 1 8k $opt
  18. done
  19. echo "L2 cache bandwidth $opt test"
  20. # For Layerscape platform, each platform has more than 256K L2 cache, so chose 128k as L2 cache size.
  21. for idx in `seq 1 5`
  22. do
  23. bw_mem -P 1 128k $opt
  24. done
  25. echo "Main mem bandwidth $opt test"
  26. for idx in `seq 1 5`
  27. do
  28. bw_mem -P 1 50m $opt
  29. done
  30. done
复制代码

poYBAGMXI-aABSnzAACslgv7aA4320.png

pYYBAGMXJACATv2YAAGocYX2UQs854.png

2.4 内存带宽测试-bw_mem
内存带宽测试-bw_mem工具可以对内存RAM进行指定容量读写测试。


  1. //------测试工具(飞凌系统已带)
  2. bw_mem
  3. //------测试指令(容量根据实际情况指定)
  4. bw_mem 100m rd
  5. bw_mem 100m wr
  6. bw_mem 1000m rd
  7. bw_mem 1000m wr
  8. //------测试结果
  9. RD读带宽:2650MB/S
  10. WR写带宽:852MB/S
复制代码

pYYBAGMXJCuAcCy1AADGFff3rIs992.png

2.5 内存功能压力测试-memtester
内存功能压力测试-memtester


  1. //------测试工具(飞凌系统已带)
  2. memtester
  3. //------测试指令
  4. memtester 512M 1
复制代码

pYYBAGMXJFiAOM_pAACvDB26KHs120.png

//------END

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 飞凌
    +关注

    关注

    0

    文章

    134

    浏览量

    16095
  • 开发板试用
    +关注

    关注

    3

    文章

    301

    浏览量

    2038
收藏 人收藏

    评论

    相关推荐

    RZ/G2L高速虚拟串口方案 基于瑞萨RZ/G2L SMARC开发板的虚拟(Virtual UART)实现方案

    RZ/G2L具有丰富的外设,比如千兆以太网,CANFD以及丰富的UART接口,可以满足工业数据收集处理相关的应用。本文主要介绍基于瑞萨RZ/G2L SMARC
    发表于 11-20 14:41 123次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>高速虚拟串口方案 基于瑞萨<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> SMARC<b class='flag-5'>开发板</b>的虚拟(Virtual UART)实现方案

    RZ/G2L串口SCI的使用(下)

    RZ/G2L串口SCI的使用
    的头像 发表于 08-03 08:06 457次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(下)

    RZ/G2L串口SCI的使用(上)

    RZ/G2L串口SCI的使用
    的头像 发表于 07-25 08:06 470次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(上)

    RZ/G2L Demo调试经验流程分享(1)

    r01us0553ej0107-rz-g(Release Note).pdf,r01us0556ej0102-rz-g(Board_StartUp_Guide_smarcEVK).pdf,对SMARC EVK of RZ/
    的头像 发表于 05-06 14:25 598次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> Demo调试经验流程分享(1)

    瑞萨RZ/V2L预训练的人工智能模型

    RZ/V2L还与RZ/G2L封装和引脚兼容。这使得RZ/G2L用户可轻松升级至
    发表于 03-21 13:51 384次阅读
    瑞萨<b class='flag-5'>RZ</b>/<b class='flag-5'>V2L</b>预训练的人工智能模型

    【米尔-瑞萨RZ/G2UL开发板】1.开箱

    /G2UL 都能提供出色的性能和稳定的运行。以下是一些外观特写: 正面照片 背面照片 规格 米尔-瑞萨RZ/G2UL开发板的规格如下:
    发表于 02-04 23:38

    RZ/G2LRZ/G2LC和RZ/G2UL的SMARC EVK启动指南Rev.1.01

    电子发烧友网站提供《RZ/G2LRZ/G2LC和RZ/G2UL的SMARC EVK启动指南Re
    发表于 02-02 09:45 1次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>LC和<b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>UL的SMARC EVK启动指南Rev.1.01

    RZ/V2L DRP-AI支持包版本.7.41发布说明

    电子发烧友网站提供《RZ/V2L DRP-AI支持包版本.7.41发布说明.pdf》资料免费下载
    发表于 02-01 10:07 0次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>V2L</b> DRP-AI支持包版本.7.41发布说明

    米尔RZ/G2L开发板瑞米派双核A55Remi Pi学习兼容树莓派扩展模块

    RemiPi瑞萨第一款MPU生态板卡兼容树莓派扩展模块瑞萨RZ/G2L工业级处理器,便于企业客户产品开发;RemiPi兼容树莓派所有配件,方便产品原型搭建和创新应用;更多的工业接口,兼顾开发
    发表于 01-29 17:05 4次下载

    瑞萨RZ/G2L串口SCI的使用(上)

    瑞萨RZ/G2L的串口简称SCI,全称Serial Communication Interface。
    的头像 发表于 01-17 12:19 1408次阅读
    瑞萨<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(上)

    【米尔-瑞萨RZ/G2UL开发板开发板开箱与接口介绍

    开发板简介 MYC-YG2UL核心开发板基于RZ/G2UL处理器,通用64位工业MPU
    发表于 01-14 13:25

    RZ/G2L RZ/G2LC RZ/G2UL用灵活的软件包设置GPIO

    电子发烧友网站提供《RZ/G2L RZ/G2LC RZ/G2UL用灵活的软件包设置GPIO.pd
    发表于 01-14 10:53 0次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> <b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>LC <b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>UL用灵活的软件包设置GPIO

    RZ/G2L RZ/G2LC RZ/G2UL RZ/G3S灵活软件包应用说明

    电子发烧友网站提供《RZ/G2L RZ/G2LC RZ/G2UL
    发表于 01-14 10:46 1次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> <b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>LC <b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>UL <b class='flag-5'>RZ</b>/<b class='flag-5'>G</b>3S灵活软件包应用说明

    RZ/G2L Linux系统如何添加新的内核模块

    RZ/G2L Linux系统的镜像基于yocto构建,本篇介绍如何添加新的内核模块。
    的头像 发表于 01-04 12:19 1692次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> Linux系统如何添加新的内核模块

    基于RZ/V2L AI MPU的人头计数应用

    瑞萨基于RZ/V2L AI MPU开发了大量可拿来即用的AI应用程序,并提供源代码、预编译应用程序二进制文件和预训练的人工智能模型对象。您可以从各种用例中选择感兴趣的应用程序,并立即在RZ
    的头像 发表于 12-15 13:49 604次阅读