软考软件评测师——计算机组成与体系结构
目录
计算机寻址方式详解与对比分析
一、立即寻址
二、直接寻址
三、间接寻址
四、寄存器寻址
五、寄存器间接寻址
六、变址寻址
七、基址寻址
八、相对寻址
九、综合对比分析
计算机寻址方式详解与对比分析
一、立即寻址
核心概念
指令操作码后直接携带操作数值,数据内嵌于指令本身。
主要特点
- 执行效率最高(无额外内存访问)
- 数据不可修改
- 数值范围受指令长度限制
- 灵活性最低(固定值无法调整)
二、直接寻址
核心机制
指令地址码直接指向内存中的操作数位置。
优势与局限
- 直观易实现
- 寻址范围受地址码位数制约
- 单次内存访问即可获取数据
三、间接寻址
双重定位机制
指令地址指向内存中的地址存储单元,后者才存有真实数据地址。
技术特性
- 突破指令地址长度限制
- 支持动态地址修改(仅需变更指针单元)
- 需两次内存访问影响速度
- 常用于实现指针功能
四、寄存器寻址
高速存取方案
直接操作CPU内部寄存器的存储内容。
性能优势
- 存取速度比内存快10倍以上
- 地址字段短小(寄存器编号仅需几位)
- 通用寄存器数量有限(通常32-64个)
五、寄存器间接寻址
混合寻址模式
寄存器存储目标数据的内存地址。
典型应用
- 处理数组等连续内存结构
- 兼具寄存器快速访问特性
- 仍需单次内存读取操作
六、变址寻址
动态地址计算
有效地址 = 变址寄存器值 + 指令给定偏移量
(常用于遍历数组元素)
七、基址寻址
安全寻址方案
有效地址 = 基址寄存器值 + 指令位移量
(配合内存保护机制使用)
八、相对寻址
位置无关编码
有效地址 = 程序计数器值 + 指令偏移量
(支持代码动态加载)
九、综合对比分析
核心区分维度
-
数据存储位置
- 立即数:指令内部
- 寄存器:CPU寄存器
- 直接/间接:内存单元
-
地址解析次数
- 直接寻址:1次内存访问
- 间接寻址:2次内存访问
- 寄存器方式:0-1次访问
-
灵活性对比
- 间接寻址 > 基址寻址 > 直接寻址
- 变址方式适合循环结构
- 相对寻址支持代码重定位
设计权衡要点
- 速度优先:寄存器 > 立即 > 直接
- 空间优化:间接 > 基址 > 变址
- 安全考量:基址提供内存保护
- 代码复用:相对寻址支持动态加载
附:典型应用场景
- 循环控制 → 变址寻址
- 函数调用 → 相对寻址
- 指针操作 → 间接寻址
- 常量处理 → 立即寻址
第二部分 综合知识历年真题
2020下综合知识历年真题(1分)
【2020年评测真题第06题:黄色】
06.将操作数包含在指令中的寻址方式称为( )。
A.直接寻址
B.相对寻址
C.间接寻址
D.立即寻址
解答:答案正确D。蒙对。
2018下综合知识历年真题(1分)
【2018年评测真题第04题:红色】
04.在指令系统的各种寻址方式中,获取操作数最快的方式是( )。
A.直接寻址
B.间接寻址
C.立即寻址
D.寄存器寻址
解答:答案选择C。错选了D。
2016下综合知识历年真题(1分)
【2016年评测真题第01题:红色】
01.在汇编指令中,操作数在某寄存器中的寻址方式称为( )寻址。
A.直接
B.变址
C.寄存器
D.寄存器间接
解答:答案选择C。
2015下综合知识历年真题(1分)
【2015年评测真题第04题:黄色】
04.在机器指令的地址段中,直接指出操作数本身的寻址方式称为( )。
A.隐含寻址
B.寄存器寻址
C.立即寻址
D.直接寻址
解答:答案选择C。