← 返回计算机组成原理目录
计算机组成原理指令系统#540

指令类型与 CISC/RISC

745
目录 · 8 个章节

五类指令

CPU 支持的指令按功能分为五类:

类型典型指令本质
数据传送MOV, LOAD, STORE, PUSH, POP只改变数据位置,不改变值
算术运算ADD, SUB, MUL, DIV, INC, DEC让 ALU 做算术运算
逻辑运算AND, OR, XOR, NOT, SHL, SHR按位操作,用于掩码、标志位、乘除 2 的幂
程序控制JMP, BEQ, BNE, CALL, RET改变 PC 的值,从而改变执行顺序
输入输出IN, OUTCPU 与外设交换数据

程序执行就是反复做三件事:取数据(传送指令)→ 运算(算术逻辑指令)→ 决定下一步去哪(程序控制指令)。

程序控制指令的核心

正常顺序执行:PC ← PC + 指令长度。跳转指令:PC ← 跳转目标地址

程序控制类指令的本质就是修改 PC,从而改变下一条要执行的指令。

CISC vs RISC

对比项CISCRISC
设计目标一条指令做更多事每条指令简单快速
指令数量
指令长度常变长常定长
寻址方式
访存方式运算指令可直接访存只有 LOAD/STORE 访存
控制器复杂较简单
流水线不友好友好
程序长度可能较短可能较长

关键理解:CISC 追求指令功能强;RISC 追求指令执行规整、流水线高效。

Load/Store 结构

RISC 的核心设计原则——只有 LOAD 和 STORE 能访问内存,算术逻辑指令只在寄存器间操作:

LOAD R1, [A]    → 内存 → 寄存器
LOAD R2, [B]
ADD  R3, R1, R2  → 寄存器间运算
STORE [A], R3   → 寄存器 → 内存

好处:指令格式规整,执行步骤相似,易于设计流水线。

CISC 可直接

RISC 更适合流水线的原因

  • RISC 指令简单、长度固定、格式规整 → 每条指令执行过程相似 → 流水线高效
  • CISC 指令复杂、长度可变、功能差异大 → 不同指令执行步骤差异大 → 流水线控制复杂

ISA vs 微体系结构

概念含义
ISA(指令系统)CPU 对软件暴露的接口——规定"看起来应该做什么"
微体系结构CPU 内部具体实现——决定"内部实际怎么做"

同一 ISA 可有多种微架构实现:单周期、多周期、流水线、超标量、乱序执行。只要最终表现符合 ISA,软件就能正常运行。

第 5 章知识框架

1. 指令格式 → 操作码 + 地址码
2. 地址数 → 零/一/二/三地址
3. 寻址方式 → 如何从地址字段找到操作数
4. 指令系统设计 → 指令类型、CISC/RISC、ISA 与硬件实现

考点

  • 五类指令的本质区别:传送类不改变值,算术逻辑类改变值,程序控制类改变 PC。
  • 变址寻址偏移量 = 元素下标 × 元素大小(如 int a[i],偏移 = i × 4)。
  • CISC/RISC 对比表的每一条都能独立出题,理解"为什么"比背缩写重要。
  • Load/Store 结构是 RISC 区别于 CISC 的核心特征,常作为 RISC 定义的一部分考察。
  • ISA 是接口,微架构是实现——不要把指令系统描述成 CPU 内部结构。

讨论

0 条评论

登录后参与讨论

登录后可以发布评论、回复和点赞。

暂无评论。

x1a0Y4NGren's Blog

一个计算机学生的学习记录、算法题解与个人知识管理。

RSS