ทำความเข้าใจโลก Embedded System ตอนที่ 3 : Processor คืออะไร? MCU / MPU / SoC ต่างกันอย่างไร?
รู้จัก Embedded : ระบบอัจฉริยะที่อยู่รอบตัวเรา
เมื่อพูดถึง Embedded System สิ่งหนึ่งที่มักถูกกล่าวถึงอยู่เสมอคือ Processor หรือหน่วยประมวลผล เพราะเป็นส่วนสำคัญที่ทำหน้าที่รับข้อมูล ประมวลผล และควบคุมการทำงานของระบบตามโปรแกรมที่กำหนดไว้
แต่ Processor ในโลกของ Embedded System ไม่ได้มีเพียงรูปแบบเดียว หากมองไปที่อุปกรณ์ต่าง ๆ จะพบทั้ง MCU, MPU และ SoC ซึ่งมีโครงสร้างและแนวทางการใช้งานแตกต่างกัน
การทำความเข้าใจความแตกต่างของทั้งสามประเภท จึงเป็นพื้นฐานสำคัญสำหรับการทำความเข้าใจสถาปัตยกรรมของ Embedded System
Processor คืออะไร?

Processor คือหน่วยประมวลผลที่ทำหน้าที่ดำเนินการตามคำสั่งของโปรแกรม โดยรับข้อมูลเข้ามา ประมวลผลตามคำสั่ง และสร้างผลลัพธ์หรือส่งคำสั่งควบคุมไปยังส่วนอื่นของระบบ
การทำงานของ Processor เกี่ยวข้องกับกระบวนการพื้นฐาน เช่น การคำนวณทางคณิตศาสตร์ การเปรียบเทียบข้อมูล การจัดการข้อมูล และการควบคุมลำดับการทำงานของโปรแกรม
ใน Embedded System Processor มักทำหน้าที่เป็นศูนย์กลางของการควบคุม เช่น อ่านค่าจาก Sensor ประมวลผลข้อมูล ตรวจสอบเงื่อนไข และสั่งงาน Output หรืออุปกรณ์ภายนอก
อย่างไรก็ตาม Processor ไม่ได้หมายความว่าจะต้องเป็นชิปที่มีเฉพาะหน่วยประมวลผลเท่านั้น เพราะในระบบ Embedded มีการนำส่วนประกอบอื่น ๆ มารวมอยู่ในชิปเดียวกันมากขึ้น จึงเกิดเป็นสถาปัตยกรรมอย่าง MCU และ SoC
MPU คืออะไร?

MPU หรือ Microprocessor Unit มีแนวคิดแตกต่างจาก MCU โดย MPU มุ่งเน้นไปที่หน่วยประมวลผลเป็นหลัก ขณะที่ Memory และ Peripheral จำนวนมากมักอยู่นอกตัวชิป
ระบบที่ใช้ MPU จึงมักต้องมีส่วนประกอบภายนอก เช่น RAM, Storage และอุปกรณ์ Peripheral เพื่อทำให้ระบบสามารถทำงานได้อย่างสมบูรณ์
MPU มักมีความสามารถด้านการประมวลผลสูงกว่า MCU ในกลุ่มงานที่ต้องใช้ระบบปฏิบัติการและซอฟต์แวร์ที่มีความซับซ้อน เช่น Embedded Linux
ตัวอย่างการใช้งาน ได้แก่
- Embedded Computer
- Human Machine Interface (HMI)
- ระบบแสดงผล
- Gateway
- Network Device
- อุปกรณ์ที่ต้องใช้ระบบปฏิบัติการ
การแยก Memory และส่วนประกอบอื่นออกจาก MPU ทำให้ระบบสามารถเลือกขนาดและประเภทของ Memory ให้เหมาะกับงานได้มากขึ้น แต่ในขณะเดียวกันก็ทำให้ระบบมีความซับซ้อนและมีส่วนประกอบมากกว่า MCU
MCU คืออะไร?

MCU หรือ Microcontroller Unit คือชิปที่รวมหน่วยประมวลผลและส่วนประกอบที่จำเป็นสำหรับการควบคุมระบบไว้ภายในชิปเดียว
โดยทั่วไป MCU ประกอบด้วยส่วนสำคัญ เช่น
- Processor Core
- Memory สำหรับโปรแกรม
- RAM สำหรับข้อมูล
- GPIO
- Timer และ Counter
- Communication Interface
- ADC และ Peripheral อื่น ๆ
แนวคิดสำคัญของ MCU คือการรวมองค์ประกอบต่าง ๆ ที่จำเป็นต่อการทำงานของระบบควบคุมไว้ในชิปเดียว ทำให้สามารถนำไปใช้งานกับอุปกรณ์ Embedded ได้โดยไม่จำเป็นต้องมีส่วนประกอบภายนอกจำนวนมาก
ตัวอย่างเช่น MCU อาจอ่านค่าจาก Sensor ผ่าน ADC จากนั้นประมวลผลข้อมูล แล้วควบคุม Motor ผ่าน GPIO หรือ Interface ที่เหมาะสม ทั้งหมดนี้สามารถทำงานตามโปรแกรมที่อยู่ภายใน MCU
MCU จึงเหมาะกับงานที่ต้องการควบคุมอุปกรณ์โดยตรง และต้องการระบบที่มีขนาดเล็ก ใช้พลังงานไม่สูง และมีการทำงานที่ค่อนข้างเฉพาะเจาะจง
SoC คืออะไร?

SoC (System on Chip) เป็นชิปที่รวมส่วนประกอบหลายอย่างของระบบไว้ภายในชิปเดียว เดิมทีการทำงานในลักษณะนี้อาจต้องใช้ชิปหลายตัวแยกกัน แต่ SoC นำองค์ประกอบเหล่านั้นมารวมไว้ในชิปเดียว
ภายใน SoC อาจประกอบด้วย CPU, Memory, Microcontroller, DSP, Hardware Accelerator และวงจรสนับสนุนอื่น ๆ ทั้งนี้ไม่มีข้อกำหนดตายตัวว่า SoC ทุกตัวจะต้องมีองค์ประกอบเหมือนกัน เพราะส่วนประกอบภายในจะขึ้นอยู่กับการออกแบบและลักษณะงานที่ต้องการใช้งาน
SoC เหมาะกับงานที่มีความซับซ้อนมาก และต้องการทรัพยากรในการประมวลผลมากกว่าที่ MCU เพียงตัวเดียวจะรองรับได้ ภายใน SoC หนึ่งตัวอาจมี Microcontroller หลายตัว รวมถึงหน่วยประมวลผลหรือวงจรเฉพาะสำหรับงานต่าง ๆ
ด้วยเหตุนี้ SoC จึงมีลักษณะคล้ายกับการนำ ระบบคอมพิวเตอร์ทั้งระบบมารวมไว้ในชิปเดียว ทำให้สามารถรองรับงานที่ซับซ้อนและมีความต้องการด้านการประมวลผลสูงได้
MPU, MCU และ SoC ต่างกันอย่างไร?

แม้ทั้ง MCU, MPU และ SoC จะเกี่ยวข้องกับการประมวลผล แต่แนวคิดในการออกแบบแตกต่างกัน
MPU เน้นประสิทธิภาพของหน่วยประมวลผล และมักทำงานร่วมกับ Memory และ Peripheral ภายนอก เหมาะกับระบบที่มีซอฟต์แวร์ซับซ้อนและสามารถใช้ระบบปฏิบัติการได้
MCU เน้นการรวม Processor, Memory และ Peripheral ที่จำเป็นสำหรับงานควบคุมไว้ในชิปเดียว เหมาะกับระบบควบคุมเฉพาะด้านและอุปกรณ์ที่ต้องการความเรียบง่าย
SoC (System on Chip) เป็นแนวคิดในการรวมองค์ประกอบหลายส่วนของระบบไว้ในชิปเดียว โดยองค์ประกอบภายในไม่ได้มีข้อกำหนดตายตัว อาจประกอบด้วย CPU, MCU, DSP, GPU, NPU, Memory Controller, Hardware Accelerator และวงจรสนับสนุนต่าง ๆ ตามลักษณะงานที่ออกแบบไว้ ดังนั้น MCU ที่มี DSP หรือหน่วยประมวลผลเฉพาะทางรวมอยู่ด้วย จึงสามารถมีลักษณะเป็น SoC ได้เช่นกัน
หากเปรียบเทียบในภาพรวม สามารถมองได้ว่า MCU เน้น การควบคุม, MPU เน้น การประมวลผล, ส่วน SoC เน้น การรวมความสามารถของระบบหลายส่วนไว้ด้วยกัน
อย่างไรก็ตาม เส้นแบ่งระหว่างอุปกรณ์ทั้งสามประเภทไม่ได้ตายตัวเสมอไป เพราะเทคโนโลยี Processor มีการพัฒนาอย่างต่อเนื่อง และผู้ผลิตสามารถรวมองค์ประกอบต่าง ๆ เข้าด้วยกันในรูปแบบที่แตกต่างกัน
ตารางเปรียบเทียบ MCU, MPU และ SoC
| หัวข้อ | MCU | MPU | SoC |
|---|---|---|---|
| ชื่อเต็ม | Microcontroller Unit | Microprocessor Unit | System on Chip |
| แนวคิดหลัก | คอมพิวเตอร์ขนาดเล็กสำหรับงานควบคุม | หน่วยประมวลผลที่เน้น CPU และมักทำงานร่วมกับอุปกรณ์ภายนอก | การรวมองค์ประกอบหลายส่วนของระบบไว้ในชิปเดียว |
| CPU | มี CPU Core สำหรับงานควบคุม | เน้น CPU Core ที่มีประสิทธิภาพสูงกว่า MCU โดยทั่วไป | อาจมี CPU หลาย Core และอาจมีหน่วยประมวลผลประเภทอื่นร่วมด้วย |
| Memory | มักมี Flash และ RAM อยู่ภายในชิป | มักใช้ RAM และ Storage ภายนอก | มี Memory Controller และอาจมี Memory บางส่วนภายในชิป โดยอาจใช้ Memory ภายนอกร่วมด้วย |
| Peripheral | มี Peripheral พื้นฐานจำนวนมาก เช่น GPIO, ADC, PWM, Timer, UART, SPI และ I²C | มักต้องเชื่อมต่อ Peripheral จากภายนอกมากกว่า MCU | สามารถรวม Peripheral และ Controller หลายประเภทไว้ในชิป |
| หน่วยประมวลผลเฉพาะทาง | โดยทั่วไปมีจำกัด | อาจมีขึ้นอยู่กับรุ่น | สามารถรวม GPU, DSP, NPU และ Hardware Accelerator ได้ |
| Interface | เน้น Interface สำหรับงานควบคุมและการเชื่อมต่อทั่วไป | รองรับ Interface ที่มีความซับซ้อนมากขึ้นตามการออกแบบ | สามารถรองรับ Interface ความเร็วสูง เช่น USB, PCIe และ Ethernet ตามการออกแบบ |
| Operating System | มักใช้ Bare Metal หรือ RTOS | สามารถใช้ Linux, Android, QNX หรือ OS อื่น ๆ | สามารถรองรับ OS ที่มีความซับซ้อน เช่น Linux, Android หรือ QNX |
| ลักษณะการทำงาน | เน้นงานควบคุมที่ตอบสนองแบบ Real-time | เน้นการประมวลผลและการทำงานของ Software ที่ซับซ้อน | รองรับการประมวลผลหลายรูปแบบและงานที่ซับซ้อน |
| ความซับซ้อนของระบบ | ต่ำถึงปานกลาง | ปานกลางถึงสูง | ปานกลางถึงสูงมาก ขึ้นอยู่กับการออกแบบ |
| การใช้พลังงาน | โดยทั่วไปต่ำ | โดยทั่วไปสูงกว่า MCU | แตกต่างกันมากตามสถาปัตยกรรมและลักษณะงาน |
| การออกแบบระบบ | ค่อนข้างเรียบง่ายและใช้ชิ้นส่วนภายนอกไม่มาก | ต้องมี Memory และอุปกรณ์ภายนอกมากขึ้น | รวมองค์ประกอบจำนวนมากไว้ในชิป ช่วยลดจำนวนชิปบนบอร์ด แต่ตัวระบบมีความซับซ้อนสูง |
| ตัวอย่างงาน | Sensor, Motor Control, IoT, Controller, เครื่องใช้ไฟฟ้า | Embedded Computer, HMI, Gateway, Industrial System | Smartphone, Smart Camera, Multimedia, AI, Network และระบบประมวลผลขั้นสูง |
หลักในการแยก MPU, MCU และ SoC แบบง่ายๆ ?
MPU, MCU และ SoC แบ่งแยกอย่างไร?
คำถามนี้อาจตอบแบบตรงไปตรงมาว่า “ดู Datasheet หรือ Reference ของผู้ผลิต” เพราะการแบ่งประเภทของ IC ไม่ได้มีเส้นแบ่งที่ตายตัวเสมอไป โดยเฉพาะเมื่อเทคโนโลยีในปัจจุบันมีการรวมองค์ประกอบต่าง ๆ เข้าด้วยกันมากขึ้น
อย่างไรก็ตาม หากต้องการทำความเข้าใจในเบื้องต้น เมื่อพบ IC หนึ่งตัว เราสามารถลองตั้งคำถามว่า ชิปตัวนี้ถูกออกแบบมาโดยมีบทบาทหลักอะไร?
ถ้าเป็น MPU ให้ถามว่า
MPU → “ชิปนี้ออกแบบมาเพื่อประมวลผลอะไร?”
เน้นความสามารถของ Processor ในการประมวลผลข้อมูลและรัน Software โดยมักทำงานร่วมกับ Memory และอุปกรณ์ภายนอก
ถ้าเป็น MCU ให้ถามว่า
MCU → “ชิปนี้ออกแบบมาเพื่อควบคุมอะไร?”
เน้นการควบคุม Hardware โดยรวม CPU, Memory และ Peripheral ที่จำเป็นสำหรับงานควบคุมไว้ในชิปเดียว
ส่วน SoC ให้ถามว่า
SoC → “ชิปนี้รวมองค์ประกอบของระบบอะไรไว้ด้วยกัน?”
เน้นการรวมองค์ประกอบหลายส่วนของระบบไว้ในชิปเดียว ซึ่งอาจประกอบด้วย CPU, MCU, DSP, GPU, NPU, Hardware Accelerator, Memory Controller และ Interface ต่าง ๆ ตามวัตถุประสงค์ของการออกแบบ
อย่างไรก็ตาม คำถามเหล่านี้เป็นเพียง แนวทางในการทำความเข้าใจเบื้องต้น ไม่ใช่กฎในการจำแนกประเภทของ IC เนื่องจากชิปบางตัวสามารถมีคุณสมบัติที่ทับซ้อนกันได้ การพิจารณา Datasheet, Block Diagram และเอกสารอ้างอิงจากผู้ผลิตจึงยังเป็นวิธีที่แม่นยำที่สุด
แล้ว Embedded System ควรเลือกใช้แบบใด?
การเลือก Processor ไม่ได้พิจารณาจากความเร็วในการประมวลผลเพียงอย่างเดียว แต่ต้องพิจารณาลักษณะของระบบทั้งหมด
หากเป็นอุปกรณ์ที่ต้องอ่าน Sensor ควบคุม Motor จัดการ GPIO และทำงานตามโปรแกรมที่ไม่ซับซ้อนมาก MCU มักเป็นทางเลือกที่เหมาะสม
หากระบบต้องทำงานร่วมกับระบบปฏิบัติการ มี User Interface หรือมีซอฟต์แวร์ที่มีความซับซ้อนมากขึ้น MPU อาจเหมาะสมกว่า
ส่วนระบบที่ต้องการรวมความสามารถหลายด้าน เช่น การประมวลผลข้อมูล การแสดงผล การสื่อสาร และการเร่งการประมวลผลด้วย Hardware เฉพาะทาง SoC สามารถตอบโจทย์ได้
ดังนั้น การเลือก Processor จึงเป็นการเลือกสถาปัตยกรรมของระบบไปพร้อมกัน ไม่ใช่เพียงการเลือกชิปที่มีความเร็วสูงที่สุด
Processor กับส่วนอื่นของ Embedded System
Processor ไม่ได้ทำงานเพียงลำพัง แม้จะเป็นส่วนสำคัญของระบบ แต่การทำงานจริงยังต้องอาศัย Memory, Sensor, Input/Output, Communication Interface และ Software
Processor จะรับคำสั่งจาก Software และทำงานร่วมกับ Hardware ส่วนอื่นตามที่ระบบออกแบบไว้
ตัวอย่างเช่น ในอุปกรณ์หนึ่ง Processor อาจรับค่าจาก Sensor → ประมวลผลข้อมูล → ตรวจสอบเงื่อนไข → สั่งงาน Output และส่งข้อมูลผ่าน Communication Interface
การทำงานลักษณะนี้ทำให้เห็นว่า Processor เป็นศูนย์กลางที่เชื่อมโยงการทำงานขององค์ประกอบต่าง ๆ เข้าด้วยกัน
สรุป
Processor คือหน่วยที่ทำหน้าที่ประมวลผลคำสั่งและควบคุมการทำงานของ Embedded System โดยสามารถพบได้ในสถาปัตยกรรมหลายรูปแบบ
MCU รวม Processor, Memory และ Peripheral ไว้ในชิปเดียว เหมาะกับงานควบคุมและระบบที่ต้องการความเรียบง่าย
MPU เน้นหน่วยประมวลผลและมักทำงานร่วมกับ Memory และส่วนประกอบภายนอก เหมาะกับระบบที่มีซอฟต์แวร์และระบบปฏิบัติการที่ซับซ้อนขึ้น
SoC รวมองค์ประกอบหลายส่วนของระบบไว้ในชิปเดียว เพื่อรองรับการทำงานที่หลากหลายและซับซ้อน
เมื่อเข้าใจความแตกต่างของ MCU, MPU และ SoC แล้ว การมองภาพรวมของ Embedded System จะชัดเจนขึ้น เพราะ Processor ไม่ได้เป็นเพียงส่วนที่ “คำนวณ” เท่านั้น แต่เป็นส่วนสำคัญที่ทำให้ Hardware และ Software สามารถทำงานร่วมกันเป็นระบบเดียวกันได้
ในตอนถัดไป เราจะมาดูอีกหนึ่งองค์ประกอบที่ Processor ขาดไม่ได้ นั่นคือ Memory ซึ่งมีทั้งหน่วยความจำสำหรับเก็บโปรแกรม เก็บข้อมูล และใช้ระหว่างการทำงานของระบบ
Written by Pawinphat
Electronics & Embedded Systems
