# RISC vs CISC

> 计算机科学 · CIE A-Level 9618
> 来源: https://www.owlsprep.com/zh/study/cie-9618-u4-risc-vs-cisc/

本模块对比了两种主流CPU指令集架构：精简指令集计算机（RISC）和复杂指令集计算机（CISC）。我们将讲解核心设计差异、设计权衡和实际应用，帮助你备考CIE A-Level考试。

**先修:** [CPU基本结构与指令集基础](https://www.owlsprep.com/zh/study/cie-9618-u4-cpu-instruction-sets/)

## 学习目标

- 比较RISC与CISC处理器的核心架构特征
- 解释两种设计理念之间的核心权衡
- 识别两种架构的实际应用案例
- 评估它们对不同使用场景的适用性

## 核心设计原则

RISC和CISC源自两种对立的设计思路，分别对指令复杂度与硬件效率做了不同权衡。早期计算机内存容量有限，因此CISC被设计为通过让单条指令功能更强来减小程序体积。

**RISC设计理念** — RISC优先采用可在单个时钟周期内执行的简单指令。设计目标是降低CPI，实现高效流水线，由编译器完成更多指令层面的工作。

*例:* RISC指令集架构会将一次复杂的内存间加法拆分为三条独立的简单指令：加载、加法、存储。

相比之下，CISC将复杂运算直接集成到指令集中，以减少程序需要执行的指令数量。

**例题:** 说明两个存储在内存中的数相加，在RISC和CISC中分别如何实现

1. 对于CISC，该运算可以通过一条直接访问内存的指令完成：
2. $$ADD \quad [M_A], [M_B] \rightarrow [M_C]$$
3. 对于RISC，所有运算都必须在寄存器上执行，因此该运算被拆分为四条简单指令：
4. $$\begin{aligned} \text{LOAD } R1, [M_A] \\ \text{LOAD } R2, [M_B] \\ \text{ADD } R3, R1, R2 \\ \text{STORE } [M_C], R3 \end{aligned}$$

> **考试提示:** 在CIE考试的比较题中，务必将两种架构的特征配对组织答案，才能拿到满分。

## 核心架构差异

除了核心理念，RISC和CISC在多个影响整体性能的软硬件特征上都存在差异。

| 特征 | RISC | CISC |
| --- | --- | --- |
| 指令集大小 | 小型，约100-200条指令 | 大型，约200-1000+条指令 |
| 指令长度 | 固定 | 可变 |
| 平均CPI | 约1 | 1-15+（可变） |
| 通用寄存器数量 | 多（16个及以上） | 较少（8-16个） |
| 内存访问规则 | 只有加载/存储指令可访问内存 | 所有指令都可访问内存 |
| 流水线效率 | 易于高效实现 | 因指令长度可变，实现更复杂 |
| 编译器复杂度 | 更复杂 | 更简单 |

> **tip**
>
> 记忆技巧：CISC在硬件中完成复杂工作，RISC在软件（编译器）中完成复杂工作。

**例题:** 选出属于RISC特征的选项：(A) 可变指令长度 (B) 单周期执行一条指令 (C) 算术运算可直接访问内存 (D) 寄存器数量少。写出正确答案并排除错误选项。

1. 正确答案是(B)。RISC设计优先采用可在一个时钟周期内完成的简单指令。
2. 排除(A)：RISC使用固定长度指令简化流水线设计；可变长度是CISC的特征。
3. 排除(C)：RISC中只有加载/存储指令可以访问内存；算术运算只能使用寄存器。
4. 排除(D)：RISC拥有大量通用寄存器以减少内存访问；寄存器数量少是CISC的特征。

## 性能与设计权衡

RISC和CISC的选择取决于性能目标、内存限制、功耗要求和硬件复杂度要求。

- **RISC优势**：更低功耗、高效流水线、更高指令吞吐量、硬件更简单
- **RISC劣势**：程序体积更大、编译器更复杂、拆分复杂运算会产生额外开销
- **CISC优势**：程序体积更小、内存带宽占用更低、编译器输出更简单
- **CISC劣势**：硬件复杂度更高、功耗更高、难以实现高效流水线

**例题:** 解释为什么手机更偏好RISC处理器，而桌面PC普遍使用CISC处理器

1. 手机优先考虑低功耗和能源效率，这与RISC的设计理念一致。
2. RISC简单的硬件和高效的流水线发热量更小、更省电，这是移动设备的核心要求。
3. 桌面PC历史上使用CISC（x86）架构来保持对旧软件的向后兼容性，同时也能受益于现代系统的大内存。
4. 现代桌面CPU内部使用类RISC的微操作，但为了兼容性保留了CISC指令集，因此仍然被归类为CISC。

## 实际案例与考试答题表述

在现代计算领域，两种架构都根据其适用场景被广泛使用。以下是CIE考试要求你掌握的常见案例：

- RISC案例：ARM（所有手机、树莓派）、RISC-V、MIPS
- CISC案例：x86/x86-64（多数台式机/笔记本/服务器）、VAX、Intel 80x86

**例题:** 各举一个RISC和CISC处理器的例子，并说明它们的典型使用场景

1. RISC案例：ARM Cortex-A系列
2. 使用场景：智能手机和平板电脑，这类设备对低功耗有硬性要求
3. CISC案例：Intel Core i7（x86架构）
4. 使用场景：台式机和笔记本电脑，这类设备优先考虑向后兼容性和通用性能

**概念自测**

测试你对使用场景的理解：

1. 以下哪个处理器属于RISC架构？

   - Intel Core i7
   - AMD Ryzen
   - ARM Cortex-A
   - x86-64

   *答案:* ARM Cortex-A

   *解析:* 正确：ARM是目前应用最广泛的RISC架构。Intel和AMD的x86都是CISC架构。

2. 为什么RISC适合嵌入式系统？

   - 程序体积小
   - 低功耗
   - 复杂指令
   - 向后兼容性

   *答案:* 低功耗

   *解析:* 正确：RISC简单的硬件设计带来低功耗，非常适合电池供电的嵌入式和移动系统。

**考试命令词**

- **Compare RISC and CISC** — 你必须列出至少3组配对差异（每种架构各一个）才能拿到满分 *(将答案组织为表格或项目符号，对比两种架构对应的特征即可。)*

- **Evaluate why RISC is used in mobile devices** — 解释RISC对该使用场景的优势，如有必要可提及相关劣势 *(务必将架构特征与使用场景的需求关联起来：例如，更低功耗 = 手机更长续航。)*

## 常见错误

- **错误做法:** 声称因为CISC单条指令功能更强，所以CISC性能始终高于RISC
  - 原因: CISC的CPI高得多，因此对于大多数工作负载，整体指令吞吐量通常低于RISC
  - 正确做法: 要完整对比权衡：CISC指令数量更少但CPI更高；RISC指令数量更多但平均CPI更低
- **错误做法:** 认为所有现代桌面CPU都是纯CISC设计
  - 原因: 现代x86 CPU会在执行前将CISC指令转换为内部类RISC微操作
  - 正确做法: 要认识到x86是混合架构，但从考试要求的指令集架构角度来看，仍然归类为CISC
- **错误做法:** 声称RISC的寄存器数量比CISC少
  - 原因: RISC使用更多寄存器来避免操作数的重复内存访问，这是核心设计特征
  - 正确做法: RISC的通用寄存器数量比CISC更多
- **错误做法:** 混淆哪种架构需要更复杂的编译器工作
  - 原因: 因为RISC将复杂运算拆分为多个简单指令，因此编译器必须完成更多工作
  - 正确做法: RISC = 编译器更复杂；CISC = 编译器更简单

## 速查表

| 特征 | RISC | CISC |
| --- | --- | --- |
| 指令长度 | 固定 | 可变 |
| 平均CPI | 约1 | 可变，1以上 |
| 内存访问 | 仅加载/存储指令可访问 | 所有指令都可直接访问 |
| 通用寄存器 | 多 | 少 |
| 流水线效率 | 高 | 较低 |
| 编译器复杂度 | 复杂 | 简单 |
| 功耗 | 更低 | 更高 |
| 常见案例 | ARM、RISC-V | x86、x86-64 |

## 下一步

理解RISC和CISC是进一步学习CPU性能、流水线和嵌入式系统设计的基础。该考点频繁出现在CIE考试中，题目要求你对比不同计算设备的架构选择，因此你务必能够将特定设计特征与性能结果和使用场景需求关联起来。掌握该主题也为理解结合两种理念的现代混合CPU设计打下基础。

- [流水线技术](https://www.owlsprep.com/zh/study/cie-9618-u4-pipelining/)
- [多核处理器](https://www.owlsprep.com/zh/study/cie-9618-u4-multicore-processors/)
- [系统软件](https://www.owlsprep.com/zh/study/cie-9618-u5-overview/)

---

来自 [OwlsPrep](https://www.owlsprep.com) —— A-Level / IB / AP / IGCSE 免费学习指南，依据官方考纲编写。原页面：https://www.owlsprep.com/zh/study/cie-9618-u4-risc-vs-cisc/
