微型计算机之CISC和RISC
CISC和RISC
- 概述
- CISC
- RISC
- CISC特征
- RISC特征
- CISC和RISC的优缺点
概述
CISC和RISC是指令集架构设计的代表方法。更直接地说,它们体现了不同类型的命令方式。它们的常见译名分别是'复杂指令集处理器'和'精简指令集处理器'。
复杂指令被定义为一个单一指令实施多个步骤的方式。CISC是一种仅使用少量指令实现多种功能以增强微型计算机性能的技术。
反过来说,简短指令是指那些仅执行基本操作而不具备复杂功能的指令.然而,每一个简单的指令都会逐个高效地处理.而RISC体系结构则通过显著提升了整体运算效率,实现了在微型计算机中高效运行的目标.
CISC和RISC有各自的优点和缺点,最好根据用途/目的进行选择。
CISC
可以说微型计算机起源于CISC架构的概念。
不同公司采用不同指令格式与执行时间设定策略。
综上所述,通过单一指令实现多任务处理目标,这是早期微型电脑的核心理念之一。然而,经过几年的发展完善后,到了20世纪80年代初期,这一设计理念被彻底颠覆性地重新定义为微操作指令系统(RISC)模式,即通过细粒度的操作来提高计算效率与灵活性。
RISC
在处理复杂指令时,这些指令的运行时间不可能过于短暂;与此同时,在微处理器内部所形成的逻辑电路结构也随之变得更加复杂。如果这种状况持续下去,“简单指令设计”的概念可能会引导我们探索一种更为高效的计算方式——允许多个指令在同一时间内流水线般依次执行?由此衍生出了一种全新的设计思路——RISC架构。最初提出这一理念的高校是斯坦福大学,并由加州大学伯克利分校负责研究课程的设计与推广工作;这种设计理念由Patterson和Ditzel两位学者所首次公开阐述;而在此之前的技术思路与之不同之处在于将单一指令视为可扩展的工作单元
ARM公司的Cortex-M3架构采用了三阶段流水线设计。该流水线包含以下三个阶段:依次为操作数读取、操作码解析(解密及转换)以及执行操作。各个阶段分别由专用硬件独立完成,在每个周期内完成相应的操作。一条指令的实际运行时间需三个周期;然而,在这期间会持续产生相应的操作结果。对于典型的 instruction-set 计算机(CISC),由于指令长度不一且控制流复杂性较高
CISC特征
(1)命令格式和命令大小没有规定。
每个指令根据规格设计为最合适的指令格式和大小。因此,每个指令的执行时间是不同的。因为每个命令都追求处理能力,所以命令长度可以不是固定的形式(在这种情况下,流水线处理效率会变差)。
(2)指令的解码是微型ROM方式。
微型ROM方法比随机逻辑方法的处理速度更快,但可以减小逻辑规模,并且可以进行相对复杂的处理。
(3)1个指令是多个时钟周期处理。
一个指令由多个时钟处理。即使需要几个周期,如果一次出现复杂的处理结果,结果就会成为高效的处理方法。
RISC特征
(1) 定长指令尺寸被设定为固定值。
为了在单一周期内高效执行一条指令(即每条指令占用一个周期),本系统采用了流水线技术进行操作。因此,在这种架构下,所有指令的尺寸均被设定为定长。
(2) 指令解码采用随机逻辑方式。
尽管单条指令的操作比较简单(仅需一条时钟周期即可完成),但由于系统对运行效率要求较高,在这种情况下不得不采用了随机逻辑方式进行解码。
该系统在微型ROM环境中运行效率较低。
(3) 采用单一的时钟周期进行操作。
由于本系统采用了流水线技术以提高执行效率,并在此基础上实现了每条指令占用一个时钟周期的操作模式。
(4) 流水线技术实现了对单条指令的并行执行能力。
如前所述,在流水线架构下,并发地执行各条独立的控制流 instruction 将成为可能,并在此基础上实现了每条 instruction 占用一个时钟周期的操作模式。
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系列在分支指令的情况下具有预测分支目标的功能,并将管道故障降至最低。
