เนื้อหาหลัก Key Topics
- วิวัฒนาการของ ISA จาก Accumulator → Stack → Memory-Memory → Register-Memory → Register-Register (RISC) สถาปัตยกรรมแบบ Register-Register ซึ่ง RISC-V ใช้ ช่วยให้ตัวแปลภาษาสร้างโค้ดที่มีประสิทธิภาพสูง
- หมวดคำสั่ง (Instruction Classes) คำสั่งคำนวณ (arithmetic/logic), โหลด/เก็บข้อมูล (load/store), ควบคุมการทำงาน (branch/jump), เรียกโปรแกรมย่อย (call/return)
- การจัดการหน่วยความจำ (Memory Organization) การจัดลำดับข้อมูล Endian (Big-Endian vs. Little-Endian) และ Memory Alignment ส่งผลต่อการอ่าน/เขียนข้อมูลหลายไบต์
- การอ้างอิงเลขที่อยู่ (Addressing Modes) Register, Immediate, Base+Offset, PC-Relative, Indirect — RISC-V ใช้หลักๆ แค่ Register และ Base+Offset เพื่อความเรียบง่าย
- รูปแบบคำสั่ง (Instruction Formats) RISC-V มีรูปแบบ R, I, S, B, U, J ทุกคำสั่งมีขนาด 32 บิต ทำให้ถอดรหัส (decode) ง่ายและสม่ำเสมอ
- การเรียกโปรแกรมย่อยและ Exception/Interrupt Calling convention (RISC-V ABI) กำหนดการส่งผ่านพารามิเตอร์ผ่าน a0–a7 การบันทึก/คืน register และการใช้ stack; Exception เกิดจากเหตุผิดปกติภายใน Interrupt เกิดจากภายนอก
แนวคิดสำคัญ Core Concepts
ISA ที่ดีควรสนับสนุนตัวแปลภาษา (compiler) ให้สร้างโค้ดที่มีประสิทธิภาพสูง
มีรูปแบบที่สม่ำเสมอเพื่อถอดรหัสได้เร็ว และมีชุดคำสั่งที่กะทัดรัดแต่ครบถ้วน
RISC-V ออกแบบตามหลักการ RISC: คำสั่งพื้นฐาน load/store only, รูปแบบคงที่,
operand เป็น register เสมอ
คำสำคัญ Key Terms
RISC / CISC
Register-Register Architecture
การจัดลำดับข้อมูล · Endianness
Little-Endian / Big-Endian
การวางแนวข้อมูล · Memory Alignment
โหมดการอ้างอิง · Addressing Mode
Base+Offset
รูปแบบคำสั่ง · Instruction Format (R/I/S/B/U/J)
ข้อตกลงการเรียกใช้ · Calling Convention / ABI
สแตก · Stack
ข้อยกเว้น · Exception
การอินเทอร์รัปต์ · Interrupt