MiK*_*iKy 18 linux arm cpu-speed
我有一台基于 S3C2416 板的基于 ARM 的嵌入式机器。根据我提供的规格,应该有一个 533 MHz 的 ARM9(根据 ARM926EJ-S /proc/cpuinfo),但是与我的具有 528MHz ARM CPU 的 Android 手机上的相同软件相比,在其上运行的软件“感觉”很慢。
/proc/cpuinfo告诉我 BogoMIPS 是 266.24。我知道我不应该相信 BogoMIPS 的性能(“Bogo”= bogus),但是我想测量实际 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)
Run Code Online (Sandbox Code Playgroud)
安卓
# 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)
Run Code Online (Sandbox Code Playgroud)
所以看起来 ARM926EJ-S 比我的 Android 手机慢,但没有我预期的 BogoMIPS 数据慢两倍。我仍然不确定 ARM9 CPU 的时钟速度。
AFAICT S3C2416 的时钟看起来就像 S3C2443 或其系列的类似处理器的时钟。它的Linux 源代码表明有许多密切相关的时钟。
选择片段:
pll = get_mpll(mpllcon, xtal);
clk_msysclk.clk.rate = pll;
fclk = pll / get_fdiv(clkdiv0);
hclk = s3c2443_prediv_getrate(&clk_prediv);
hclk /= s3c2443_get_hdiv(clkdiv0);
pclk = hclk / ((clkdiv0 & S3C2443_CLKDIV0_HALF_PCLK) ? 2 : 1);
s3c24xx_setup_clocks(fclk, hclk, pclk);
printk("CPU: MPLL %s %ld.%03ld MHz, cpu %ld.%03ld MHz, mem %ld.%03ld MHz, pclk %ld.%03l MHz\n",
(mpllcon & S3C2443_PLLCON_OFF) ? "off":"on",
print_mhz(pll), print_mhz(fclk),
print_mhz(hclk), print_mhz(pclk));
Run Code Online (Sandbox Code Playgroud)
从 OP 更新
我一直在寻找来自 的这个输出dmesg,但我找不到任何东西 -dmesg输出中充斥着调试消息,并且开头丢失了。显然,在我通过 telnet 连接之前,内核消息缓冲区太短而无法容纳所有消息。通过/bin/dmesg > /tmp/dmesg.log在启动过程的早期阶段,我能够得到这个输出,确认了我想知道的内容:
Linux version 2.6.21 (gcc version 4.2.2)
CPU: ARM926EJ-S revision 5 (ARMv5TEJ)
Machine: SMDK2416
...
CPU S3C2416 EVT3
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C2416: mpll on 534.000 MHz, cpu 534.000 MHz, mem 133.500 MHz, pclk 66.750 MHz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49647 次 |
| 最近记录: |