精简指令集架构 (RISC) –
背后的主要思想是通过使用由几个基本步骤组成的指令集来简化硬件,用于加载、评估和存储操作,就像加载命令将加载数据,存储命令将存储数据一样。
复杂指令集架构 (CISC) –
主要思想是单个指令将执行所有加载、评估和存储操作,就像乘法命令将执行诸如加载数据、评估和存储数据之类的操作一样,因此它很复杂。
两种方法都试图提高 CPU 性能
- RISC:以每个程序的指令数为代价减少每条指令的周期。
- CISC: CISC 方法试图最大限度地减少每个程序的指令数,但代价是每条指令的周期数增加。
早些时候,当使用汇编语言完成编程时,感觉需要让指令完成更多任务,因为汇编编程既乏味又容易出错,因为 CISC 体系结构不断发展,但随着高级语言对汇编语言的依赖减少了 RISC 体系结构占了上风。
RISC的特点——
- 指令更简单,因此指令解码更简单。
- 说明是一个字的不足。
- 指令需要一个时钟周期才能执行。
- 更多的通用寄存器。
- 简单寻址模式。
- 较少的数据类型。
- 流水线可以实现。
CISC的特点——
- 复杂的指令,因此复杂的指令解码。
- 指令大于一个字的大小。
- 指令可能需要一个以上的时钟周期才能执行。
- 随着操作在内存本身中执行,通用寄存器的数量更少。
- 复杂的寻址模式。
- 更多数据类型。
示例 –假设我们必须添加两个 8 位数字:
- CISC 方法:将有一个单一的命令或指令,如 ADD 将执行任务。
- RISC 方法:这里程序员将编写第一个加载命令以将数据加载到寄存器中,然后它将使用合适的运算符,然后将结果存储在所需的位置。
因此,添加操作分为加载、操作、存储部分,因为RISC程序更长,需要更多内存来存储,但由于命令不那么复杂,因此需要更少的晶体管。
区别 –
RISC | CISC |
---|---|
Focus on software | Focus on hardware |
Uses only Hardwired control unit | Uses both hardwired and micro programmed control unit |
Transistors are used for more registers | Transistors are used for storing complex Instructions |
Fixed sized instructions | Variable sized instructions |
Can perform only Register to Register Arithmetic operations | Can perform REG to REG or REG to MEM or MEM to MEM |
Requires more number of registers | Requires less number of registers |
Code size is large | Code size is small |
An instruction execute in a single clock cycle | Instruction takes more than one clock cycle |
An instruction fit in one word | Instructions are larger than the size of one word |