บทเรียนที่ 1: การจำแนกตามสถาปัตยกรรมชุดคำสั่ง (ISA) – RISC (Reduced Instruction Set Computer)
แนวคิดพื้นฐานของ ISA
ISA (Instruction Set Architecture) คือชุดคำสั่งที่โปรเซสเซอร์เข้าใจและสามารถปฏิบัติงานได้ ซึ่งเปรียบเสมือนภาษากลางระหว่างซอฟต์แวร์และฮาร์ดแวร์ การจำแนก ISA ที่สำคัญคือ CISC (Complex Instruction Set Computer) และ RISC (Reduced Instruction Set Computer) โดยในบทนี้เราจะเจาะลึกถึง RISC ซึ่งเป็นหัวใจของอุปกรณ์พกพาอย่างสมาร์ทโฟนและแท็บเล็ต
RISC คืออะไร?
RISC ย่อมาจาก Reduced Instruction Set Computer แปลว่า คอมพิวเตอร์ที่มีชุดคำสั่งแบบลดทอน หลักการสำคัญคือการออกแบบให้มีคำสั่งที่เรียบง่าย จำนวนน้อย แต่ทำงานได้เร็ว โดยแต่ละคำสั่งจะใช้เวลาเพียง 1 รอบสัญญาณนาฬิกา (Clock Cycle) ซึ่งแตกต่างจาก CISC ที่มีคำสั่งซับซ้อนและใช้หลายรอบ
ข้อสังเกตสำคัญ: RISC ไม่ได้หมายความว่ามีคำสั่งน้อยในแง่ของฟังก์ชันการทำงาน แต่หมายถึงคำสั่งแต่ละคำสั่งมีขนาดเล็กและทำงานพื้นฐานเท่านั้น ทำให้ฮาร์ดแวร์ออกแบบได้ง่ายและประหยัดพลังงาน
หลักการออกแบบของ RISC
- คำสั่งมีขนาดคงที่: คำสั่งของ RISC มักมีความยาวเท่ากัน (เช่น 32 บิต) ทำให้การถอดรหัส (Decoding) ทำได้รวดเร็วและง่ายดาย
- รูปแบบคำสั่งสม่ำเสมอ: ทุกคำสั่งใช้รูปแบบเดียวกัน เช่น คำสั่งทางคณิตศาสตร์จะทำงานกับรีจิสเตอร์เท่านั้น ไม่สามารถเข้าถึงหน่วยความจำโดยตรง
- จำกัดโหมดการกำหนดแอดเดรส: RISC มีโหมดการกำหนดแอดเดรสน้อยมาก (เช่น แค่ Register direct และ Immediate) เพื่อลดความซับซ้อน
- ใช้รีจิสเตอร์จำนวนมาก: RISC มีรีจิสเตอร์ภายในโปรเซสเซอร์จำนวนมาก (เช่น 32 ตัว) เพื่อลดการเข้าถึงหน่วยความจำที่ช้า
- ใช้เทคนิค Pipelining ได้ดี: เนื่องจากคำสั่งสั้นและสม่ำเสมอ การทำ Pipelining (การทำงานแบบสายพานลำเลียง) จึงมีประสิทธิภาพสูง
ตัวอย่างสถาปัตยกรรม RISC: ARM
ARM (Advanced RISC Machine) เป็นสถาปัตยกรรม RISC ที่ได้รับความนิยมสูงสุดในโลก โดยเฉพาะในอุปกรณ์พกพา เช่น สมาร์ทโฟน แท็บเล็ต และไมโครคอนโทรลเลอร์
คุณสมบัติเด่นของ ARM
- ประหยัดพลังงาน: ออกแบบมาเพื่อใช้พลังงานต่ำ เหมาะกับอุปกรณ์ที่ใช้แบตเตอรี่
- ประสิทธิภาพสูงต่อวัตต์: สามารถทำงานได้ดีในขณะที่ใช้พลังงานน้อย
- ระบบนิเวศที่แข็งแกร่ง: มีซอฟต์แวร์และเครื่องมือพัฒนามากมาย
- ความยืดหยุ่น: ARM Holdings อนุญาตให้บริษัทอื่นออกแบบชิปของตนเองโดยใช้สถาปัตยกรรม ARM ได้ (เช่น Apple, Qualcomm, Samsung)
ตัวอย่างคำสั่ง ARM แบบง่าย
| คำสั่ง | ความหมาย | คำอธิบาย |
|---|---|---|
ADD R1, R2, R3 |
R1 = R2 + R3 | บวกค่าจากรีจิสเตอร์ R2 และ R3 เก็บใน R1 |
SUB R4, R5, #10 |
R4 = R5 - 10 | ลบค่ารีจิสเตอร์ R5 ด้วยค่าคงที่ 10 |
LDR R6, [R7] |
R6 = หน่วยความจำที่ R7 ชี้ | โหลดค่าจากที่อยู่ที่เก็บใน R7 |
STR R8, [R9] |
หน่วยความจำที่ R9 ชี้ = R8 | เก็บค่า R8 ไปยังที่อยู่ที่ R9 ชี้ |
BNE label |
ถ้าไม่เท่ากับศูนย์ ให้กระโดดไปที่ label | ใช้สำหรับควบคุมการทำงานแบบมีเงื่อนไข |
ตัวอย่างการทำงานเปรียบเทียบ RISC กับ CISC
สมมติว่าต้องการคำนวณ A = B + C โดยที่ B และ C อยู่ในหน่วยความจำ
ใน CISC (เช่น x86):
MOV EAX, [B] ; โหลดค่า B
ADD EAX, [C] ; บวกค่า C โดยตรงจากหน่วยความจำ
MOV [A], EAX ; เก็บผลลัพธ์
(ใช้ 3 คำสั่ง แต่ละคำสั่งซับซ้อน ใช้หลายรอบสัญญาณนาฬิกา)
ใน RISC (เช่น ARM):
LDR R0, [B] ; โหลดค่า B
LDR R1, [C] ; โหลดค่า C
ADD R2, R0, R1 ; บวกค่าในรีจิสเตอร์
STR R2, [A] ; เก็บผลลัพธ์
(ใช้ 4 คำสั่ง แต่ละคำสั่งง่าย ใช้ 1 รอบสัญญาณนาฬิกา)
แม้ RISC จะใช้คำสั่งมากกว่า แต่เนื่องจากแต่ละคำสั่งทำงานเร็วและสามารถทำ Pipelining ได้อย่างมีประสิทธิภาพ ทำให้โดยรวมแล้ว RISC มักจะทำงานได้เร็วกว่าและประหยัดพลังงานมากกว่า
ข้อดีของ RISC
- ประสิทธิภาพการใช้พลังงานสูง: เหมาะกับอุปกรณ์พกพา
- ออกแบบฮาร์ดแวร์ง่าย: ทำให้ต้นทุนการผลิตต่ำ
- Pipelining มีประสิทธิภาพ: คำสั่งสั้นทำให้การทำงานแบบขนานทำได้ดี
- เวลาในการพัฒนาโปรเซสเซอร์สั้นลง: เนื่องจากความซับซ้อนที่ลดลง
ข้อเสียของ RISC
- จำนวนคำสั่งที่มากขึ้น: โปรแกรมอาจมีขนาดใหญ่กว่า CISC เล็กน้อย
- ต้องอาศัยคอมไพเลอร์ที่มีประสิทธิภาพ: การจัดการรีจิสเตอร์และการจัดลำดับคำสั่งต้องอาศัยซอฟต์แวร์ที่ดี
- ไม่เหมาะกับงานที่ต้องใช้คำสั่งซับซ้อนมาก: เช่น การเข้ารหัสบางประเภทที่ CISC มีคำสั่งเฉพาะ
การประยุกต์ใช้ RISC ในปัจจุบัน
- สมาร์ทโฟนและแท็บเล็ต: ใช้ชิป ARM เช่น Snapdragon, Apple A-series, MediaTek
- ไมโครคอนโทรลเลอร์: ARM Cortex-M ใช้ในระบบฝังตัว (Embedded Systems) เช่น รถยนต์ เครื่องใช้ไฟฟ้า
- เซิร์ฟเวอร์: AWS Graviton ใช้ ARM สำหรับคลาวด์คอมพิวติ้ง
- ซูเปอร์คอมพิวเตอร์: Fugaku ของญี่ปุ่นใช้ชิป ARM A64FX
สรุป
RISC เป็นสถาปัตยกรรมที่เน้นความเรียบง่ายของคำสั่ง ทำให้โปรเซสเซอร์ทำงานได้เร็ว ประหยัดพลังงาน และออกแบบได้ง่าย ตัวอย่างที่ชัดเจนคือ ARM ซึ่งครองตลาดอุปกรณ์พกพา การเข้าใจ RISC จะช่วยให้คุณมองเห็นภาพของเทคโนโลยีที่อยู่รอบตัวเรา ตั้งแต่สมาร์ทโฟนไปจนถึงศูนย์ข้อมูลขนาดใหญ่