CPU cycle lab · simplified model
取指—译码—执行循环
一次只推进一个微阶段,观察程序计数器 PC、指令寄存器 IR、寄存器 R1、ALU 与输出端口怎样协作。
00
MICRO STEPS
CPU 指令循环实验台
- 1 取指 下一步
- 2 译码 等待
- 3 执行 等待
- 4 更新 PC 等待
指令内存
MEMORY- 00 LOAD R1, 3 PC
- 01 ADD R1, 4
- 02 MUL R1, 2
- 03 STORE R1, OUT
- 04 HALT —
PC 指向下一条要取出的指令;虚线框表示当前仍保留在 IR 中的指令。
控制器与运算通路
CPU CORE
简化 CPU
IDLE
IR 当前指令
操作码
目标
操作数
ALU / 数据动作
控制信号
- 等待时钟
本阶段微操作
按“单步执行”开始取指
等待第 1 次取指
PC 目前为 00。下一次时钟微步骤会把内存地址 00 的指令复制到 IR,但还不会改变 R1。
读懂状态变化
四个阶段,各自只承担一件事
- 取指:用 PC 找到内存中的指令,并复制到 IR。
- 译码:拆出操作码、目标和操作数,决定需要哪些控制信号。
- 执行:ALU 计算,或让寄存器、输出端口真正发生写入。
- 更新 PC:顺序程序通常执行 PC + 1;分支指令则可能改写为别的地址。
这是为了看清因果关系而设计的简化 CPU。真实处理器常用流水线、缓存、乱序执行等技术让多个阶段重叠,但“指令从哪里来、如何被解释、怎样改变状态”这条主线不变。