เนื้อหาหลัก Key Topics
- อนุกรมวิธานของ Flynn (Flynn's Taxonomy) จำแนกสถาปัตยกรรมตาม Instruction Stream × Data Stream: SISD (ปกติ), SIMD (เวกเตอร์/GPU), MISD (ไม่พบในทางปฏิบัติ), MIMD (multi-core)
- สถาปัตยกรรมแบบเวกเตอร์ (Vector Architecture) คำสั่งเดียวประมวลผลข้อมูลหลายตัวพร้อมกัน (เช่น บวกอาร์เรย์ 64 ตัวใน 1 คำสั่ง) เหมาะกับงานคำนวณทางวิทยาศาสตร์และสัญญาณ
- GPU และ GPGPU / SIMT วิวัฒนาการจาก Graphics Pipeline สู่ General-Purpose GPU; โมเดล SIMT ให้ thread หลายพันทำงานพร้อมกัน บนหน่วยประมวลผลย่อย (SM/Warp) — ตัวอย่างด้วย CUDA
- SuperScalar Architecture ออก (issue) คำสั่งหลายคำสั่งต่อ clock cycle พร้อมกัน โดยตรวจสอบ data dependency แบบ hardware; CPI < 1 เป็นไปได้ในทางทฤษฎี
- Very Long Instruction Word (VLIW) รวมหลายคำสั่งเป็น "bundle" ใน 1 word กว้างมาก ให้ compiler รับผิดชอบจัดตาราง (schedule) แทน hardware — ลด complexity hardware แต่ขึ้นอยู่กับ compiler มาก
- การสนับสนุนของตัวแปลภาษา (Compiler Support) Loop Unroll (คลี่ loop เพื่อเพิ่มความเป็นอิสระ), Software Pipeline (กระจายคำสั่งข้าม iteration), LLVM IR (ตัวแทนกลางสำหรับการ optimize)
เปรียบเทียบสถาปัตยกรรม Architecture Comparison
SuperScalar — hardware จัดการ dependency, ยืดหยุ่น, แต่วงจรซับซ้อน ·
VLIW — compiler จัดตาราง, hardware เรียบง่าย, แต่ binary ไม่เข้ากันข้ามรุ่น ·
Vector/GPU — เหมาะงาน data-parallel สูง ·
Multi-Core (MIMD) — เพิ่มสมรรถนะด้วย thread-level parallelism
คำสำคัญ Key Terms
Flynn's Taxonomy
SISD / SIMD / MISD / MIMD
สถาปัตยกรรมเวกเตอร์ · Vector Architecture
GPU / GPGPU
SIMT (Single Instruction Multiple Threads)
CUDA
ซูเปอร์สเกลาร์ · SuperScalar
VLIW
การคลี่ลูป · Loop Unroll
ไปป์ไลน์ซอฟต์แวร์ · Software Pipeline
LLVM IR
หลาย Core · Multi-Core