Skip to content

CISC与RISC

考情分析

CISC 与 RISC 的对比是 408 选择题常考点,每隔 1~2 年就出现一次。重点掌握两者的核心特征及各自适用场景,以及为什么现代处理器趋向于 RISC 或混合架构。

CISC(复杂指令集计算机)

Complex Instruction Set Computer,以 x86(Intel/AMD)为代表。

设计理念:用一条复杂指令完成尽可能多的操作,减少程序的指令条数,降低对编译器的要求(早期编译器能力弱)。

主要特征

特征说明
指令数量多数百条甚至上千条
指令长度变长指令长度不固定(如 x86 指令 1~15 字节)
寻址方式多支持多种复杂寻址(内存 ↔ 内存操作)
控制方式微程序控制(便于设计复杂指令)
访存频繁指令可直接操作内存,不强制 Load/Store
寄存器少通用寄存器数量少(x86 早期只有 8 个)
执行时钟不同指令的执行周期数差异大

RISC(精简指令集计算机)

Reduced Instruction Set Computer,以 ARM、MIPS、RISC-V 为代表。

设计理念:只保留最常用的简单指令,通过编译器优化生成高效指令序列,依赖硬件流水线实现高吞吐。

主要特征

特征说明
指令数量少几十条核心指令
指令定长所有指令等长(如 MIPS 固定 32 位)
寻址方式少数据操作在寄存器间进行,访存指令使用基址+偏移,种类远少于 CISC
控制方式硬布线控制(速度快)
Load/Store 架构只有 Load/Store 指令访问内存,其余操作均在寄存器间进行
寄存器多通用寄存器多(MIPS/RISC-V 有 32 个)
执行时钟理想流水线下 CPI = 1(每周期完成一条指令的吞吐率),单条指令延迟仍为 k 个周期

核心对比表

特性CISCRISC
指令集规模大(数百条)小(几十条)
指令长度变长定长
寻址方式多种复杂方式少(Load/Store)
控制器实现微程序(ROM 存储)硬布线(逻辑电路)
内存访问指令可直接访存只有 Load/Store 访存
通用寄存器
流水线难以实现(变长指令)易于流水线化
编译器要求低(指令复杂,编译简单)高(依赖编译器优化)
典型代表x86, x86-64ARM, MIPS, RISC-V, PowerPC

微程序控制 vs 硬布线控制

微程序控制

  • 将每条复杂指令分解为微操作,存储在控制存储器(ROM)中
  • 修改方便,适合复杂指令集
  • 速度较慢(需要查微程序存储器)

硬布线控制

  • 用组合逻辑直接产生控制信号
  • 速度快,延迟低
  • 设计复杂,修改困难,适合简单固定指令集

RISC 指令简单且定长,硬布线控制电路规模可控,因此速度更快。

Load/Store 架构的含义

RISC 中,只有 LOAD(从内存读到寄存器)和 STORE(从寄存器写到内存)两类指令可以访存。

所有运算都在寄存器之间进行:

# RISC 风格:计算 A + B 并存入 C
LOAD  R1, [A]    ; 从内存加载 A
LOAD  R2, [B]    ; 从内存加载 B
ADD   R3, R1, R2 ; 寄存器间运算
STORE R3, [C]    ; 结果写回内存
# CISC 风格:直接内存操作
ADD [C], [A], [B]  ; 一条指令完成(但内部很复杂)

现代处理器的融合趋势

现代 x86 处理器(Intel Core, AMD Ryzen)在外部维持 CISC 接口,内部将复杂指令翻译为微操作(μops),用类似 RISC 的核心执行,兼顾兼容性与性能。

ARM 架构从移动端扩展到服务器(Apple M 系列、AWS Graviton),RISC 的能效优势越来越明显。

考点清单

  • CISC:变长指令、微程序控制、多寻址方式、少寄存器、指令可直接访存
  • RISC:定长指令、硬布线控制、Load/Store 架构、多寄存器、流水线友好
  • 微程序控制修改灵活但速度慢;硬布线速度快但设计复杂
  • RISC 不是指令少就行,关键是"简单、定长、Load/Store"
  • 现代 CPU 多为混合架构,内部微操作是 RISC 风格

真题练习

相关真题(5题)

2026Q16选择题2分

ISA规定的内容与微架构实现的区分

2025Q16选择题2分

ISA规定内容与微架构实现的区分

2025Q17选择题2分

RISC特点辨析

2011Q18选择题2分

有利于流水线实现的指令系统特征

2009Q17选择题2分

RISC与CISC的特性对比