26考研——指令系统_CISC 和 RISC 的基本概念(4)
408答疑
文章目录
- 四、CISC 和 RISC 的基本概念
- 复杂指令系统计算机(CISC)
- 精简指令系统计算机(RISC)
- CISC 和 RISC 的比较
- 五、参考资料
- 鲍鱼科技课件
- 26王道考研书
四、CISC 和 RISC 的基本概念
指令系统的发展呈现出两个主要方向:
-
复杂指令系统计算机(CISC)::
- 增强原有指令的功能;
- 设置更为复杂的新指令实现软件功能的硬化;
- 典型架构:x86 架构的计算机。
-
精简指令系统计算机(RISC):
- 减少指令种类和简化指令功能。
- 提高指令的执行速度。
- 典型架构:ARM、MIPS 架构的计算机。
复杂指令系统计算机(CISC)
随着集成电路技术的发展,软件成本不断上升,促使人们在指令系统中增加更多、更复杂的指令,以适应不同的应用领域,这样就构成了 CISC。
- CISC(复杂指令集计算机)的主要特点如下:
- 指令系统复杂庞大:指令数目一般为 200 条以上。
- 指令的长度不固定:指令格式多,寻址方式多。
- 可以访存的指令不受限制。
- 各种指令使用频度相差很大。
- 指令执行时间差异大:大多数指令需多个时钟周期才能完成。
- 控制器复杂:大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连线控制。
- 编译优化困难:难以用优化编译生成高效的目标代码程序。
如此庞大的指令系统,对指令的设计提出了极高的要求,研制周期变得很长。后来人们发现,一味地追求指令系统的复杂和完备程度不是提高性能的唯一途径。
- 对传统 CISC 指令系统的测试表明,各种指令的使用频率相差悬殊,大概只有 20% 的简单指令被反复使用,约占整个程序的 80%;
- 而 80% 左右的复杂指令则很少使用,约占整个程序的 20%。
从这一事实出发,人们开始用最常用的 20% 的简单指令,重组实现不常用的 80% 的指令功能,RISC 随之诞生。
精简指令系统计算机(RISC)
RISC 的中心思想是要求指令系统简化,尽量使用 寄存器 − 寄存器 寄存器-寄存器 寄存器−寄存器 操作指令,指令格式力求致。
- RISC(精简指令集计算机)的主要特点如下:
- 指令集简化:选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现。
- 指令长度固定:指令格式种类少,寻址方式种类少。
- 简化指令操作:只有 LOAD/STORE(取数/存数)指令访存,其余指令的操作都在寄存器之间进行。
- 寄存器数量多:CPU 中通用寄存器的数量相当多。
- 指令执行快速:一定采用指令流水线技术,大部分指令在一个时钟周期内完成。
- 控制方式简化:以硬布线控制为主,不用或少用微程序控制。
- 编译优化:特别重视编译优化工作,以减少程序执行时间。
值得注意的是,从指令系统兼容性看,CISC 大多能实现软件兼容,即高档机包含了低档机的全部指令,并可加以扩充。但 RISC 简化了指令系统,指令条数少,格式也不同于老机器,因此大多数 RISC 机不能与老机器兼容。RISC 具有更强的实用性,因此应该是未来处理器的发展方向。但事实上,当今时代 Intel 几乎一统江湖,且早期很多软件都是根据 CISC 设计的,单纯的 RISC 将无法兼容。此外,现代 CISC 结构的 CPU 已经融合了很多 RISC 的成分,其性能差距己经越来越小。CISC 可以提供更多的功能,这是程序设计所需要的。
CISC 和 RISC 的比较
RISC(精简指令集计算机)与 CISC(复杂指令集计算机)相比,具有以下优点:
-
芯片面积利用:RISC 更能充分利用 VLSI(超大规模集成电路)芯片的面积。CISC 采用微程序控制,其控制存储器占 CPU 芯片面积的 50%以上,而 RISC 采用组合逻辑控制,其硬布线逻辑只占 CPU 芯片面积的 10%左右。
-
运算速度:RISC 更能提高运算速度。RISC 的指令数、寻址方式和指令格式种类少,又设有多个通用寄存器,采用流水线技术,所以运算速度更快,大多数指令在一个时钟周期内完成。
-
设计和可靠性:RISC 便于设计,可降低成本,提高可靠性。RISC 指令系统简单,因此机器设计周期短;其逻辑简单,出错概率低,有错也易发现,因此可靠性高。
-
编译程序代码优化:RISC 有利于编译程序代码优化。RISC 指令类型少,寻址方式少,使编译程序容易选择更有效的指令和寻址方式,并适当地调整指令顺序,使得代码执行更高效化。
对比项目 | CISC | RISC |
---|---|---|
指令系统 | 复杂,庞大 | 简单,精简 |
指令数目 | 一般大于 200 条 | 一般小于 100 条 |
指令字长 | 不固定 | 定长 |
可访存指令 | 不加限制 | 只有 LOAD/STORE 指令 |
各种指令执行时间 | 相差较大 | 绝大多数在一个周期内完成 |
各种指令使用频度 | 相差很大 | 都比较常用 |
通用寄存器数量 | 较少 | 多 |
目标代码 | 难以用优化编译生成高效目标代码程序 | 采用优化的编译程序,生成代码较为高效 |
控制方式 | 绝大多数为微程序控制 | 绝大多数为组合逻辑控制 |
指令流水线 | 可以通过一定方式实现 | 必须实现 |
五、参考资料
鲍鱼科技课件
b站免费王道课后题讲解:
网课全程班: