Eu tenho uma máquina incorporada baseada em ARM baseada na placa S3C2416. De acordo com as especificações que tenho disponíveis, deve haver um ARM9 de 533 MHz (conforme ARM926EJ-S /proc/cpuinfo
), no entanto, o software em execução "parece" lento, em comparação com o mesmo software no meu telefone Android com uma CPU ARM de 528 MHz.
/proc/cpuinfo
me diz que o BogoMIPS é 266,24. Eu sei que não devo confiar no BogoMIPS em relação ao desempenho ("Bogo" = falso), no entanto, gostaria de obter uma medida da velocidade real da CPU. No x86, eu poderia usar a rdtsc
instrução para obter o contador de carimbo de data / hora, esperar um segundo (suspensão (1)), ler o contador novamente para obter uma aproximação da velocidade da CPU e, de acordo com minha experiência, esse valor estava próximo o suficiente para a velocidade real da CPU.
Como posso encontrar a velocidade real da CPU de um determinado processador ARM?
Atualizar
Encontrei esta calculadora Pi simples , que compilei para o meu telefone Android e a placa ARM. Os resultados são os seguintes:
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)
Android
# 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)
Portanto, parece que o ARM926EJ-S é mais lento que o meu telefone Android, mas não duas vezes mais lento como eu poderia esperar pelos números do BogoMIPS. Ainda não tenho certeza sobre a velocidade do clock da CPU do ARM9.
266.24*2=532.48
Então parece que está morto. Minha CPU ARM de 480 MHz obtém 239,2 439.2*2=478.4
,.