คอมพิวเตอร์ประกอบด้วยส่วนประกอบต่างๆ ส่วนประกอบภายในที่สำคัญที่สุดก็คือ CPU ย่อมาจาก Central Processing Unit CPU คือสมองของคอมพิวเตอร์ ประกอบด้วยทรานซิสเตอร์ขนาดเล็กหลายพันล้านตัวที่ทำหน้าที่เป็นสวิตช์อิเล็กทรอนิกส์ มีหน้าที่ควบคุมการไหลของกระแสไฟฟ้าผ่านวงจรที่ซับซ้อน
นอกเหนือจากการรันโปรแกรมงานแล้ว CPU ยังประสานส่วนประกอบอื่นๆ ในคอมพิวเตอร์ รวมถึง RAM (หน่วยความจำเข้าถึงโดยสุ่ม), HDD (ฮาร์ดดิสก์ไดรฟ์) และ SSD (โซลิดสเตตไดรฟ์)
มีปัจจัยหลายประการที่กำหนดประสิทธิภาพและประสิทธิภาพของโปรเซสเซอร์ แต่หัวข้อหนึ่งที่ได้รับการถกเถียงกันมากที่สุดก็คือ แกนเทียบกับเธรด. โดยทั่วไปแล้ว ผู้คนเชื่อว่าการมีคอร์มากขึ้นย่อมมีประสิทธิภาพมากขึ้น อย่างไรก็ตาม มันไม่ได้ตรงไปตรงมาเสมอไป
การรู้ว่าคอร์และเธรดทำอะไรเป็นสิ่งสำคัญในการตัดสินใจที่ถูกต้องเมื่อซื้อหรือกำหนดค่าคอมพิวเตอร์ ตามหลักการแล้ว คุณจะต้องเพิ่มประสิทธิภาพการใช้พลังงานให้มากที่สุดเท่าที่จะทำได้โดยไม่ต้องใช้จ่ายมากเกินไป ขึ้นอยู่กับงานที่คุณต้องการดำเนินการ จำนวนคอร์และเธรดที่เหมาะสมอาจแตกต่างกันอย่างมาก
ยิ่งไปกว่านั้น หากคุณเลือกใช้อุปกรณ์พกพา (เช่น แล็ปท็อป) ประสิทธิภาพการใช้พลังงานคือสิ่งที่คุณจะละเลยไม่ได้ สิ่งสุดท้ายที่คุณต้องการเมื่อนำคอมพิวเตอร์ติดตัวไปได้ทุกที่คือการทำให้แบตเตอรี่หมดในระหว่างที่ทำงานเสร็จ การเลือก CPU ที่ใช้พลังงานเพียงพอสามารถลดความเสี่ยงที่จะเกิดอาการปวดหัวได้
ในโพสต์นี้ ฉันจะอธิบายทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับคอร์และเธรดของโปรเซสเซอร์คอมพิวเตอร์ ความแตกต่าง และปัจจัยอื่นๆ ที่ส่งผลต่อระดับประสิทธิภาพของโปรเซสเซอร์
ซีพียูคอร์คืออะไร?
โดยพื้นฐานแล้ว คอร์คือหน่วยประมวลผลทางกายภาพภายใน CPU ซึ่งรับผิดชอบในการดำเนินการอย่างเป็นอิสระ คุณสามารถมอง CPU ของคุณว่าเป็นโรงงาน โดยแต่ละคอร์นั้นเป็น “ผู้ปฏิบัติงาน” ที่สามารถจัดการงานต่างๆ ได้ โดยทั่วไป คุณสามารถดำเนินงานได้มากขึ้นโดยมีผู้ปฏิบัติงานมากขึ้นในช่วงเวลาที่สั้นลง
เดิมที CPU core ได้รับการออกแบบมาเพื่อดำเนินการงานทีละงาน นี่หมายถึงการขาดความสามารถในการทำงานหลายอย่างพร้อมกันในการทำซ้ำครั้งแรกของคอมพิวเตอร์ อย่างไรก็ตาม วิธีการทำงานของแกน CPU นั้นเปลี่ยนไปอย่างมาก ต้องขอบคุณการพัฒนาเทคโนโลยีมัลติเธรด ซึ่งฉันจะพูดถึงในบทความนี้ต่อไป
โปรเซสเซอร์เดี่ยวและมัลติคอร์
การทำซ้ำคอมพิวเตอร์ก่อนหน้านี้มี CPU แบบ single-core ที่สามารถรันได้ครั้งละหนึ่งงาน ในการรันหลายโปรแกรมพร้อมกัน วิศวกรคอมพิวเตอร์พยายามขยายเมนบอร์ดและเพิ่ม CPU หลายหน่วยเข้าด้วยกัน อย่างไรก็ตาม CPU บางตัวที่ทำงานอย่างอิสระทำให้เกิดเวลาแฝงสูงและได้รับการพิสูจน์แล้วว่าใช้ไม่ได้จริง
เพื่อแก้ไขปัญหานี้ วิศวกรได้ออกแบบโปรเซสเซอร์แบบมัลติคอร์ เนื่องจากแต่ละคอร์ทำงานแยกจากกัน แต่ละคอร์จึงสามารถจัดการชุดคำสั่งของตัวเองได้โดยไม่ส่งผลกระทบต่อคอร์อื่น ซึ่งหมายความว่า ยิ่งโปรเซสเซอร์คอมพิวเตอร์มีแกนประมวลผลมากเท่าใด ก็ยิ่งสามารถดำเนินการงานพร้อมกันได้มากขึ้นเท่านั้น
CPU แบบคอร์เดียวใช้พลังงานน้อยกว่ามากและอาจเพียงพอสำหรับงานประจำวัน เช่น การท่องเว็บ แต่เนื่องจากมีความสามารถด้านประสิทธิภาพที่จำกัด พวกเขาจึงได้รับความนิยมน้อยลงเรื่อยๆ แม้ว่าคุณอาจยังพบสิ่งเหล่านี้ได้ในระบบรุ่นเก่าบางระบบ แต่ CPU แบบซิงเกิลคอร์นั้นส่วนใหญ่ล้าสมัยในตลาดปัจจุบัน
โดยทั่วไปแล้ว คอมพิวเตอร์ในชีวิตประจำวันจะมีแกน CPU สอง, สี่, แปดหรือ 16 แกน จำนวนคอร์ที่สูงที่สุดใน CPU ที่มุ่งเน้นผู้บริโภคในตลาดคือ 64 ตัว โปรเซสเซอร์ที่มีเป้าหมายไปที่ศูนย์ข้อมูลและเซิร์ฟเวอร์ระดับองค์กรสามารถบรรจุแกนประมวลผลได้มากขึ้นอีก ตัวอย่างเช่น โปรเซสเซอร์ AMD EPYC 9654 มีคอร์มากถึง 96 คอร์
เธรดการประมวลผลคืออะไร?
ในการประมวลผลด้วยคอมพิวเตอร์ เธรด (หรือเธรดการดำเนินการ) หมายถึงแต่ละงานหรือสายงานที่ CPU ประมวลผล แต่ละเธรดถือเป็นลำดับที่เล็กที่สุดของคำสั่งที่ตั้งโปรแกรมไว้ซึ่งระบบปฏิบัติการของคุณสามารถจัดการได้อย่างอิสระ อาจเป็นอะไรก็ได้ตั้งแต่การบูทโปรแกรมหรือบันทึกไฟล์
แกน CPU ของคุณมีหน้าที่ในการประมวลผลเธรดเหล่านี้ ใน CPU ใดๆ แต่ละคอร์สามารถดำเนินการได้อย่างน้อยครั้งละหนึ่งเธรด ดังที่ได้กล่าวไปแล้ว การมีคอร์มากขึ้นส่งผลให้มีความสามารถในการทำงานหลายอย่างพร้อมกันได้ดีขึ้น แต่ความสามารถในการจัดการเธรดจำนวนมากขึ้นก็สามารถให้ผลลัพธ์เดียวกันได้เช่นกัน
การทราบถึงความแตกต่างในความสามารถของเธรดและคอร์ ควบคู่ไปกับการทำความเข้าใจบทบาทใน CPU ของคุณ สามารถช่วยให้คุณตัดสินใจเลือกสิ่งที่ดีที่สุดสำหรับความต้องการของคุณได้
มัลติเธรดคืออะไร?
ตามที่คุณสามารถเดาได้ การส่งเธรดเดียวไปยังชิปโปรเซสเซอร์ รอให้งานเสร็จสิ้นแล้วส่งเธรดถัดไปอาจใช้เวลานานมาก ด้วยเหตุนี้ วิศวกรคอมพิวเตอร์จึงพัฒนาวิธีการและกลยุทธ์ที่แตกต่างกันเพื่อประมวลผลเธรดได้มากขึ้นโดยใช้เวลาน้อยลง
วิธีแก้ปัญหาที่ตรงไปตรงมาที่สุดคือการแยกเธรดออกเป็นเธรดที่เล็กลง และให้ CPU รันเธรดพร้อมกัน สิ่งนี้เรียกว่า “มัลติเธรด” (เพื่อไม่ให้เข้าใจผิดกับมัลติเธรดพร้อมกันหรือชั่วคราว). โปรแกรมสามารถถูกเธรดแบบเบาหรือหนักได้ ขึ้นอยู่กับวิธีการพัฒนา
แนวคิดในการบูรณาการกลยุทธ์มัลติเธรดต่างๆ ย้อนกลับไปในยุค 50 แต่จนกระทั่งช่วงปลายทศวรรษที่ 90 Intel ได้ใช้เทคโนโลยีที่เรียกว่า Simultaneous Multithreading (SMT) เพื่อพัฒนาเทคนิคมัลติเธรดที่ใช้ฮาร์ดแวร์สำหรับคอมพิวเตอร์เดสก์ท็อป Intel ขนานนามฟังก์ชันการทำงาน เทคโนโลยีไฮเปอร์เธรดดิ้ง และเปิดตัวในชิปโปรเซสเซอร์เดสก์ท็อป Intel Pentium 4 ในปี 2545
ด้วย Hyper-Threading ของ Intel เธรดสูงสุดสองเธรดสามารถใช้ทรัพยากรเดียวกันของคอร์ CPU เพื่อทำงานที่ต้องการได้ กล่าวอีกนัยหนึ่ง คุณแทบจะสามารถเข้าถึง "คนงาน" ที่สามารถทำงานมอบหมายของคุณได้เป็นสองเท่า อย่างไรก็ตาม แต่ละกลุ่มของพนักงานสองคนใช้ทรัพยากรร่วมกัน
ไฮเปอร์เธรดดิ้ง: ข้อดีข้อเสีย
ประโยชน์หลักของ Hyper-Threading คือเพิ่มประสิทธิภาพของระบบได้อย่างมากโดยการใช้ทรัพยากรการประมวลผลที่มีอยู่มากขึ้น อย่างไรก็ตาม ในบางกรณี อาจยังต้องการเธรดเดียว
ในกรณีส่วนใหญ่ โดยเฉพาะอย่างยิ่งในระหว่างการทำงานหลายอย่างพร้อมกันในแต่ละวัน แกน CPU ของคอมพิวเตอร์ของคุณจะไม่ถูกใช้งานจนเต็ม นั่นหมายความว่ายังมีพื้นที่สำหรับการประมวลผลเพิ่มเติมที่จะเกิดขึ้น Hyper-Threading ปลดล็อกพลังการประมวลผลที่ไม่ได้ใช้ในแกน CPU เพื่อรันเธรดอื่นๆ ดังนั้นจึงได้รับประสบการณ์ที่มีประสิทธิภาพมากขึ้นในการใช้ศักยภาพสูงสุดของ CPU
แม้ว่า Hyper-Threading จะมีข้อได้เปรียบ แต่ Hyper-Threading ก็มีข้อเสียที่ชัดเจนเช่นกัน ข้อเสียเปรียบหลักคือการใช้พลังงานเพิ่มขึ้น เมื่อเปรียบเทียบกับชิปที่ใช้ ARM แล้ว โปรเซสเซอร์ Intel มีชื่อเสียงในด้านการใช้แล็ปท็อปเป็นจำนวนมาก และ Hyper-Threading ก็เป็นสาเหตุหนึ่ง
ด้วยการดึงพลังงานไปยังโปรเซสเซอร์มากขึ้น Hyper-Threading ส่งผลให้เกิดอุณหภูมิสูงและการควบคุมความร้อน โดยที่ CPU จะช้าลงเพื่อป้องกันความร้อนสูงเกินไป นอกจากนี้ อุปกรณ์พกพาที่มีซีพียู Intel ดังกล่าวยังต้องการระบบระบายความร้อนที่เทอะทะ ซึ่งสามารถเพิ่มน้ำหนักและสัดส่วนของอุปกรณ์ได้อย่างมาก
สุดท้ายนี้ เนื่องจากการเพิ่มประสิทธิภาพนั้นขึ้นอยู่กับแอพพลิเคชั่นอย่างมาก ดังนั้นโปรแกรมเมอร์จึงอยู่ในมือของโปรแกรมเมอร์ในการออกแบบแอพพลิเคชั่นที่ใช้เทคโนโลยี Hyper-Threading สิ่งนี้จะเพิ่มความท้าทายในการพัฒนาโปรแกรมที่เพิ่มประสิทธิภาพสูงสุด นอกจากนี้ ซอฟต์แวร์ที่ไม่รองรับ Hyper-Threading อาจไม่ทำงานได้อย่างราบรื่นภายใต้สภาวะที่ต้องใช้โปรเซสเซอร์มาก
Cores มากกว่ากับ Threads: อันไหนดีกว่ากัน?
เนื่องจากมันขึ้นอยู่กับโปรแกรมที่คุณตั้งใจจะใช้อย่างมาก จึงเป็นเรื่องยากที่จะถือว่าโปรแกรมหนึ่งสำคัญกว่าโปรแกรมอื่นในทุกกรณี โดยทั่วไปจำนวนคอร์ที่มากขึ้นจะแปลเป็นทรัพยากรที่มีอยู่มากขึ้น ในทางกลับกัน เธรดที่มากขึ้นอาจส่งผลให้มีความสามารถในการทำงานหลายอย่างพร้อมกันได้ดีขึ้น แม้ว่าจะไม่เสมอไปก็ตาม
สำหรับโปรแกรมที่มีเธรดจำนวนมาก การมีเธรดจำนวนมากขึ้นสำหรับคอร์ CPU โดยเฉพาะมักจะส่งผลให้มีการดำเนินการที่ดีขึ้นและเร็วขึ้น ในทางกลับกัน โปรแกรมที่ปรับให้เหมาะสมสำหรับสถาปัตยกรรมหลักของ CPU แบบเธรดเดี่ยวอาจแสดงประสิทธิภาพที่ลดลงเมื่อเปิดใช้งาน Hyper-Threading บน CPU
ดังที่ได้กล่าวไปแล้ว บางคนสังเกตเห็นว่าเกมหลายเกม ทั้งเก่าและใหม่ ทำงานได้ดีขึ้นอย่างมากเมื่อปิด Hyper-Threading ตัวอย่างเช่น ผู้ใช้ Reddit อ้างว่าเขาเห็นเกี่ยวกับ FPS เพิ่มขึ้น 30% ในเกมส่วนใหญ่เมื่อเขาปิดการใช้งาน Hyper-Threading บนซีพียู Intel Core i9 ของเขา
หลายปีที่ผ่านมา Intel ครองตลาด CPU ในแล็ปท็อปและคอมพิวเตอร์เดสก์ท็อปด้วยชิปที่ให้เธรดมากกว่าคอร์ถึงสองเท่า ต้องขอบคุณ Hyper-Threading อย่างไรก็ตาม คู่แข่งบางรายเพิ่งเริ่มทำงานกับสถาปัตยกรรม CPU ที่แตกต่างกัน ซึ่งพิสูจน์แล้วว่ามีประสิทธิภาพมากกว่าอย่างไม่น่าเชื่อในขณะที่นำเสนอแกน CPU แบบเธรดเดียว
ตัวอย่างเช่น Apple Silicon เป็นซีรีส์ชิปที่ใช้ ARM ซึ่งพิสูจน์แล้วว่าประหยัดพลังงานมากกว่ารุ่นที่ใช้ Intel ในคอมพิวเตอร์รุ่นล่าสุดของ Apple อย่างเห็นได้ชัด นอกจากนี้ แล็ปท็อป Windows ใหม่หลายรุ่น รวมถึง Microsoft Surface Pro 11 ได้เปลี่ยนมาใช้โปรเซสเซอร์ ARM เพื่ออายุการใช้งานแบตเตอรี่และประสิทธิภาพที่ดีขึ้นสำหรับการใช้งานในชีวิตประจำวัน ชิปที่ใช้ ARM ทั้งหมดนี้มาพร้อมกับคอร์แบบเธรดเดียว
ทุกสิ่งที่พิจารณาแล้ว การมีเธรดมากขึ้นไม่ได้แปลว่า CPU มีประสิทธิภาพดีขึ้นเสมอไป อย่างไรก็ตาม การมีคอร์มากขึ้นจะเป็นปัจจัยกำหนดความสามารถของโปรเซสเซอร์ในการจัดการคำสั่งที่ซับซ้อนและต้องใช้ทรัพยากรโดยตรงมากขึ้น
มีปัจจัยอื่นใดอีกบ้างที่เป็นตัวกำหนดประสิทธิภาพของ CPU
เราได้กล่าวถึงความแตกต่างของแกนประมวลผลและเธรดในคอมพิวเตอร์แล้ว อย่างไรก็ตาม นั่นไม่ใช่ปัจจัยเดียวที่กำหนดเอาท์พุตสุดท้ายของ CPU ของคุณ
ความเร็วสัญญาณนาฬิกา (หรือ "อัตรานาฬิกา" หรือเรียกง่ายๆ ว่า "ความถี่") เป็นหนึ่งในตัวสร้างความแตกต่างหลักในโปรเซสเซอร์คอมพิวเตอร์ กล่าวโดยสรุป ความเร็วสัญญาณนาฬิกาจะวัดว่า CPU สามารถทำได้กี่รอบต่อวินาที ตัวอย่างเช่น โปรเซสเซอร์ที่มีความเร็วสัญญาณนาฬิกา 3.2 GHz สามารถประมวลผล 3.2 พันล้านรอบต่อวินาที
พารามิเตอร์อื่นที่ต้องพิจารณาคือหน่วยความจำแคชของ CPU แคช CPU คือหน่วยความจำความเร็วสูงที่จัดเก็บข้อมูลที่เข้าถึงบ่อย แคชที่ใหญ่ขึ้นและเร็วขึ้นจะเร่งความสามารถของ CPU ในการทำงานที่ต้องมีการเข้าถึงข้อมูลบ่อยครั้ง
โปรเซสเซอร์คอมพิวเตอร์ถูกสร้างขึ้นโดยใช้กระบวนการผลิตนาโนเมตร (นาโนเมตร) (เช่น 7 นาโนเมตรหรือ 5 นาโนเมตร) โหนดที่เล็กลงหมายถึงสามารถใส่ทรานซิสเตอร์บนชิปได้มากขึ้น ส่งผลให้มีประสิทธิภาพและประสิทธิภาพในการใช้พลังงานมากขึ้น เนื่องจากสัญญาณเดินทางในระยะทางสั้นลง จึงต้องใช้เวลาและพลังงานน้อยลง
ปัจจัยอื่นๆ เช่น IPC (คำสั่งต่อรอบ) ความเร็วบัส และพลังการออกแบบการระบายความร้อน ยังมีบทบาทต่อประสิทธิภาพที่คุณสามารถบีบออกจาก CPU ได้อีกด้วย
ก่อนที่จะสรุป ผมขอแนะนำให้คุณรู้จักกับประสิทธิภาพสูงของเรา คลาวด์ VPS ที่คลาวด์ซี่ เรานำเสนอ CPU ความเร็วสูงระดับ 3.2 และ 4.2 GHz, พื้นที่จัดเก็บ NVMe, แบนด์วิดท์สูง และการเชื่อมต่อสูงสุด 10Gbps หากคุณกำลังมองหาเครื่องเสมือนที่แข็งแกร่ง อย่าลืมตรวจสอบแผน VPS ของเราเพื่อความน่าเชื่อถือและความเร็วที่ไม่มีใครเทียบได้!
ต้องการ Cloud VPS ที่มีประสิทธิภาพสูงหรือไม่? รับของคุณวันนี้และจ่ายเฉพาะสิ่งที่คุณใช้กับ Cloudzy เท่านั้น!
เริ่มต้นที่นี่ความคิดสุดท้าย: เธรดกับคอร์
เมื่อพูดถึงประสิทธิภาพของคอมพิวเตอร์ CPU คือแผนกหลักที่รับผิดชอบในการรันโปรแกรม แกน CPU คือหน่วยทางกายภาพใน CPU สำหรับการประมวลผลงาน โดยทั่วไปแล้ว CPU จะมีหลายคอร์ โดยแต่ละคอร์จะดำเนินการอย่างน้อยหนึ่งเธรด
เธรดมักหมายถึงลำดับคำสั่งที่เล็กที่สุดที่ส่งไปยังคอร์ CPU ที่จะประมวลผล CPU แต่ละคอร์สามารถรองรับเธรดได้อย่างน้อยครั้งละหนึ่งเธรด ในโปรเซสเซอร์ที่มี Hyper-Threading จำนวนนั้นจะเพิ่มขึ้นเป็นสอง ซึ่งหมายความว่าสองเธรดสามารถใช้ทรัพยากรของคอร์พร้อมกันเพื่อดำเนินงานที่แตกต่างกันได้
แม้ว่าคอร์ที่รองรับเทคโนโลยี SMT จะสามารถรองรับเธรดได้มากกว่าหนึ่งเธรดในแต่ละครั้ง และให้การทำงานหลายอย่างพร้อมกันที่ดีกว่าในทางทฤษฎี แต่ก็ไม่ได้แปลเป็นการเพิ่มเอาต์พุตการประมวลผลโดยตรงเสมอไป
คำถามที่พบบ่อย
จะดีกว่าไหมที่จะมีคอร์และเธรดมากกว่า?
ขึ้นอยู่กับโปรแกรมที่คุณต้องการใช้ โดยทั่วไปแอปพลิเคชันที่มีเธรดจำนวนมากจะทำงานได้ดีกว่าเมื่อมีเธรดมากขึ้น ในขณะที่บางโปรแกรมอาจทำงานได้ดีกว่าบนคอร์แบบเธรดเดียว อย่างไรก็ตาม จำนวนแกนประมวลผลที่มากขึ้นส่งผลให้ประสิทธิภาพของ CPU เพิ่มขึ้นโดยตรงมากขึ้น
ในคอร์มีกี่เธรด?
ใน Intel CPU ส่วนใหญ่ในปัจจุบัน แต่ละคอร์สามารถรองรับเธรดได้ครั้งละสองเธรด ด้วยเทคโนโลยีที่เรียกว่า Hyper-Threading แต่นั่นไม่ใช่กรณีของชิปโปรเซสเซอร์ทั้งหมด ตัวอย่างเช่น CPU ที่ใช้ ARM จะมีหนึ่งเธรดต่อคอร์
ความแตกต่างระหว่างคอร์และโปรเซสเซอร์คืออะไร?
คอร์คือหน่วยประมวลผลทางกายภาพภายในโปรเซสเซอร์คอมพิวเตอร์ (CPU) ภายในโปรเซสเซอร์ สามารถมีหลายคอร์ได้ ซึ่งเป็นหน่วยประมวลผลเดี่ยวที่สามารถดำเนินการคำสั่งได้อย่างอิสระ