คอมพิวเตอร์ประกอบด้วยชิ้นส่วนหลายอย่าง และหนึ่งในชิ้นส่วนภายในที่สำคัญที่สุดคือ CPU ซึ่งย่อมาจาก Central Processing Unit หรือที่เรียกว่า "สมองของคอมพิวเตอร์" CPU ประกอบด้วยทรานซิสเตอร์ขนาดเล็กหลายพันล้านตัวที่ทำหน้าที่เป็นสวิตช์อิเล็กทรอนิกส์ ควบคุมการไหลของกระแสไฟฟ้าผ่านวงจรที่ซับซ้อน
นอกจากรันโปรแกรมต่างๆ แล้ว CPU ยังประสานงานกับชิ้นส่วนอื่นๆ ในคอมพิวเตอร์ด้วย ไม่ว่าจะเป็น RAM (random access memory), HDD (hard disk drive), และ SSD (solid-state drive)
มีหลายปัจจัยที่ส่งผลต่อประสิทธิภาพและความประหยัดพลังงานของโปรเซสเซอร์ แต่หัวข้อที่ถกเถียงกันมากที่สุดคือ แกน vs. เธรดโดยทั่วไปแล้ว คนมักเชื่อว่ายิ่งมี core มากก็ยิ่งได้ประสิทธิภาพมาก แต่ในความเป็นจริงไม่ได้ตรงไปตรงมาขนาดนั้น
การเข้าใจความแตกต่างระหว่าง core และ thread มีความสำคัญมากเมื่อต้องซื้อหรือกำหนดค่าคอมพิวเตอร์ อย่างที่สุดแล้ว คุณต้องการดึงประสิทธิภาพออกมาให้ได้มากที่สุดโดยไม่จ่ายเกินจำเป็น และจำนวน core กับ thread ที่เหมาะสมก็ขึ้นอยู่กับงานที่คุณต้องการทำ
นอกจากนี้ หากคุณเลือกใช้อุปกรณ์แบบพกพา เช่น แล็ปท็อป ความประหยัดพลังงานเป็นสิ่งที่ละเลยไม่ได้ สิ่งสุดท้ายที่คุณต้องการระหว่างใช้งานนอกสถานที่คือแบตเตอรี่หมดกลางคัน การเลือก CPU ที่กินไฟเหมาะสมช่วยลดโอกาสเกิดปัญหาแบบนี้ได้
ในบทความนี้ ผมจะอธิบายทุกอย่างที่คุณควรรู้เกี่ยวกับ core และ thread ของโปรเซสเซอร์ ความแตกต่างระหว่างกัน และปัจจัยอื่นๆ ที่ส่งผลต่อระดับประสิทธิภาพ
CPU Core คืออะไร?
core คือหน่วยประมวลผลจริงที่อยู่ภายใน CPU ทำหน้าที่ประมวลผลงานได้อย่างอิสระ ลองนึกภาพ CPU ของคุณเป็นโรงงาน โดยแต่ละ core เปรียบเสมือน "คนงาน" ที่รับงานได้ โดยทั่วไปแล้ว ยิ่งมีคนงานมากก็ยิ่งทำงานได้มากขึ้นในเวลาที่สั้นลง
โดยทั่วไปแล้ว คอร์ CPU ถูกออกแบบมาให้ประมวลผลทีละงาน ทำให้คอมพิวเตอร์ยุคแรกๆ ไม่สามารถทำหลายอย่างพร้อมกันได้ อย่างไรก็ตาม สิ่งนี้เปลี่ยนไปอย่างมากเมื่อมีการพัฒนาเทคโนโลยี Multithreading ซึ่งจะกล่าวถึงในรายละเอียดในบทความนี้
โปรเซสเซอร์แบบ Single Core กับ Multi Core
คอมพิวเตอร์รุ่นแรกๆ ใช้ CPU แบบคอร์เดียวที่รันได้ทีละงาน วิศวกรพยายามแก้ปัญหานี้ด้วยการเพิ่มหน่วย CPU หลายตัวบนเมนบอร์ด แต่การรัน CPU หลายตัวแบบแยกกันทำให้เกิด Latency สูงและพิสูจน์ได้ว่าไม่ใช่ทางออกที่ใช้งานได้จริง
เพื่อแก้ปัญหานี้ วิศวกรจึงออกแบบโปรเซสเซอร์แบบ Multi-core ขึ้นมา เนื่องจากแต่ละคอร์ทำงานอิสระจากกัน แต่ละคอร์จึงประมวลผลชุดคำสั่งของตัวเองได้โดยไม่กระทบคอร์อื่น นั่นหมายความว่ายิ่งโปรเซสเซอร์มีคอร์มาก ก็ยิ่งรันงานได้พร้อมกันมากขึ้นเท่านั้น
CPU แบบคอร์เดียวใช้พลังงานน้อยกว่าและอาจเพียงพอสำหรับงานทั่วไป เช่น การท่องเว็บ แต่เนื่องจากมีประสิทธิภาพจำกัด ความนิยมจึงลดลงเรื่อยๆ แม้จะยังพบได้ในระบบเก่าบางรุ่น แต่ CPU แบบคอร์เดียวถือว่าล้าสมัยแล้วในตลาดปัจจุบัน
โดยทั่วไปคอมพิวเตอร์ทั่วไปมาพร้อมคอร์ CPU สอง สี่ แปด หรือ 16 คอร์ จำนวนคอร์สูงสุดในกลุ่ม CPU สำหรับผู้บริโภคอยู่ที่ 64 คอร์ ส่วนโปรเซสเซอร์สำหรับดาต้าเซ็นเตอร์และเซิร์ฟเวอร์องค์กรอาจมีมากกว่านั้น เช่น โปรเซสเซอร์ AMD EPYC 9654 มาพร้อมกับ 96 คอร์
Processing Thread คืออะไร?
ในการประมวลผล Thread (หรือ Thread of Execution) หมายถึงงานหรือลำดับการทำงานแต่ละรายการที่ CPU ประมวลผล แต่ละ Thread ถือเป็นลำดับคำสั่งที่เล็กที่สุดที่ระบบปฏิบัติการสามารถจัดการได้อิสระ ไม่ว่าจะเป็นการเปิดโปรแกรมหรือการบันทึกไฟล์
คอร์ CPU ของคุณเป็นตัวรับผิดชอบในการประมวลผล Thread เหล่านี้ ในทุก CPU แต่ละคอร์สามารถรัน Thread ได้อย่างน้อยหนึ่ง Thread พร้อมกัน ดังที่กล่าวไปแล้ว การมีคอร์มากขึ้นช่วยให้ทำงานหลายอย่างพร้อมกันได้ดีขึ้น และการรองรับ Thread ได้มากขึ้นก็ให้ผลเช่นเดียวกัน
การเข้าใจความแตกต่างระหว่างความสามารถของ Thread และ Core รวมถึงบทบาทของแต่ละอย่างใน CPU จะช่วยให้คุณเลือกได้ตรงกับความต้องการมากที่สุด
Multithreading คืออะไร
อย่างที่พอจะเดาได้ การส่ง Thread ทีละหนึ่งไปยังโปรเซสเซอร์ รอให้เสร็จแล้วค่อยส่งอันต่อไป เป็นกระบวนการที่ใช้เวลามาก จึงทำให้วิศวกรพัฒนาวิธีและกลยุทธ์ต่างๆ เพื่อประมวลผล Thread ได้มากขึ้นในเวลาที่น้อยลง
ทางออกที่ตรงไปตรงมาที่สุดคือการแบ่ง Thread ออกเป็น Thread ย่อยๆ หลายอัน แล้วให้ CPU รันแบบขนานกัน วิธีนี้เรียกว่า "Multithreading" (ไม่ควรสับสนกับ Simultaneous หรือ Temporal Multithreading) โปรแกรมอาจใช้ Threading น้อยหรือมากขึ้นอยู่กับวิธีที่นักพัฒนาสร้างมันขึ้นมา
แนวคิดการผสาน Multithreading กลยุทธ์ต่างๆ มีมาตั้งแต่ยุค 50 แต่กว่าที่ Intel จะนำเทคโนโลยีที่เรียกว่า Simultaneous Multithreading (SMT) มาพัฒนาเป็นเทคนิค Multithreading ระดับฮาร์ดแวร์สำหรับคอมพิวเตอร์เดสก์ท็อปก็ต้องรอถึงช่วงปลายยุค 90 Intel ตั้งชื่อฟีเจอร์นี้ว่า เทคโนโลยี Hyper-Threading และเปิดตัวครั้งแรกในชิปโปรเซสเซอร์ Intel Pentium 4 เดสก์ท็อปในปี 2002
ด้วย Hyper-Threading ของ Intel Thread ได้มากถึงสอง Thread สามารถใช้ทรัพยากรของคอร์ CPU เดียวกันร่วมกันเพื่อทำงานให้เสร็จ พูดง่ายๆ คือคุณมี "ผู้ปฏิบัติงาน" เพิ่มเป็นสองเท่าในทางเสมือน แต่ทุกสองคนยังคงใช้ทรัพยากรชุดเดียวกัน
Hyper-Threading: ข้อดีและข้อเสีย
ประโยชน์หลักของ Hyper-Threading คือช่วยเพิ่มประสิทธิภาพระบบโดยรวมได้อย่างเห็นได้ชัด เนื่องจากดึงทรัพยากรการประมวลผลที่มีอยู่ออกมาใช้ได้มากขึ้น อย่างไรก็ตาม ในบางกรณี Single-threading ก็ยังคงเป็นตัวเลือกที่ดีกว่า
ในส่วนใหญ่ โดยเฉพาะระหว่างการทำงานหลายอย่างในชีวิตประจำวัน คอร์ CPU ของคอมพิวเตอร์คุณมักจะยังไม่ถูกใช้งานเต็มที่ นั่นแปลว่ายังมีพื้นที่สำหรับการประมวลผลเพิ่มเติม Hyper-Threading ปลดล็อกพลังประมวลผลที่ไม่ได้ใช้ในคอร์ CPU เพื่อรัน Thread อื่นๆ ส่งผลให้ใช้ศักยภาพสูงสุดของ CPU ได้อย่างมีประสิทธิภาพมากขึ้น
แม้จะมีข้อดี แต่ Hyper-Threading ก็มีข้อเสียที่ชัดเจนเช่นกัน ข้อเสียหลักคือการใช้พลังงานที่เพิ่มขึ้น เมื่อเทียบกับชิปแบบ ARM โปรเซสเซอร์ Intel เป็นที่รู้กันดีว่ากินพลังงานแบตเตอรี่แล็ปท็อปค่อนข้างมาก และ Hyper-Threading ก็เป็นหนึ่งในสาเหตุนั้น
เมื่อโปรเซสเซอร์ดึงพลังงานมากขึ้น Hyper-Threading ก็ทำให้อุณหภูมิสูงขึ้นและเกิด Thermal Throttling ซึ่งทำให้ CPU ลดความเร็วลงเพื่อป้องกันความร้อนสูงเกินไป นอกจากนี้ อุปกรณ์พกพาที่ใช้ CPU ของ Intel ประเภทนี้ยังต้องการระบบระบายความร้อนที่ใหญ่ขึ้น ซึ่งเพิ่มน้ำหนักและขนาดของอุปกรณ์ได้อย่างเห็นได้ชัด
สุดท้าย เนื่องจากประสิทธิภาพที่ได้ขึ้นอยู่กับแอปพลิเคชันเป็นหลัก การออกแบบโปรแกรมให้ใช้ประโยชน์จาก Hyper-Threading ได้จึงตกอยู่ในมือของนักพัฒนา ซึ่งเพิ่มความซับซ้อนในการพัฒนาโปรแกรมให้มีประสิทธิภาพสูงสุด อีกทั้งซอฟต์แวร์ที่ไม่รองรับ Hyper-Threading อาจทำงานไม่ราบรื่นในสภาวะที่ใช้โปรเซสเซอร์หนัก
Core มากกว่า vs Thread มากกว่า: แบบไหนดีกว่า?
เนื่องจากขึ้นอยู่กับโปรแกรมที่คุณจะใช้เป็นหลัก จึงยากที่จะบอกว่าอันไหนสำคัญกว่าในทุกกรณี โดยทั่วไปคอร์ที่มากขึ้นหมายถึงทรัพยากรที่มีให้ใช้มากขึ้น ในทางกลับกัน Thread ที่มากขึ้นอาจช่วยให้ทำงานหลายอย่างพร้อมกันได้ดีขึ้น แม้จะไม่เสมอไป
สำหรับโปรแกรมที่ใช้ Thread จำนวนมาก การมี Thread เพิ่มขึ้นต่อคอร์ CPU มักให้ผลลัพธ์ที่ดีและเร็วกว่า แต่สำหรับโปรแกรมที่ออกแบบมาสำหรับสถาปัตยกรรมคอร์ CPU แบบ Single-thread อาจพบประสิทธิภาพที่ลดลงเมื่อเปิดใช้ Hyper-Threading
อย่างไรก็ตาม บางคนพบว่าเกมหลายเกม ทั้งเก่าและใหม่ รันได้ดีกว่าอย่างเห็นได้ชัดเมื่อปิด Hyper-Threading ผู้ใช้รายหนึ่งบน Reddit อ้างว่าพบ FPS เพิ่มขึ้นประมาณ 30% ในเกมส่วนใหญ่หลังจากปิด Hyper-Threading บน Intel Core i9 CPU ของเขา
มาหลายปีแล้วที่ Intel ครองตลาด CPU ในกลุ่มแล็ปท็อปและคอมพิวเตอร์ตั้งโต๊ะ ด้วยชิปที่รองรับเธรดมากกว่าจำนวนคอร์ถึงสองเท่า ผ่านเทคโนโลยี Hyper-Threading อย่างไรก็ตาม คู่แข่งบางรายเริ่มพัฒนาสถาปัตยกรรม CPU รูปแบบใหม่ที่ให้ประสิทธิภาพการใช้พลังงานดีกว่ามาก พร้อมกับคอร์แบบ single-threaded
Apple Silicon เป็นตัวอย่างที่ชัดเจน ชิปซีรีส์ ARM นี้ประหยัดพลังงานได้ดีกว่าโมเดลที่ใช้ Intel ในคอมพิวเตอร์รุ่นใหม่ของ Apple อย่างเห็นได้ชัด นอกจากนี้ แล็ปท็อป Windows รุ่นใหม่หลายรุ่น รวมถึง Microsoft Surface Pro 11 ก็หันมาใช้โปรเซสเซอร์ ARM เพื่อแบตเตอรี่ที่ทนทานขึ้นและประสิทธิภาพที่ดีกว่าสำหรับการใช้งานทั่วไป ชิป ARM เหล่านี้ทั้งหมดมาพร้อมคอร์แบบ single-threaded
โดยสรุปแล้ว การมีเธรดมากกว่าไม่ได้หมายความว่าประสิทธิภาพ CPU จะดีกว่าเสมอไป แต่การมีคอร์มากกว่านั้นส่งผลโดยตรงต่อความสามารถของโปรเซสเซอร์ในการจัดการคำสั่งที่ซับซ้อนและใช้ทรัพยากรสูง
ปัจจัยอื่นใดที่ส่งผลต่อประสิทธิภาพของ CPU?
เราได้อธิบายความแตกต่างระหว่างคอร์และเธรดของโปรเซสเซอร์ในคอมพิวเตอร์ไปแล้ว อย่างไรก็ตาม นั่นไม่ใช่ปัจจัยเดียวที่กำหนดผลลัพธ์สุดท้ายของ CPU
ความเร็วสัญญาณนาฬิกา (หรือที่เรียกว่า "clock rate" หรือเรียกสั้นๆ ว่า "ความถี่") เป็นหนึ่งในตัวชี้วัดหลักของโปรเซสเซอร์ พูดง่ายๆ คือ clock speed บอกว่า CPU สามารถรันได้กี่รอบต่อวินาที ตัวอย่างเช่น โปรเซสเซอร์ที่มี clock speed 3.2 GHz สามารถรันได้ 3.2 พันล้านรอบต่อวินาที
อีกพารามิเตอร์ที่ควรพิจารณาคือ cache memory ของ CPU แคชของ CPU คือหน่วยความจำความเร็วสูงที่เก็บข้อมูลที่ถูกเรียกใช้บ่อย แคชที่มีขนาดใหญ่กว่าและเร็วกว่าช่วยเพิ่มความสามารถของ CPU ในการรันงานที่ต้องเข้าถึงข้อมูลซ้ำๆ
โปรเซสเซอร์คอมพิวเตอร์ผลิตด้วยกระบวนการผลิตระดับนาโนเมตร (nm) เช่น 7nm หรือ 5nm โหนดที่เล็กลงหมายความว่าสามารถบรรจุทรานซิสเตอร์ได้มากขึ้นบนชิป ส่งผลให้ประหยัดพลังงานและมีประสิทธิภาพดีขึ้น เนื่องจากสัญญาณเดินทางระยะทางสั้นลง จึงใช้เวลาและพลังงานน้อยลง
ปัจจัยอื่นๆ เช่น IPC (Instructions Per Cycle), bus speed และ thermal design power ก็มีส่วนในการกำหนดประสิทธิภาพสูงสุดที่คุณจะได้จาก CPU
ก่อนจบบทความ ขอแนะนำ VPS คลาउด์ ที่ Cloudzy เรามี CPU ความเร็วสูง 3.2 และ 4.2 GHz พร้อมพื้นที่เก็บข้อมูล NVMe แบนด์วิดท์สูง และการเชื่อมต่อสูงสุด 10Gbps หากคุณกำลังมองหา virtual machine ที่เชื่อถือได้ อย่าลืมดู VPS plans ของเรา สำหรับความเสถียรและความเร็วที่ไม่มีใครเทียบ!
ต้องการ Cloud VPS ประสิทธิภาพสูงไหม? เริ่มใช้งานได้เลยวันนี้ และจ่ายเฉพาะที่ใช้จริงกับ Cloudzy!
เริ่มต้นที่นี่สรุป: Thread vs Core
เมื่อพูดถึงประสิทธิภาพของคอมพิวเตอร์ CPU คือหน่วยหลักที่รับผิดชอบการรันโปรแกรม คอร์ของ CPU คือหน่วยประมวลผลทางกายภาพภายใน CPU โดยทั่วไป CPU จะมีหลายคอร์ และแต่ละคอร์รันอย่างน้อยหนึ่งเธรด
เธรดมักหมายถึงลำดับคำสั่งที่เล็กที่สุดที่ส่งไปยังคอร์ของ CPU เพื่อประมวลผล แต่ละคอร์ของ CPU รองรับอย่างน้อยหนึ่งเธรดในเวลาเดียวกัน ในโปรเซสเซอร์ที่รองรับ Hyper-Threading จำนวนนั้นเพิ่มขึ้นเป็นสอง หมายความว่าสองเธรดสามารถใช้ทรัพยากรของคอร์พร้อมกันเพื่อรันงานที่แตกต่างกัน
แม้ว่าคอร์ที่รองรับเทคโนโลยี SMT จะรับเธรดได้มากกว่าหนึ่งเธรดในเวลาเดียวกันและรองรับการทำงานหลายอย่างพร้อมกันได้ดีกว่าในทางทฤษฎี แต่ในทางปฏิบัติก็ไม่ได้หมายความว่าปริมาณงานที่ประมวลผลได้จะเพิ่มขึ้นเสมอไป
คำถามที่พบบ่อย
มี core มากกว่าดีกว่า thread มากกว่าไหม?
ขึ้นอยู่กับโปรแกรมที่คุณต้องการใช้ แอปพลิเคชันที่ใช้เธรดหนักจะทำงานได้ดีกว่าเมื่อมีเธรดมากขึ้น ในขณะที่บางโปรแกรมอาจทำงานได้ดีกว่าบนคอร์แบบ single-threaded อย่างไรก็ตาม การมีคอร์มากขึ้นส่งผลโดยตรงต่อประสิทธิภาพของ CPU
ใน 1 core มีกี่ thread?
ใน Intel CPU ส่วนใหญ่ในปัจจุบัน แต่ละคอร์รองรับสองเธรดพร้อมกัน ด้วยเทคโนโลยี Hyper-Threading แต่นั่นไม่ใช่กรณีของชิปโปรเซสเซอร์ทุกรุ่น เช่น CPU ที่ใช้สถาปัตยกรรม ARM มีหนึ่งเธรดต่อคอร์
core กับโปรเซสเซอร์ต่างกันอย่างไร?
คอร์คือหน่วยประมวลผลทางกายภาพภายในโปรเซสเซอร์คอมพิวเตอร์ (CPU) ภายในโปรเซสเซอร์หนึ่งตัวสามารถมีหลายคอร์ ซึ่งแต่ละคอร์เป็นหน่วยประมวลผลอิสระที่รันคำสั่งได้ด้วยตัวเอง