← 返回学习笔记

Lecture 15:知识 - CISC 和 RISC 的基本概念

408 学习笔记:Lecture 15:知识 - CISC 和 RISC 的基本概念。保留原有知识内容、公式与图示;有对应原件时提供查看和下载入口。

本页目录

描述:CISC 与 RISC 是 ISA 设计哲学,不是“复杂就一定慢、精简就一定快”的简单标签。真正的性能还取决于微结构、编译器、流水线、Cache 和程序负载。

4.1 两种设计思想

名称 全称 核心思路 常见代表
CISC Complex Instruction Set Computer 让一条指令完成较复杂的基本功能,提供丰富指令与寻址 x86
RISC Reduced Instruction Set Computer 每条指令完成一个简单基本动作,复杂功能由多条简单指令组合 ARM、RISC-V
  • CISC 希望硬件直接支持更多高级语言层面的复杂操作,以减少一项任务的指令条数和软件显式步骤。
  • RISC 希望简化常用指令的语义、格式和执行路径,使单条指令更规则、行为更易预测,并通过组合指令实现复杂功能;它不要求整个 ISA 的指令条目数量在任何情况下都绝对更少。

4.2 典型特征对比

维度 CISC(传统特征) RISC(传统特征)
指令种类和功能 数量多、功能复杂,一条可完成多个微操作 种类较少、功能简单、粒度统一
指令长度 常含变长格式 常采用定长或较规则格式
寻址方式 通常较丰富 通常较少、更规则
访存方式 指令可直接对内存操作或完成复杂内存操作 常见 load/store 风格:仅读写指令访问内存,运算在寄存器间进行
控制实现 可用微程序/复杂译码实现 控制器和数据通路较规整,便于硬连线/流水化
指令执行 单条指令周期可能差异大 单条指令通常较短、易于规律化执行
代码密度 复杂指令可能减少指令条数 为同一复杂任务可能需要更多指令
  • “CISC 一条指令完成复杂功能”不代表一定用一块专用大电路;可由通用执行部件配合控制存储/微操作序列完成。
  • “RISC 一条指令一个动作”使指令译码和执行更利于并行化、流水化和低功耗设计,但程序可能使用更多显式指令。

4.3 硬件、编译器与应用

4.3.1 硬件实现取舍

  • CISC 的丰富格式和寻址方式使取指、译码、控制逻辑更复杂;现代实现常把复杂 ISA 指令解码为内部微操作,再由类似 RISC 的后端流水/乱序执行。
  • RISC 指令通常格式规整、执行行为更容易预测,较易设计深流水、超标量发射和能效优化,但不能仅靠 ISA 名称推断实际功耗或性能。
  • 两类 ISA 都能使用 Cache、流水线、分支预测、乱序执行等现代技术;这些优化并非某一类 ISA 的专属。

4.3.2 软件与生态

  • 编译器会把高级语言转换为目标 ISA 指令。CISC 可利用复杂指令压缩某些任务,RISC 则常通过优化的指令序列、寄存器分配和调度取得效率。
  • x86 仍广泛用于 PC 和服务器;ARM 在手机、平板、嵌入式和服务器中广泛使用;RISC-V 是开放 ISA,正在设备、教学和服务器等领域发展。
  • 设备类型不是绝对边界:x86 也用于服务器和嵌入式,ARM 也用于桌面/服务器。答题时应写“常见应用”,不要写成物理上只能用于某类设备。

题型:#CISC与RISC辨析

第一部分:判断关键词

题干关键词 更符合
指令功能复杂、寻址方式多、变长、微程序控制 CISC 的传统特征
指令简单规则、load/store、定长、寄存器操作、易流水 RISC 的传统特征
内部微操作、深流水、乱序、Cache 现代微结构特征,不能单独断定 ISA 类别

第二部分:易错点

  • RISC 并不是“指令数量绝对少”,而是强调单条指令功能和格式精简;完成同一任务的动态指令数可能更多。
  • CISC 不是“不能流水化”,RISC 也不是“每条永远一个周期”。现代处理器实现已大量融合设计思想。
  • ISA 是软件可见接口,微操作翻译和执行单元是实现细节;外部兼容 x86 的 CPU 内部可以非常像 RISC 后端。

相关知识

4.4 本节复盘

  • CISC 追求一条指令完成较复杂功能,RISC 追求简单规则指令组合完成复杂功能。
  • 传统上 CISC 指令/寻址更丰富、译码更复杂;RISC 更规则,便于流水和并行,但二者均可采用现代高性能微结构。
  • x86 是典型 CISC,ARM 和 RISC-V 是典型 RISC;应用领域有常见分布,不是绝对限制。
  • 任何性能判断都要落到具体 CPU、编译器和工作负载,不能只凭 CISC/RISC 标签下结论。