CISC และ RISC ต่างกันอย่างไร


ตอบ 1:

RISC โดยทั่วไปจะเป็น "ร้านโหลด" ถึง / จากการลงทะเบียน โดยทั่วไปมีการลงทะเบียนสามรายการเช่น ADD R1 = R2 + R3 การโหลดและการจัดเก็บอาจหรืออาจไม่ใช่ข้อยกเว้นสำหรับการลงทะเบียนเพียงสองครั้งที่ใช้ในการเรียนการสอน

โดยทั่วไปแล้ว CISC อนุญาตให้คำนวณด้วยค่าจากที่อยู่หน่วยความจำโดยไม่จำเป็นต้องทำการลงทะเบียนก่อน นอกจากนี้ยังอาจมีโหมดการกำหนดแอดเดรส (ซับซ้อน) มากขึ้นซึ่งอนุญาตการลงทะเบียนตั้งแต่หนึ่งครั้งขึ้นไปสำหรับการสร้างที่อยู่

โดยทั่วไปแล้ว CISC เป็นแบบสองตัวถูกดำเนินการด้วยเช่นเพิ่มที่มีการลงทะเบียนเดียวกัน (หรือที่อยู่หน่วยความจำ) ที่ใช้สำหรับปลายทาง แต่ยังใช้เหมือนกันสำหรับหนึ่งในแหล่งที่มา

สิ่งนี้เคยเป็นเรื่องใหญ่และ RISC เดินสายและ CISC โดยใช้ไมโครโค้ด

ตอนนี้ microarchiteture สำหรับ CISC อย่างน้อย x86 (ถ้าไม่ใช่ CISC ทั้งหมดที่ใช้งานซึ่งหมายความว่า IBM mainframes CISC เดียวที่ยังมีชีวิตรอดอื่น ๆ เท่านั้นไมโครคอนโทรลเลอร์อาจเป็นข้อยกเว้น) แบ่งคำสั่งให้แบ่งเป็น microops (การดำเนินการแบบ micro / RISC) - ลำดับแตกต่างจากไมโครโค้ดดั้งเดิม

RISC อาจทำเช่นนั้นเช่น ARM รุ่นใหม่กว่า (ไม่ใช่ตอนแรก) ดังนั้นความแตกต่างจึงน้อยกว่าที่เคยเป็น

ARM ดั้งเดิมไม่มีคำสั่งการหารจำนวนเต็มเนื่องจากมันซับซ้อนเกินไป ตอนนี้ [ความซับซ้อน] ที่ลดลงสำหรับ R ใน RISC ใช้งานน้อยลงเนื่องจากจุดลอยตัวมีความซับซ้อนโดยเนื้อแท้และ RISC ซีพียูที่สำคัญทั้งหมดรองรับแม้กระทั่งรากที่สองและคำแนะนำเกี่ยวกับตรีโกณมิติ


ตอบ 2:

CISC ได้รับการปรับให้เหมาะสมสำหรับการทำงานให้มากที่สุดเท่าที่จะทำได้จากขนาดคำสั่งที่กำหนด นี่เป็นเพราะ CPU ไม่มีแคชในตอนนั้นและการอ่านคำแนะนำจากหน่วยความจำอาจใช้เวลาหลายรอบดังนั้นคำสั่งที่ซับซ้อนที่มีการเปลี่ยนแปลงหลายสถานะจึงไม่เป็นปัญหาตราบใดที่กะทัดรัด

RISC ได้รับการปรับให้เหมาะสมสำหรับ CPU ที่ * do * มีแคชคำสั่งและการเปลี่ยนแปลงคอขวด: แคชสามารถให้ข้อมูล 64 และ 128 บิตทุกรอบ - ตราบใดที่มันถูกจัดตำแหน่ง ทันใดนั้นคุณสามารถเรียกใช้ 1 หรือ 2 คำสั่งต่อรอบตราบใดที่ไม่มีการพึ่งพาดังนั้นคำแนะนำที่สะอาดที่ทำให้การเปลี่ยนสถานะเดียวกลายเป็นวิธีที่เร็วขึ้น


ตอบ 3:

CISC ได้รับการปรับให้เหมาะสมสำหรับการทำงานให้มากที่สุดเท่าที่จะทำได้จากขนาดคำสั่งที่กำหนด นี่เป็นเพราะ CPU ไม่มีแคชในตอนนั้นและการอ่านคำแนะนำจากหน่วยความจำอาจใช้เวลาหลายรอบดังนั้นคำสั่งที่ซับซ้อนที่มีการเปลี่ยนแปลงหลายสถานะจึงไม่เป็นปัญหาตราบใดที่กะทัดรัด

RISC ได้รับการปรับให้เหมาะสมสำหรับ CPU ที่ * do * มีแคชคำสั่งและการเปลี่ยนแปลงคอขวด: แคชสามารถให้ข้อมูล 64 และ 128 บิตทุกรอบ - ตราบใดที่มันถูกจัดตำแหน่ง ทันใดนั้นคุณสามารถเรียกใช้ 1 หรือ 2 คำสั่งต่อรอบตราบใดที่ไม่มีการพึ่งพาดังนั้นคำแนะนำที่สะอาดที่ทำให้การเปลี่ยนสถานะเดียวกลายเป็นวิธีที่เร็วขึ้น