计算机组成原理指令系统#510
指令系统概述
约 596 字
目录 · 5 个章节
5.1 指令系统概述
定义
指令系统(ISA) 是软件与硬件之间的接口,规定 CPU 能执行哪些机器指令,以及指令如何编码、如何指定操作数、如何访问内存、如何影响机器状态。
指令系统可以理解为 CPU 对外暴露的 能力清单 + 使用规则。它不描述 CPU 内部具体怎么实现指令,那属于微架构层面的内容。
机器指令的层次
执行链路:高级语言程序 → 汇编指令 → 机器指令 → CPU 取指、译码、执行。
| 层次 | 说明 |
|---|---|
| 高级语言语句 | 编译器和人理解 |
| 机器指令 | ISA 层面对外可见,CPU 可译码执行 |
| 微操作 | CPU 内部实现一条机器指令的细粒度动作 |
机器指令是编译器和硬件之间的可见接口;微操作是 CPU 内部控制逻辑为完成机器指令而拆出的动作。
指令格式
机器指令通常由 操作码字段 和 地址码字段 组成:
- 操作码:说明“做什么”,如加法、访存、跳转。
- 地址码:说明“操作数在哪里”,可能指向寄存器、内存,也可能配合寻址方式得到有效地址。
指令格式的核心权衡:
- 操作码位数多:可表示的指令种类多,但地址字段通常变短。
- 地址码位数多:地址范围大,但可表示的操作种类通常减少。
- 指令字长有限,本质是在二进制位中分配“操作类型”和“操作数位置”。
地址码个数
| 类型 | 典型含义 | 特点 |
|---|---|---|
| 三地址 | C <- A + B | 表达直接,地址字段多,指令较长 |
| 二地址 | A <- A + B | 指令较短,结果常写回源操作数 |
| 一地址 | 隐含 ACC | 依赖累加器,通常需要多条指令 |
| 零地址 | 隐含栈顶 | 适合栈式机器,访栈次数较多 |
考点
- 操作码 位:最多表示 种操作。
- 地址码 位:最多表示 个地址。
- 二地址指令可能覆盖源操作数;一地址指令通常隐含
ACC;零地址指令通常隐含栈顶。 - 指令格式、操作码长度、地址码个数、定长/扩展操作码,本质都在解决有限指令字长下的信息分配问题。
讨论
0 条评论
登录后参与讨论
登录后可以发布评论、回复和点赞。
暂无评论。