ScholarGate
ผู้ช่วย

RISC และ CISC

RISC และ CISC เป็นชื่อที่ใช้เรียกปรัชญาการออกแบบชุดคำสั่งที่แตกต่างกันสองแบบ: คอมพิวเตอร์ชุดคำสั่งแบบลดทอน (reduced instruction set computers) นิยมใช้ชุดคำสั่งขนาดเล็กที่เรียบง่าย เป็นมาตรฐาน และทำงานระหว่างรีจิสเตอร์กับรีจิสเตอร์ ในขณะที่คอมพิวเตอร์ชุดคำสั่งแบบซับซ้อน (complex instruction set computers) นำเสนอชุดคำสั่งที่ทรงพลังและมีความยาวผันแปรได้จำนวนมาก ซึ่งสามารถทำงานได้มากขึ้นต่อหนึ่งคำสั่ง

ค้นหาหัวข้อด้วย PaperMindเร็ว ๆ นี้Find papers & topics
Tools & resources
ดาวน์โหลดสไลด์
Learn & explore
วิดีโอเร็ว ๆ นี้

Definition

RISC (reduced instruction set computer) เป็นปรัชญาการออกแบบที่เน้นชุดคำสั่งขนาดเล็กที่เรียบง่าย มีรูปแบบคงที่ และดำเนินการในรูปแบบโหลด-จัดเก็บ (load-store model); CISC (complex instruction set computer) เน้นชุดคำสั่งขนาดใหญ่ขึ้นที่ทรงพลังกว่า มักมีความยาวผันแปรได้ รวมถึงการดำเนินการแบบหน่วยความจำต่อหน่วยความจำ (memory-to-memory operations)

Scope

หัวข้อนี้ครอบคลุมปรัชญาการออกแบบทั้งสองแบบและข้อดีข้อเสียของแต่ละแบบ: ความเรียบง่ายและความสม่ำเสมอของชุดคำสั่งเทียบกับความหลากหลายและความหนาแน่นของโค้ด, หลักการโหลด-จัดเก็บ (load-store discipline) ของ RISC, ข้อดีของการประมวลผลแบบไปป์ไลน์ (pipelining) ของชุดคำสั่งที่เรียบง่าย, และวิธีที่การนำ CISC ประสิทธิภาพสูงในปัจจุบันมาใช้โดยการแปลงคำสั่งที่ซับซ้อนให้เป็นไมโครโอเปอเรชัน (micro-operations) ที่คล้าย RISC ภายในระบบ หัวข้อนี้ไม่รวมถึงการเข้ารหัสระดับบิต (รูปแบบและการเข้ารหัสคำสั่ง) และรายละเอียดการนำไปป์ไลน์ไปใช้ (การทำไปป์ไลน์และอันตรายที่อาจเกิดขึ้น)

Core questions

  • เป้าหมายการออกแบบใดที่กระตุ้นให้ลดชุดคำสั่งให้เหลือเพียงการดำเนินการที่เรียบง่ายและเป็นมาตรฐาน?
  • หลักการโหลด-จัดเก็บ (load-store discipline) แตกต่างจาก RISC และ CISC อย่างไร?
  • เหตุใดคำสั่งที่เรียบง่ายและเป็นมาตรฐานจึงสามารถทำไปป์ไลน์ได้ง่ายกว่า?
  • โปรเซสเซอร์ x86 สมัยใหม่ประนีประนอมชุดคำสั่ง CISC กับการดำเนินการภายในที่คล้าย RISC ได้อย่างไร?

Key concepts

  • ชุดคำสั่งแบบลดทอน
  • ชุดคำสั่งแบบซับซ้อน
  • สถาปัตยกรรมโหลด-จัดเก็บ
  • คำสั่งความยาวคงที่เทียบกับความยาวผันแปร
  • ไมโครโอเปอเรชัน
  • การออกแบบร่วมระหว่างคอมไพเลอร์กับฮาร์ดแวร์
  • ความหนาแน่นของโค้ด

Key theories

ข้อโต้แย้งของ RISC
Patterson และ Ditzel โต้แย้งว่าชุดคำสั่งขนาดเล็กที่เรียบง่าย ซึ่งดำเนินการได้อย่างรวดเร็วและทำไปป์ไลน์ได้อย่างมีประสิทธิภาพด้วยการสนับสนุนคอมไพเลอร์ที่ดี สามารถทำงานได้ดีกว่าชุดคำสั่งที่ซับซ้อนซึ่งมีคำสั่งที่ซับซ้อนซึ่งไม่ค่อยได้ใช้และยากต่อการนำไปใช้งานให้เร็ว

Mechanisms

การออกแบบ RISC ทำให้คำสั่งเรียบง่าย มีความยาวคงที่ และทำงานระหว่างรีจิสเตอร์กับรีจิสเตอร์ โดยมีคำสั่งโหลดและจัดเก็บแยกต่างหากสำหรับหน่วยความจำ; ความสม่ำเสมอเช่นนี้ทำให้การถอดรหัสและการทำไปป์ไลน์เป็นไปอย่างตรงไปตรงมา การออกแบบ CISC มีคำสั่งที่ซับซ้อนและมีความยาวผันแปรได้ ซึ่งสามารถเข้าถึงหน่วยความจำได้โดยตรงและดำเนินการหลายขั้นตอน การนำ CISC สมัยใหม่มาใช้จะถอดรหัสคำสั่งที่ซับซ้อนให้เป็นลำดับของไมโครโอเปอเรชันภายในที่เรียบง่ายกว่า ซึ่งจะถูกดำเนินการโดยแกนประมวลผลที่คล้าย RISC

Clinical relevance

ความแตกต่างระหว่าง RISC/CISC ได้กำหนดแพลตฟอร์มคอมพิวเตอร์ที่โดดเด่น: ARM และ RISC-V เป็นตัวอย่างของหลักการ RISC และเป็นผู้นำในตลาดมือถือ ระบบฝังตัว และเพิ่มขึ้นในตลาดเซิร์ฟเวอร์และแล็ปท็อป ในขณะที่ x86 (สถาปัตยกรรมชุดคำสั่ง CISC ที่มีโครงสร้างภายในคล้าย RISC) เคยครองตลาดพีซีและเซิร์ฟเวอร์มาอย่างยาวนาน การถกเถียงนี้ยังคงมีผลต่อการตัดสินใจเกี่ยวกับประสิทธิภาพการใช้พลังงาน ประสิทธิภาพ และระบบนิเวศของซอฟต์แวร์ในปัจจุบัน

History

แนวคิด RISC เติบโตมาจากการวิจัย IBM 801 และโครงการ Berkeley RISC และ Stanford MIPS ในช่วงต้นทศวรรษ 1980 ซึ่งถูกนำเสนอในบทความของ Patterson และ Ditzel ในปี 1980 แนวคิด RISC แพร่หลายผ่านการออกแบบเชิงพาณิชย์ เช่น SPARC, MIPS, PowerPC และ ARM ในขณะเดียวกัน x86 ก็รอดมาได้ด้วยการนำไมโครโอเปอเรชันภายในที่คล้าย RISC มาใช้ และสถาปัตยกรรมชุดคำสั่ง RISC-V แบบเปิดได้ฟื้นฟูแรงผลักดันสำหรับการออกแบบ RISC ที่สะอาดตา

Debates

ความแตกต่างระหว่าง RISC กับ CISC ยังคงมีความสำคัญหรือไม่?
เนื่องจากชิป CISC สมัยใหม่ดำเนินการภายในเป็นไมโครโอเปอเรชันที่คล้าย RISC และทั้งสองฝ่ายต่างใช้การทำไปป์ไลน์และแคช บางคนโต้แย้งว่าความแตกต่างดั้งเดิมได้หายไปแล้ว; ในขณะที่บางคนยังคงยืนยันว่าความสม่ำเสมอของชุดคำสั่งยังคงส่งผลต่อประสิทธิภาพการถอดรหัส พลังงาน และการตรวจสอบ

Key figures

  • David A. Patterson
  • David R. Ditzel
  • John L. Hennessy
  • John Cocke

Related topics

Seminal works

  • patterson1980risc
  • hennessy2019
  • patterson2020

Frequently asked questions

RISC เร็วกว่า CISC เสมอไปหรือไม่?
ไม่จำเป็นเสมอไป ความเรียบง่ายของ RISC ช่วยให้การทำไปป์ไลน์และอัตราสัญญาณนาฬิกาสูงขึ้นได้ง่ายขึ้น แต่คำสั่ง CISC สามารถทำงานได้มากขึ้นต่อหนึ่งคำสั่ง ในทางปฏิบัติ โปรเซสเซอร์ CISC ประสิทธิภาพสูงจะแปลงคำสั่งเป็นโอเปอเรชันที่คล้าย RISC ดังนั้นประสิทธิภาพที่แท้จริงจึงขึ้นอยู่กับสถาปัตยกรรมไมโครทั้งหมด ไม่ใช่แค่ชื่อ ISA เพียงอย่างเดียว
เหตุใด ARM และ RISC-V จึงถูกเรียกว่าสถาปัตยกรรม RISC?
ทั้งสองใช้ชุดคำสั่งขนาดเล็กที่เรียบง่าย ส่วนใหญ่มีความยาวคงที่ พร้อมด้วยโมเดลหน่วยความจำแบบโหลด-จัดเก็บ และโหมดการระบุตำแหน่งที่จำกัด ซึ่งเป็นคุณสมบัติที่กำหนดปรัชญา RISC ซึ่งทำให้มีประสิทธิภาพในการนำไปใช้งานและเหมาะสมอย่างยิ่งสำหรับการออกแบบที่จำกัดพลังงานและต้องการปริมาณงานสูง

Methods for this concept

Related concepts