У мене є вбудована машина на основі ARM на базі дошки S3C2416. Відповідно до наявних у мене специфікацій, ARM9 має 533 МГц (відповідно ARM926EJ-S /proc/cpuinfo
), однак програмне забезпечення, яке працює на ньому, "відчуває себе повільно" порівняно з тим же програмним забезпеченням на моєму Android-телефоні з процесором ARM 528 МГц.
/proc/cpuinfo
каже мені, що BogoMIPS - це 266,24. Я знаю, що я не повинен довіряти BogoMIPS щодо продуктивності ("Bogo" = фальшивий), проте я хотів би оцінити фактичну швидкість процесора. На x86 я міг би скористатися rdtsc
інструкцією, щоб отримати лічильник часових позначок, зачекати секунду (сон (1)), прочитати лічильник ще раз, щоб отримати приблизну швидкість процесора, і, за моїм досвідом, це значення було досить близьким до реальна швидкість процесора.
Як я можу знайти фактичну швидкість процесора для даного процесора ARM?
Оновлення
Я знайшов цей простий калькулятор 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)
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)
Тож здається, що ARM926EJ-S повільніше, ніж мій телефон Android, але не вдвічі повільніше, як я би очікував за цифрами BogoMIPS. Я все ще не впевнений у тактовій частоті процесора ARM9.
266.24*2=532.48
Тож здається, що він мертвий. Мій 480MHz ARM процесор отримує 239,2, 439.2*2=478.4
.