← English articles
English · technology · advanced · 176 words · ~1 min

How Modern CPUs Achieve Parallelism

CPU ยุคใหม่บรรลุการประมวลผลแบบขนานได้อย่างไร
How Modern CPUs Achieve Parallelism

Modern processors use pipelining, out-of-order execution, and multi-core design to execute multiple instructions simultaneously.

, , , , .
ไปป์ไลน์ของ CPU แบ่งการประมวลผลคำสั่งออกเป็นขั้นตอนต่าง ๆ ได้แก่ การดึง การถอดรหัส การประมวลผล การเข้าถึงหน่วยความจำ และการเขียนกลับ — โดยประมวลผลคำสั่งใหม่ในแต่ละขั้นตอนทุกรอบสัญญาณนาฬิกา
, .
หมายความว่าคำสั่งหลายรายการอยู่ในระหว่างดำเนินการพร้อมกัน แม้แต่บนคอร์เดียว
: .
การประมวลผลแบบไม่เรียงลำดับก้าวไปอีกขั้น โปรเซสเซอร์จะจัดลำดับคำสั่งที่ไม่ขึ้นกันกันใหม่แบบพลวัต เพื่อไม่ให้การพลาด cache หรือการหารที่ช้าทำให้ทั้งไปป์ไลน์หยุดชะงัก
.
บัฟเฟอร์จัดลำดับใหม่ติดตามคำสั่งที่อยู่ระหว่างดำเนินการและยืนยันผลลัพธ์ตามลำดับโปรแกรมเดิม
, .
ฮิวริสติกส์การทำนายสาขาเดาผลของสาขาเงื่อนไขก่อนที่จะถูกประเมิน ทำให้การประมวลผลแบบคาดเดาสามารถเติมเต็มไปป์ไลน์ได้
, .
การทำนายผิดพลาดจะล้างงานที่คาดเดาไว้และเริ่มต้นใหม่ ซึ่งเป็นสาเหตุหลักของช่องโหว่ Spectre ที่ค้นพบในปี 2018
, .
CPU แบบ multi-core วางคอร์อิสระหลายคอร์บนไดเดียว โดยแต่ละคอร์สามารถรันเธรดแยกกันได้
.
โปรโตคอลความสอดคล้อง เช่น MESI ทำให้คอร์ทั้งหมดมองเห็นหน่วยความจำที่ใช้ร่วมกันอย่างสม่ำเสมอ
, .
ส่วนขยาย SIMD เช่น AVX-512 ช่วยให้คำสั่งเดียวดำเนินการกับเวกเตอร์ 512 บิต ประมวลผลตัวเลขทศนิยมขนาด 32 บิตได้สูงสุดสิบหกตัวในรอบสัญญาณนาฬิกาเดียว
colour key NounVerbAdjectiveAdverbPronounParticleConjunctionDeterminer