flowchart TD
A["硬件只会按节拍搬数据<br/>需要命令格式"] --> B["指令 = 操作码 OP + 地址码 A"]
B --> C["指令条数 vs 字长<br/>→ 扩展操作码"]
B --> D["操作数在哪?<br/>→ 寻址方式 → 有效地址 EA"]
D --> E["立即 / 直接 / 间接<br/>寄存器 / 寄存器间接 / 隐含"]
D --> F["偏移寻址三兄弟<br/>变址(数组)/ 基址(浮动)/ 相对(转移)"]
B --> G["设计路线之争<br/>CISC vs RISC"]
G --> H["RISC:定长、少寻址、Load/Store<br/>→ 硬布线 + 流水线友好"]
核心概念:
| 概念 | 要点 | 易考点 |
|---|---|---|
| 形式地址 A vs 有效地址 EA | A 是指令里的字段;EA 是真正访问的地址,由寻址方式算得 | 一切寻址计算题都是求 EA |
| 访存次数 | 为取操作数而访存的次数(不含取指) | 立即/寄存器/隐含/相对:0 次;直接/寄存器间接/变址/基址/堆栈:1 次;一次间接:2 次(来源:复习资料 P1 §一) |
| 扩展操作码 | 地址码越少的指令,操作码可以越长;每级留 1 个编码作扩展标志 | 短操作码不能与长操作码前缀冲突 |
| 偏移寻址 | EA = (某寄存器) + A | 只有基址/变址/相对属于偏移寻址,间接寻址不是(2011-16) |
| 程序员可见寄存器 | 基址寄存器、标志/状态寄存器可见;指令寄存器 IR、微指令寄存器不可见(2021-17) |