ฉันมีเครื่องฝังตัวแบบ ARM โดยใช้บอร์ด S3C2416 ตามข้อกำหนดที่ฉันมีอยู่ควรจะมี 533 MHz ARM9 (ARM926EJ-S ตาม/proc/cpuinfo
) อย่างไรก็ตามซอฟต์แวร์ที่ทำงานบนมัน "รู้สึก" ช้าเมื่อเทียบกับซอฟต์แวร์เดียวกันบนโทรศัพท์ Android ของฉันด้วย CPU ARM 528MHz
/proc/cpuinfo
บอกฉันว่า BogoMIPS คือ 266.24 ฉันรู้ว่าฉันไม่ควรเชื่อถือ BogoMIPS เกี่ยวกับประสิทธิภาพ ("Bogo" = bogus) อย่างไรก็ตามฉันต้องการวัดความเร็วของ CPU จริง บน x86 ฉันสามารถใช้rdtsc
คำสั่งเพื่อรับตัวนับการประทับเวลารอวินาที (sleep (1)) อ่านตัวนับอีกครั้งเพื่อรับการประมาณความเร็วของ CPU และจากประสบการณ์ของฉันค่านี้ใกล้พอที่จะ ความเร็วของ CPU ที่แท้จริง
ฉันจะค้นหาความเร็ว CPU จริงของหน่วยประมวลผล 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 CPU
266.24*2=532.48
ดูเหมือนว่ามันจะตายแล้ว ฉัน 480MHz ARM CPU ได้รับ 439.2*2=478.4
239.2,