7.3. CPU性能测试
Overview
本示例展示了CPU性能指标的测试
7.3.1. DEMO
使用工程:示例代码见 apps/common/example/system/BenchMark/main.c
,测试时需要在 apps/demo/demo_DevKitBoard/include/demo_config.h
,开启宏 USE_CPU_PERFORMANCE_TEST_DEMO
。
7.3.2. 示例说明
Dhrystone的重要性在于其能作为处理器整数计算性能的指标;
DMIPS: Dhrystone MIPS,并非字面上每秒百万条指令的意思。它是一个测量CPU运行一个叫Dhrystone(整数运算)的测试程序时表现出来的相对性能高低的一个单位(很多场合人们也习惯用MIPS作为这个性能指标的单位);
Dhrystone: 是于1984年由Reinhold P. Weicker设计的一套综合的基准程序,该程序用来测试CPU(整数)计算性能。其名“Dhrystone”是与另一算法“Whetsone”区分而设计的名字。与Whetsone不同,Dhrystone并不包括浮点运算,其输出结果为每秒钟运行Dhrystone的次数,即每秒钟迭代主循环的次数;
dhrystone测量处理器运算能力;
Linpack测试系统浮点性能;
pi_css5_src 测试CPU的浮点运算能力,测试CPU计算特定位数圆周率所需的时间;
whetstone测试浮点运算效率和速度;
7.3.3. 示例流程
c_main()
入口创建
BenchMark_test_task
任务
BenchMark_test_task
函数流程测试
dhrystone
测试
Linpack
测试
whetstone
测试
pi_css5_src
- 跑SFC, CPU时钟320M, SDRAM时钟192M,SFC时钟80M, flash 2线模式的测试结果:
- 跑SFC, CPU时钟396M, SDRAM时钟240M, SFC时钟99M, flash 2线模式的测试结果:
- 跑SDRAM, CPU时钟396M, SDRAM时钟240M, SFC时钟99M, flash 2线模式的测试结果:
7.3.4. 常见问题
通常影响CPU性能测试结果的因素有:
代码运行在内部ram,sdram,flash会依次降低cpu性能;
flash时钟,双/四线,sdram时钟,系统时钟影响cpu性能;
由于硬件只支持单精度浮点指令, 因此双精度浮点影响cpu性能