我有一台基于S3C2416板的基于ARM的嵌入式计算机。根据我现有的规格,应该有一个533 MHz的ARM9(根据的ARM926EJ-S /proc/cpuinfo
),但是,与运行528MHz ARM CPU的Android手机上的相同软件相比,在其上运行的软件“感觉”较慢。
/proc/cpuinfo
告诉我BogoMIPS是266.24。我知道我不应该在性能方面相信BogoMIPS(“ Bogo” =虚假的),但是我想对实际CPU速度进行评估。在x86上,我可以使用rdtsc
指令获取时间戳计数器,等待一秒钟(sleep(1)),再次读取该计数器以获得CPU速度的近似值,根据我的经验,该值足够接近实际的CPU速度。
如何找到给定ARM处理器的实际CPU速度?
更新资料
我找到了这个简单的Pi计算器,可以同时为我的Android手机和ARM板进行编译。结果如下:
S3C2416
# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 266.24
Features : swp half fastmult edsp java
...
#./pi_arm 10000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
...
8.50 sec. (real time)
安卓系统
# cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 2 (v6l)
BogoMIPS : 527.56
Features : swp half thumb fastmult edsp java
# ./pi_android 10000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
...
5.95 sec. (real time)
因此,看来ARM926EJ-S的速度比我的Android手机慢,但没有BogoMIPS数据所预期的慢两倍。我仍然不确定ARM9 CPU的时钟速度。
266.24*2=532.48
因此,似乎已经死了。我的ARM为480MHz CPU得到239.2, 439.2*2=478.4
。