การเปรียบเทียบความเร็วของการประมวณผล (ความเร็วของ MCU MPU)

หากเราอยากจะเปรียบเทียบว่า MCU ทั้ง 2 เบอร์นี้ตัวไหนมีความเร็วในการประมวณผลที่มากกว่ากัน เราจะรู้ได้ยังไงนะ

คำตอบก็คือ ใช้การเปรียบเทียบ ที่เรียกว่า DMISP (Dhrystone Million instructions per second หรือ Dhrystone MIPS) เป็นการวัดความเร็วที่เทียบกับเครื่องมินิคอมพิวเตอร์ DEC VAX 11/780 ที่ผลิตในปี 1970 โดยความเร็ว 1 DMIPS เท่ากับความเร็วของ เครื่องมินิคอมพิวเตอร์ DEC VAX 11/780 ซึ่งสามารถนำมาใช้เปรียบเทียบความเร็วของการประมวณผลที่มีสถาปัตยากรรมที่แตกต่างกัน (32บิต vs 16บิต หรือ ARM vs PIC หรือ อื่นๆ) นิยมวัดเป็น DMIPS/MHz

แล้วเราใช้แค่ MIPS มาเปรียบเทียบแทน DMIPS ได้ไหม?

MIPS หรือ Million instructions per second แปลง่ายๆคือ ประมวลผลได้กี่ คำสั่งใน 1 วินาที เช่น สามารถรันคำสั่ง NOP ได้ 100ล้านครั้งภายใน 1 วินาที แสดงว่ามีความเร็ว 100 MIPS การนำเอา MIPS มาเปรียบเทียบระหว่าง หน่วยประมวลผลที่มีสถาปัตยกรรมเดียวกันนั้นสามารถเปรียบเทียบได้ แต่ถ้าหากหน่วยประมวลผลที่มีสถาปัตยกรรมคนละแบบไม่สามารถนำมาเปรียบเทียบกันได้ เพราะการคำนวณที่เหมือนกันอาจใช้คำสั่งที่ไม่เท่ากันได้เนื่องจากสถาปัตยกรรมที่แตกต่างกัน

ดังนั้นเราจึงจะต้องใช้ DMIPS มาใช้วัดการประมวณผลที่ไม่ได้วัดเพียงแค่คำสั่งแต่วัดเวลาทั้งหมดเพื่อนำมาเปรียบเทียบกัน ซึ่ง DMIPS ไม่สามารถคำนวณจากได้ MIPS โดยตรง แต่ต้องใช้การวัด ที่เรียกว่า Dhrystone benchmark testing

แต่ใช่ว่าจะมีแต่ DMIPS เพียงอย่างเดียว ในปัจจุบันยังมี CoreMark ที่ทาง EEMBC (Embedded Microprocessor Benchmark Consortium) ซึงเป็นองค์กรณ์ที่ไม่แสวงหากำไร ซึ่งพยายามจะพลักดัน CoreMark เข้ามาแทนที่ DMIPS

สำหรับใครที่สนใจ Source code Dhrystone MIPS ศึกษาได้ที่นี้ http://www.ecrostech.com/Other/Resources/Dhry4Mcus.zip