ตอนซื้อ CPU (Processor) เรามักเห็นสเปค כמו "6 Cores, 12 Threads" หรือ "8 Cores, 16 Threads" แล้ว Core (แกน) กับ Thread (เธรด) แตกต่างกันยังไง? อันไหนสำคัญกว่าสำหรับการใช้งานจริง? บทความนี้อธิบายแบบเข้าใจง่าย ไม่ใช้ภาษาเทคนิคซับซ้อน
CPU Core (แกนประมวลผล) คืออะไร?
Core = "สมอง" จริงๆ ที่ทำงานคำนวณ CPU ตัวหนึ่งในสมัยก่อนมีแค่ 1 Core (Single-core) ทำงานได้ทีละงาน (Sequential) ต้องสลับกันทำ (Context Switch) ช้า
ปัจจุบัน CPU ทุกตัวเป็น Multi-core (หลายแกนในชิปเดียว):
- Dual-core (2 Cores): ทำงาน 2 งานพร้อมกันจริง
- Quad-core (4 Cores): ทำงาน 4 งานพร้อมกัน
- Hexa-core (6 Cores), Octa-core (8 Cores), 12, 16, 24, 32 Cores...
แต่ละ Core มี ALU (คำนวณคณิตศาสตร์), FPU (คำนวณทศนิยม), Cache (L1, L2) ของตัวเอง → Hardware Parallelism (ขนานแบบฮาร์ดแวร์)
Thread (เธรด/ลำดับงาน) คืออะไร?
Thread = "ลำดับงาน" ที่ส่งให้ Core ประมวลผล เป็นแนวคิดทางซอฟต์แวร์/ลอจิก
- 1 Core ทำงานได้ 1 Thread ในเวลาเดียวกัน (โดยปกติ)
- Hyper-Threading (Intel) / SMT - Simultaneous Multithreading (AMD): เทคโนโลยีที่ทำให้ 1 Core ทำงานได้ 2 Threads พร้อมกัน โดยใช้ทรัพยากรที่ว่างอยู่ใน Core (Execution Units) สลับกันใช้
Analogy (การเปรียบเทียบง่ายๆ)
| องค์ประกอบ | การเปรียบเทียบ | คำอธิบาย | |
|---|---|---|---|
| CPU Chip | ครัว | สถานที่ทำงาน | |
| Core | เชฟ (Chef) | คนทำอาหารจริงๆ มีมือคู่ (Execution Units) จำนวนจำกัด | |
| Thread | ออเดอร์อาหาร (Order) | งานที่ส่งให้เชฟทำ | |
| Hyper-Threading/SMT | เชฟทำอาหาร 2 จานพร้อมกัน | ขณะจานนึงกำลังเคี่ยว (รอ CPU Cycle) เชฟก็หั่นผักจานอื่นทับซ้อนได้ → ใช้ทรัพยากรให้เต็มที่ | |
| Cache (L1/L2/L3) | โต๊ะเตรียมวัตถุดิบ / ตู้เย็นใกล้มือ | ข้อมูลที่เข้าถึงบ่อย ใกล้ Core → เร็ว | |
| RAM | คลังสินค้าหลัก | ข้อมูลทั้งหมดที่ CPU ต้องการ |
| ด้านเปรียบเทียบ | Physical Core (แกนจริง) | Logical Thread (เธรด/ลอจิคอล) |
|---|---|---|
| ลักษณะ | ฮาร์ดแวร์จริง (Silicon) | ลอจิก/ซอฟต์แวร์ (Virtual) |
| ประสิทธิภาพ | 100% (Full Core Performance) | ~15-30% เพิ่มจาก Core เดียว (ไม่ใช่ 2x) |
| ต้นทุน | สูง (พื้นที่ Die, Power, Heat) | ต่ำ (เพิ่ม Logic เท่านั้น) |
| ประโยชน์ | Parallel Workloads จริง (Rendering, Compile, VM, Server) | Throughput ดีกว่าเล็กน้อยสำหรับ Mixed Workloads |
| ตัวอย่าง CPU | i5-12400 (6C/6T - No HT), Ryzen 5 5600 (6C/12T - SMT) | i7-12700K (8P+4E Cores / 20 Threads) |
Intel Hyper-Threading vs AMD SMT vs Intel Hybrid (P-cores + E-cores)
- Intel Hyper-Threading (HT): Performance Cores (P-cores) รองรับ 2 Threads/Core. Efficient Cores (E-cores) ไม่มี HT (1 Core = 1 Thread) → i7-12700K: 8P(16T) + 4E(4T) = 12C/20T
- AMD SMT (Simultaneous Multithreading): ทุก Core รองรับ 2 Threads → Ryzen 9 7950X: 16C/32T
- ARM big.LITTLE / Intel Hybrid: ผสม Core ใหญ่ (Performance) และ Core เล็ก (Efficiency) เพื่อประหยัดพลังงาน
อันไหนสำคัญกว่าสำหรับการใช้งานต่างๆ?
| งาน (Workload) | สำคัญกว่า | เหตุผล | CPU ตัวอย่าง |
|---|---|---|---|
| Gaming (ส่วนใหญ่) | Single-core Speed (IPC + Clock) > Core Count > Threads | เกมส่วนใหญ่ใช้ 1-4 Threads หลัก เร็วกว่าเยอะกว่าเยอะ | i5-13600K, Ryzen 7 7800X3D |
| Video Editing / 3D Rendering / Compile Code | Core Count (Physical) ≥ Threads | Scale ได้ดีกับ Core จริง Thread ช่วยเพิ่ม Throughput ~20% | Ryzen 9 7950X, i9-13900K, Threadripper |
| Streaming (CPU Encoding x264) | Cores + Threads | ต้องการ Threads มากสำหรับ Encoding ทับซ้อน Game | Ryzen 7/9, i7/i9 (QuickSync/NVENC ดีกว่า) |
| Virtual Machines / Docker / Server | Cores & Threads มากที่สุด | แต่ละ VM ต้องการ vCPU (Thread) แยกกัน | EPYC, Xeon, Threadripper Pro |
| Office / Web / Daily Use | 4-6 Cores / 8-12 Threads พอแล้ว | ไม่ได้ใช้ Parallelism มาก Single-core Speed สำคัญกว่า | i5-13400, Ryzen 5 7600 |