#系统分析师
CISC (复杂指令系统计算机) 和 RISC (精简指令系统计算机) 是两种不同的计算机指令集架构,它们在设计理念和实现方式上存在显著差异.
CISC (复杂指令系统计算机)
- 指令数量多:CISC 架构的指令集通常包含大量的指令,其中许多指令功能复杂.
- 指令复杂度高:指令可以执行多种操作,包括直接访问内存.
- 指令长度可变:CISC 的指令长度不固定,可以根据需要变化.
- 指令执行周期长:由于指令复杂,执行周期通常较长,且不同指令的执行周期差异较大.
- 寻址方式多:CISC 持多种寻址方式.
- 大量使用微程序控制:为了实现复杂的指令系统,CISC 通常采用微程序控制.
- 对编译系统要求较低:CISC 的指令集复杂,对编译器的要求相对较低.
- CPU包含丰富的电路单元,功能强、面积大、功耗大.
- 设计周期长.
- 更适合通用机.
RISC (精简指令系统计算机)
- 指令数量少:RISC 架构的指令集只包含少量常用指令,避免使用复杂指令.
- 指令复杂度低:指令功能简单,通常只完成基本操作.
- 指令长度固定:RISC 的指令长度固定,格式统一.
- 指令执行周期短:RISC 的大多数指令都可以在一个机器周期内完成.
- 寻址方式少:RISC 支持的寻址方式较少,通常只支持寄存器寻址、立即数寻址和相对寻址.
- 以硬布线逻辑控制为主:RISC 通常采用硬布线逻辑来实现控制器,以提高执行速度.
- 对编译系统要求高:RISC 需要更高效的编译器来优化代码.
- CPU包含较少的单元电路,面积小、功耗低.
- 设计周期短.
- 更适合专用机.
- 大量使用通用寄存器:RISC 通常拥有大量的通用寄存器,以减少对内存的访问.
- 采用流水线技术:RISC 架构更容易利用流水线技术,提高指令执行的并行度.
- 采用Cache方案:大多数RISC采用Cache来提高取指令的速度,有的RISC使用两个独立的Cache来改善性能,一个称为指令Cache,另一个称为数据Cache.
核心思想和性能比较
RISC 的核心思想是通过简化指令集,减少指令的平均执行周期数 (CPI),从而提高运算速度. 虽然 RISC 的程序可能需要更多的指令来实现相同的功能,但由于其指令简单,执行速度快,整体性能通常优于 CISC.
- 计算机执行一个程序所用的时间可表示为:p = I x CPI x t
- 虽然RISC的 I (指令条数) 比CISC略长,但CISC的CPI(每条指令执行的平均周期数) 大多在4~10之间,而RISC的大多数指令都是单周期执行的,它们的CPI略大于1.
- 由于RISC一般采用硬布线逻辑实现,指令要实现的功能都比较简单,所以CISC的t(一个周期的时间长度) 通常是RISC的3倍左右.
- 综合以上三点,可以大致计算出,RISC的处理速度要比同规模的CISC提高 3〜 5 倍.
实际应用
实际上,现代的处理器往往不是纯粹的 CISC 或 RISC,而是结合了两者的优点,例如,在 RISC 的基础上增加一些必要的复杂指令. 这使得处理器既能保持 RISC 的高效性,又能满足各种应用的需求.