微型计算机之CISC和RISC

概述

CISC、RISC是指指令集架构的设计方法。更简单地说,它代表了命令方式的不同。CISC是Complex Instruction Set Computer,RISC是Reduce Instruction Set Computer的缩写。CISC可以翻译为“复杂指令集计算机”,RISC可以翻译为“缩小指令集计算机”。

复杂指令是指一个指令执行一系列复杂处理的方式。CISC是一种通过尽可能少的指令来完成各种处理来提高微型计算机性能的计算方法。

相反,缩小命令是一个命令只进行简单处理的命令。但是,每个简单的命令,一个一个的将被快速执行。RISC是一种通过快速执行多个缩小指令来提高微型计算机的总性能的计算方法。

CISC和RISC有各自的优点和缺点,最好根据用途/目的进行选择。

CISC

可以说微型计算机是从CISC微型计算机的概念开始的。1970年左右,微型计算机将计算机和半导体IC结合起来,作为一台紧凑的计算机诞生了。并且,在1970年代后期的计算器全盛时期,在如何制作性能高、方便的计算器的课题下,各种各样的厂商竞相开发了计算效率高的微型计算机。指令的格式和执行时间因各公司的各指令而异。总之,用1个命令进行尽可能的处理。微型计算机诞生后,各厂家的开发者以如何使1个命令高效地工作为目标,进行了开发。但是,在1980年左右,宣布了完全推翻这个概念的微型计算机的方式。那就是RISC微型计算机。

RISC

当执行复杂的命令时,命令的执行时间不能是很短的时间。微型计算机内部的逻辑电路也变得复杂。如果是这样的话,相反,“指令很简单,但是如果让它以高速组合执行多个指令,会不会比CISC微型计算机更有效率的运算呢?”从这个概念中想出的是RISC微型计算机。RISC产生于斯坦福大学,加州大学伯克利分校的研究课程。这是Patterson和Ditzel发布的微型计算机的方式。在那之前的微型计算机中只存在一个命令多做复杂的工作,提高整体效率的想法,所以给了微型计算机相关人员很大的惊喜。
RISC采用了管道的概念,以固定指令的长度。流水线处理是将各种处理分成阶段,进行部分并行处理。显然,可以实现一时钟一指令执行。

ARM公司Cortex-M3采用的3段管道。它由三个步骤组成:“指令读取”、“指令解码(解密和翻译)”和“运算并写入结果”。每个处理都由独立的硬件执行,并执行一个周期一次的处理。实际上执行一条指令需要三个周期,但是每一个周期都会得到一个结果,所以实质就是在一个指令一个周期内执行了这一点。在CISC的情况下,指令长度不固定,执行时间也因每个指令而不同,所以不能得到1个指令1周期的运算结果。

CISC特征

(1)命令格式和命令大小没有规定。
每个指令根据规格设计为最合适的指令格式和大小。因此,每个指令的执行时间是不同的。因为每个命令都追求处理能力,所以命令长度可以不是固定的形式(在这种情况下,流水线处理效率会变差)。
(2)指令的解码是微型ROM方式。
微型ROM方法比随机逻辑方法的处理速度更快,但可以减小逻辑规模,并且可以进行相对复杂的处理。
(3)1个指令是多个时钟周期处理。
一个指令由多个时钟处理。即使需要几个周期,如果一次出现复杂的处理结果,结果就会成为高效的处理方法。

RISC特征

(1)固定长度指令大小。
为了实现1指令的高速处理,即1指令1周期,采用了流水线处理,所以指令大小是固定的。
(2)指令解码是随机逻辑方式。
一个指令的处理并不复杂,但由于需要高速处理,所以采用了随机逻辑。
在微型ROM系统中效率低下。
(3)单一时钟处理。
因为采用流水线处理,所以用单一时钟进行处理。
(4)流水线处理。
如前所述,采用流水线处理,以1指令1时钟执行指令。

CISC和RISC的优缺点

(1)逻辑电路的规模。
在RSIC的情况下,由于指令的处理简单,所以逻辑规模也很小。对于CISC,逻辑规模往往会变大,因为它们复杂。因此,采用微型ROM方式进行对应。
(2)发展期间。
虽然与用户没有直接关系,但RISC的逻辑规模较小,从而减少了微计算机逻辑电路设计所花费的精力和成本。不过,最近自动设计工具很发达,所以即使逻辑规模很大,也可能影响不大。
(3)高性能化。
最近出现了采用CISC和RISC的优点、RISC也采用CISC的优点的微型计算机,不能一概而论哪种方式是高性能的。因此,评价微型计算机的性能的基准的方式、MIPS、DMIPS、COREMARK等的评价结果在各微型计算机中公开,所以在选定时也作为参考。
(4)代码密度。
CISC在一个指令中执行多个处理,RISC使用多个指令,所以如果您想执行相同的处理,则RISC被认为是不利的。然而,ARM公司的Cortex-M系列是RISC的典型产品,旨在通过将16位长指令和32位长指令混合在一起来提高代码效率。
(5)管道故障。
通过分支指令等,管道中断,进入无用的周期,这就叫做管道故障。
管道故障在理论上并不能完全解决。因此,正在设法将危害降到最小。
例如,Cortex-M系列在分支指令的情况下具有预测分支目标的功能,并将管道故障降至最低。

猜你喜欢

转载自blog.csdn.net/qq_18191333/article/details/108003360