数据寻址方式决定了如何根据指令中的形式地址 计算出有效地址 。
常见寻址方式
- 立即寻址 (Immediate Addressing):
- 操作数直接包含在指令中。
- 特点: 速度快,但通用性差。
- 直接寻址 (Direct Addressing):
- 指令中直接给出操作数的物理地址。
- 缺点: 与现代操作系统的动态装载需求不符。
- 寄存器寻址 (Register Addressing):
- 操作数存放在 CPU 内部的通用寄存器中。
- 优点: 速度极快。
- 间接寻址 (Indirect Addressing):
- 指令中给出的是存放操作数地址的地址(类似于指针的指针)。 重点
- 支持动态内存装载。
- 寄存器间接寻址:
- 寄存器中存放的是操作数的地址。
- 变址寻址:
- 常用于数组处理。
- 基址寻址:
- 用于操作系统存储管理。
- 相对寻址:
- 用于程序重定位和跳转。
- 页式寻址:
- 通过页号 and 页内地址拼接得到有效地址。
寻址方式位
指令中通常设置专门的标记位来区分寻址方式(如 0 表示直接寻址,1 表示间接寻址)。这些技术共同构成了 寻址技术 的核心,并直接影响 指令地址码 的设计。
寻址方式对比
。寻址方式对比
在硬件实现上,变址寻址、基址寻址 和 相对寻址 虽然在逻辑描述和应用场景上有所不同,但 底层均使用相同的地址映射硬件装置(加法器)来完成地址变换。 重点
指向原始笔记的链接
- 变址寻址: 面向普通用户,常用于数组处理。
- 基址寻址: 面向操作系统,用于逻辑地址到物理地址的映射、存储管理和动态装载。
相对寻址: 使用 替代专用寄存器,常用于程序重定位。