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 ก็เรียกอีกอย่างว่าแกนกลาง

โดยทั่วไปมีโปรเซสเซอร์หลักสองประเภท:

  1. โปรเซสเซอร์แบบคอร์เดียว
  2. โปรเซสเซอร์แบบมัลติคอร์

ปัญหาหลักของ 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 หมายถึงส่วนประกอบฮาร์ดแวร์จริง ในขณะที่เธรดอ้างถึงส่วนประกอบเสมือนที่จัดการงานต่างๆ