指令集体系结构 ISA
- 【指令】
- 格式
- 寻址方式
- 对应操作行为
- 【操作数】
- 类型
- 寻址方式
- 大小端
- 【存储】
- 寄存器布局
- 存储空间编址
- 【控制】
- 条件码
- PC
主要构成
- 数据传送指令: load/store/…
- 输入输出指令: in/out/…
- 算术运算指令: add/…
- 逻辑运算指令: and/…
- 系统控制指令: 中断/…
- 程序控制指令: jmp/…
零地址指令 = 堆栈运算指令
零地址指令 aka 堆栈运算指令
- 堆栈运算指令无显示指定操作数,操作数来源为
- 堆栈顶元素
- 次堆栈顶元素
- 访存次数
- 软堆栈 = 4
- 取指
- 取操作数 A
- 取操作数 B
- 写回
- 硬堆栈 = 1 only 取指
分类
| 指令集 | CISC | RISC |
|---|---|---|
| 全名 | 复杂指令集计算机 | 精简指令集计算机 |
| 例子 | x86, x64 | arm risc-v mips sparc DecAlpha PowerArchitecture |
| 指令系统 | 复杂 | 简单 |
| 寄存器 | 专用 | 通用为主 |
| 存储 | 命令隐含存储操作 | 以寄存器-寄存器方式 load/store |
| 控制 | 微程序 | 组合逻辑电路为主 |
| 编译系统 | 难以优化 | 优化 |
指令格式
指令格式 (指令字) = 操作码 + 地址码
两者均可定长/不定长
指令字是否定长与操作码是否定长无关
RISC 指令字 & 操作码
定长指令字, 不定长操作码