MCU กับ MPU ต่างกันอย่างไร มาทำความรู้จักกันดีกว่า

หลายคนคงจะสงสัยว่า MCU กับ MPU ต่างกันอย่างไรแล้ว มันคืออะไรแล้วก็มันใช้แทนกันได้ไหมนะ เรามาทำความรู้จักถึงรายละเอียดและข้อดีข้อเสียของ MCU กับ MPU กัน

MCU (Microcontroller Unit, uC, ไมโครคอนโทรลเลอร์)

MCU (Arduino)

เราสามารถแยกได้เป็น 2 คำ คือ ไมโคร และ คอนโทรลเลอร์ เมื่อนำทั้งสองคำมารวมกันก็กลายเป็น การคอนโทรลขนาดเล็ก เป็นคอมพิวเตอร์ขนาดเล็กบน IC เดียวกัน ซึงภายในประกอบไปด้วย หน่วยประมวณผล (Processor), หน่วยความจำ (Memory), Peripheral ต่างๆเช่น ADC, Timer USART, USRAT หรือแม้กระทั้ง AES modules

ข้อดีของ MCU

  • ราคาถูก
  • MCU ใช้ Flash memory แบบ Embedded On chip จึงทำให้รันโปรแกรมที่เขียนไว้ได้อย่างรวดเร็ว ใช้เวลาในการ Start up น้อยมาก MCU บางเจ้าเริ่มมาใช้ FRAM แทน Flash ทำให้ทำงานเร็วขึ้นกว่าเดิมมาก
  • สามารถใช้ได้กับงาน Real Time เนื่องจากมี Interrupt latency ที่น้อยกว่า MPU
  • Low power ประหยัดไฟ

ข้อเสียของ MCU

  • ขนาดของ Flash MCU น้อย เนื่องจาก Flash memory แบบ Embedded On chip ณ ขณะนี้ (ปี2015) ขนาด Flash ใหญ่ที่สุดอยู่ที่ 2Mbytes
  • ไม่เหมาะกับการใช้งานกับ OS เพราะ มี memory ขนาดเล็ก และ มีหน่วย ประมวณผลที่ช้า ตัวอย่างเช่น การใช้งาน Linux, Windows CE หรือ Android OS ต้องการความเร็วของการประมวลผลที่ 300-400 DMIPS แต่ MCU ARM Cortex M4 (Atmel SAMA5D3) มีความเร็ว 150 DMIPS

 

MPU (Microprocessor Unit, ไมโครโพเซสเซอร์, uP)

MPU (ARM Sitara MPU)
MPU (ARM Sitara MPU)

เป็นหน่วยประมวณผล ที่รวบรวมคำสั่งต่างๆ ไว้บน IC ตัวเดียว หากเราจะนำ MPU ไปใช้งานจะต้องนำไปเชื่อมต่อกับ Module อื่นๆ เช่น External memory ไม่สามารถทำงานเดี่ยวแบบ MCU ได้

ข้อดีของ MPU

  • หน่วยประมวณผลมีประสิทธิภาพสูง ตัวอย่างเช่น ARM Cortex-A5 MPU มีความเร็วถึง 850 DMIPSในขณะที่ ARM Cortex-M4 มีความเร็วที่ 150 DMIPS
  • สามารถเพิ่มหน่วยความจำ เพิ่มเติมที่มีขนาดใหญ่ ตั้งแต่ไม่กี่ Mbytes ไปจนถึง Gbytes

ข้อเสียของ MPU

  • ทำให้การรันโปรแกรมนั้นช้ากว่า MCU เนื่องจากใช้ External memory ต้องติดต่อกับอุปกรณ์ภายนอก
  • ต้องต่อ อุปกรณ์ภายนอกเพิ่มเติมทำให้บอร์ดมีขนาดใหญ่ซับซ้อน ใช้อุปกรณ์มากกกว่า MCU

 

การเลือกใช้งาน MCU และ MPU

การเลือกใช้งาน MCU และ MPU ต่างก็มีข้อดีข้อเสียกันคนละด้าน ซึ่งเราควรมองที่ Application ที่เราจะเอาไปใช้งานเป็นสำคัญ

ตัวอย่างการเลือกใช้ MCU ถ้าเป็นงานที่เป็น Time-sensitive applications เช่น Motor control, Safety critical, Robot, pick-and-place เป็นต้น

ตัวอย่างการเลือกใช้ MPU ถ้าเป็นงานที่เป็น Full OS Application ใช้ memory ขนาดใหญ่ เช่น GUI interface, touch-screen HMIs, High speed communication Gigabit Ethernet, Plug and play hardware เป็นต้น

 

MPU และ MCU นั้นมีข้อดีข้อเสียแตกต่างกัน รวมถึงการเลือกการใช้งานควรจะใช้งานให้ถูกประเภทเพื่อให้งาน Application ทำงานได้อย่างถูกต้องและมีประสิทธิภาพ