CPU Core, Multi-Core, Thread, Core vs Threads, Hyper-Threading
Concurrency หรือ Single Core คืออะไร?
In Operaระบบการทำงานพร้อมกันหมายถึงความสามารถของระบบในการรันโปรแกรมตั้งแต่สองโปรแกรมขึ้นไปในเฟสเวลาที่ทับซ้อนกัน
อย่างที่คุณเห็น ในเวลาใดก็ตาม มีเพียงกระบวนการเดียวในการดำเนินการ ดังนั้น การเกิดขึ้นพร้อมกันจึงเป็นเพียงการประมาณทั่วไปของการประมวลผลแบบขนานจริงเท่านั้น สถานการณ์ประเภทนี้สามารถพบได้ในระบบที่มีโปรเซสเซอร์แบบคอร์เดียว
Parallel Execution หรือ (Multi-Core) คืออะไร?
ในการดำเนินการแบบขนาน งานที่จะดำเนินการโดยกระบวนการจะถูกแบ่งออกเป็นส่วนย่อย และ CPU หลายตัว (หรือหลายคอร์) ประมวลผลแต่ละงานย่อยในเวลาเดียวกันอย่างแม่นยำ
อย่างที่คุณเห็น กระบวนการทั้งหมดกำลังดำเนินการอยู่ ณ เวลาใดก็ตาม ในความเป็นจริง มันเป็นงานย่อยของกระบวนการที่กำลังดำเนินการแบบคู่ขนาน แต่เพื่อความเข้าใจที่ดีขึ้น คุณสามารถเห็นภาพงานเหล่านั้นเป็นกระบวนการได้
ดังนั้นความเท่าเทียมจึงเป็นวิธีที่แท้จริงที่สามารถประมวลผลงานหลาย ๆ งานพร้อมกันได้ สถานการณ์ประเภทนี้สามารถพบได้ในระบบที่มีโปรเซสเซอร์แบบมัลติคอร์ ซึ่งรวมถึงโปรเซสเซอร์เชิงพาณิชย์ที่ทันสมัยเกือบทั้งหมด
ความแตกต่างที่สำคัญ
- แกนหลักจะเพิ่มปริมาณงานที่ทำสำเร็จในแต่ละครั้ง ในขณะที่เธรดปรับปรุงปริมาณงาน และเร่งความเร็วในการคำนวณ
- Cores เป็นส่วนประกอบฮาร์ดแวร์จริงในขณะที่เธรดเป็นส่วนประกอบเสมือนที่จัดการงาน
- คอร์ใช้การสลับเนื้อหาในขณะที่เธรดใช้ CPU หลายตัวในการปฏิบัติการกระบวนการต่างๆ มากมาย
- แกนต้องการเพียงหน่วยประมวลผลสัญญาณในขณะที่เธรดต้องการหน่วยประมวลผลหลายหน่วย
เธรดคืออะไร
เธรดเป็นหน่วยของการดำเนินการกับการเขียนโปรแกรมพร้อมกัน มัลติเธรดเป็นเทคนิคที่ช่วยให้ CPU สามารถรันงานหลายงานจากกระบวนการเดียวในเวลาเดียวกัน เธรดเหล่านี้สามารถดำเนินการทีละรายการในขณะที่แบ่งปันทรัพยากรของตน
มัลติเธรดคืออะไร?
มัลติเธรดดิ้งหมายถึงงานทั่วไปที่รันเธรดการทำงานหลายเธรดภายในระบบปฏิบัติการ ซึ่งอาจรวมถึงกระบวนการระบบหลายกระบวนการ
มัลติเธรดทำงานอย่างไร?
ตัวอย่างเช่น CPU สมัยใหม่ส่วนใหญ่รองรับการทำงานแบบมัลติเธรด แอพง่ายๆ บนสมาร์ทโฟนของคุณสามารถสาธิตการใช้งานแบบสดๆ ให้คุณได้
เมื่อคุณเปิดแอปที่ต้องการดึงข้อมูลบางอย่างจากอินเทอร์เน็ต พื้นที่เนื้อหาของแอปจะถูกแทนที่ด้วยตัวหมุน ซึ่งจะหมุนไปเรื่อยๆ จนกว่าจะดึงข้อมูลและแสดงออกมา
ในพื้นหลังมีสองเธรด:
- หนึ่งดึงข้อมูลจากเครือข่ายและ
- หนึ่งการเรนเดอร์ GUI ที่แสดงสปินเนอร์
เธรดทั้งสองนี้ดำเนินการทีละรายการเพื่อให้เกิดภาพลวงตาของการดำเนินการพร้อมกัน
ซีพียูคอร์คืออะไร?
แกน CPU เป็นส่วนหนึ่งของสิ่งที่เป็นศูนย์กลางของการดำรงอยู่หรือคุณลักษณะของมัน ในทำนองเดียวกันในระบบคอมพิวเตอร์ CPU ก็เรียกอีกอย่างว่าแกนกลาง
โดยทั่วไปมีโปรเซสเซอร์หลักสองประเภท:
- โปรเซสเซอร์แบบคอร์เดียว
- โปรเซสเซอร์แบบมัลติคอร์
ปัญหาหลักของ Single Core คืออะไร?
ส่วนใหญ่มีสองประเด็นเกี่ยวกับ Single Core
- เพื่อดำเนินงานให้เร็วขึ้น คุณต้องเพิ่มเวลาของนาฬิกา
- การเพิ่มเวลานาฬิกาจะเพิ่มการใช้พลังงานและการกระจายความร้อนในระดับที่สูงมาก ซึ่งทำให้โปรเซสเซอร์ไม่มีประสิทธิภาพ
โซลูชันที่มอบให้โดย Multi-Core:
- การสร้างสองคอร์ขึ้นไปบนดายเดียวกันเพื่อเพิ่มพลังการประมวลผล ในขณะเดียวกันก็รักษาความเร็วสัญญาณนาฬิกาให้อยู่ในระดับที่มีประสิทธิภาพ
- โปรเซสเซอร์ที่มีสองคอร์ที่ทำงานด้วยความเร็วที่มีประสิทธิภาพสามารถประมวลผลคำสั่งที่มีความเร็วใกล้เคียงกับโปรเซสเซอร์แบบคอร์เดียว ความเร็วสัญญาณนาฬิกาเป็นสองเท่า แต่กระบวนการมัลติคอร์ใช้พลังงานน้อยกว่า
ประโยชน์ของโปรเซสเซอร์แบบมัลติคอร์
นี่คือข้อดีบางประการของโปรเซสเซอร์แบบมัลติคอร์:
- ทรานซิสเตอร์เพิ่มเติมต่อตัวเลือก
- การเชื่อมต่อที่สั้นลง
- ความจุต่ำกว่า
- วงจรขนาดเล็กสามารถทำงานได้ด้วยความเร็วที่รวดเร็ว
ความแตกต่างระหว่าง Core กับ Threads
พารามิเตอร์ | แกน | Threads |
---|---|---|
คำนิยาม | แกน CPU หมายถึงส่วนประกอบฮาร์ดแวร์ที่แท้จริง | เธรดอ้างถึงองค์ประกอบเสมือนที่จัดการงาน |
กระบวนการ | CPU ถูกป้อนงานจากเธรด ดังนั้น จะเข้าถึงเธรดที่สองเมื่อข้อมูลที่ส่งโดยเธรดแรกไม่น่าเชื่อถือเท่านั้น | วิธีที่ CPU สามารถโต้ตอบกับเธรดต่างๆ นั้นมีหลากหลายรูปแบบ |
การดำเนินงาน | สำเร็จได้ด้วยการดำเนินการสลับกัน | ดำเนินการผ่านการฟ้องร้อง CPU หลายตัว |
ประโยชน์ | เพิ่มปริมาณงานที่ทำสำเร็จในแต่ละครั้ง | ปรับปรุงปริมาณงาน เร่งความเร็วในการคำนวณ |
ใช้ประโยชน์จาก | Core ใช้การสลับเนื้อหา | ใช้ CPU หลายตัวในการปฏิบัติการกระบวนการต่างๆ มากมาย |
จำเป็นต้องมีหน่วยประมวลผล | ต้องใช้หน่วยประมวลผลสัญญาณเท่านั้น | ต้องใช้หน่วยประมวลผลหลายหน่วย |
ตัวอย่าง | เรียกใช้หลายแอปพลิเคชันพร้อมกัน | กำลังรันเว็บครอว์เลอร์บนคลัสเตอร์ |
ไฮเปอร์เธรดดิ้งคืออะไร?
ไฮเปอร์เธรดดิ้งเป็นความพยายามครั้งแรกของ Intel ในการนำการคำนวณแบบขนานมาสู่พีซีของผู้ใช้ ถูกใช้ครั้งแรกกับซีพียูเดสก์ท็อปกับ Pentium 4 ในปี 2002
ในเวลานั้น Pentium 4 มีแกนประมวลผล CPU เพียงแกนเดียวเท่านั้น ดังนั้นจึงทำงานได้เพียงงานเดียวเท่านั้น และไม่สามารถดำเนินการหลายอย่างพร้อมกันได้
CPU ตัวเดียวที่มีไฮเปอร์เธรดดิ้งจะปรากฏเป็น CPU ลอจิกสองตัวสำหรับระบบปฏิบัติการ ในกรณีนี้ CPU จะเป็นตัวเดียว แต่ระบบปฏิบัติการจะถือว่า CPU สองตัวสำหรับแต่ละคอร์ และฮาร์ดแวร์ CPU จะมีชุดทรัพยากรการทำงานชุดเดียวสำหรับแต่ละคอร์ของ CPU
ดังนั้น CPU จึงถือว่ามีแกนประมวลผลจำนวนหลายแกน และระบบปฏิบัติการถือว่ามี CPU สองตัวต่อแกนประมวลผล CPU หนึ่งแกน
สรุป
- เธรดเป็นหน่วยของการดำเนินการกับการเขียนโปรแกรมพร้อมกัน
- มัลติเธรดหมายถึงงานทั่วไปที่รันเธรดการทำงานหลายเธรดภายในระบบปฏิบัติการ
- ปัจจุบัน CPU สมัยใหม่หลายตัวรองรับการทำงานแบบมัลติเธรด
- ไฮเปอร์เธรดดิ้งเป็นความพยายามครั้งแรกของ Intel ในการนำการคำนวณแบบขนานมาสู่พีซีของผู้ใช้
- แกน CPU เป็นส่วนหนึ่งของสิ่งที่เป็นศูนย์กลางของการดำรงอยู่หรือคุณลักษณะของมัน
- ใน, Operaการทำงานพร้อมกันของระบบหมายถึงความสามารถของระบบในการรันโปรแกรมตั้งแต่สองโปรแกรมขึ้นไปในเฟสเวลาที่ทับซ้อนกัน
- ในการดำเนินการแบบขนาน งานที่จะดำเนินการโดยกระบวนการจะถูกแบ่งออกเป็นส่วนย่อย
- ปัญหาหลักของโปรเซสเซอร์แบบ single-core คือเพื่อที่จะดำเนินงานได้เร็วขึ้น คุณจะต้องเพิ่มเวลาสัญญาณนาฬิกา
- Multicore แก้ไขปัญหานี้โดยการสร้างสองคอร์ขึ้นไปบนดายเดียวกันเพื่อเพิ่มพลังการประมวลผล และยังรักษาความเร็วสัญญาณนาฬิกาให้อยู่ในระดับที่มีประสิทธิภาพอีกด้วย
- ประโยชน์ที่ใหญ่ที่สุดของระบบมัลติคอร์คือช่วยให้คุณสร้างทรานซิสเตอร์ได้มากขึ้นต่อตัวเลือก
- แกน CPU หมายถึงส่วนประกอบฮาร์ดแวร์จริง ในขณะที่เธรดอ้างถึงส่วนประกอบเสมือนที่จัดการงานต่างๆ