Tengo una máquina integrada basada en ARM basada en la placa S3C2416. De acuerdo con las especificaciones que tengo disponibles, debería haber un ARM9 de 533 MHz (según ARM926EJ-S /proc/cpuinfo
), sin embargo, el software que se ejecuta en él "se siente" lento, en comparación con el mismo software en mi teléfono Android con una CPU ARM de 528MHz.
/proc/cpuinfo
me dice que BogoMIPS es 266.24. Sé que no debería confiar en BogoMIPS con respecto al rendimiento ("Bogo" = falso), sin embargo, me gustaría obtener una medición de la velocidad real de la CPU. En x86, podría usar las rdtsc
instrucciones para obtener el contador de marca de tiempo, esperar un segundo (suspensión (1)), leer el contador nuevamente para obtener una aproximación de la velocidad de la CPU y, según mi experiencia, este valor estaba lo suficientemente cerca de La velocidad real de la CPU.
¿Cómo puedo encontrar la velocidad real de la CPU de un procesador ARM dado?
Actualizar
Encontré esta calculadora Pi simple , que compilé tanto para mi teléfono Android como para la placa ARM. Los resultados son los siguientes:
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)
Androide
# 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)
Por lo tanto, parece que el ARM926EJ-S es más lento que mi teléfono Android, pero no el doble de lo que esperaría de las cifras de BogoMIPS. Todavía no estoy seguro acerca de la velocidad del reloj de la CPU ARM9.
266.24*2=532.48
Entonces parece que está muerto. Mi 480MHz ARM CPU obtiene 239,2, 439.2*2=478.4
.