单片机学习小组
直播中

贾小龙

7年用户 1587经验值
私信 关注

数据寻址包括哪些部分呢?分别有哪些优缺点呢

数据寻址包括哪些部分呢?分别有哪些优缺点呢?

回帖(1)

折剑青

2022-3-1 09:40:46
计算机组成原理笔记(数据寻址)



立即寻址:



  • 形式地址A就是操作数本身,又称为立即数,一般采用补码形式。
  • 一条指令的执行:取指令访存1次,执行指令访存0次,暂时不考虑存结果,共访存1次
  • 优点:指令执行阶段不访问主存,指令执行时间最短
  • 缺点:A的位数限制了立即数的范围,(因为采用补码形式,所以有范围)

直接寻址:



  • 指令字中的形式地址A就是操作数的真实地址EA,即EA=A
  • 一条指令的执行:取指令访存1次,执行指令访存1次,暂时不考虑存结果,共访存2次
  • 优点:简单,执行指令阶段仅仅访问1次主存,不需要专门计算操作数的地址。
  • 缺点:A的位数决定了该指令操作数的寻址范围,操作数的地址不易修改。



间接寻址:



  • 指令的地址字段给出的形式地址不是操作数的真正地址,而是操作数有效地址所在的存储单元的地址,也就是操作数地址的地址。即EA=(A)
  • 一条指令的执行:取指令访存1次,执行指令访存2次,暂时不考虑存结果,共访存3次
  • 优点:可以扩大寻址范围(有效地址EA的位数大于形式地址A的位数)。便于编制程序(用间接寻址可以方便地完成子程序返回)。
  • 缺点:指令在执行阶段要多次访存(一次间址需两次访存,多次寻址需根据存储字的最高位确定几次访存)。



寄存器寻址:



  • 在指令字中直接给出操作数所在的寄存器编号,即EA=R,其操作数在由R所指的寄存器内。
  • 一条指令的执行:取指令访存1次,执行指令访存0次,暂时不考虑存结果,共访存1次
  • 优点:指令在执行阶段不访问主存,只访问寄存器,指令字短且执行速度快,支持向量/矩阵运算。
  • 缺点:寄存器价格昂贵,计算机中寄存器个数有限。



寄存器间接寻址:



  • 寄存器R中给出的不是一个操作数,而是操作数所在主存单元的地址,即EA=(R)
  • 一条指令的执行:取指令访存1次,执行指令访存1次,暂时不考虑存结果,共访存2次
  • 特点:与一般间接寻址相比速度更快,但指令的执行阶段需要访问主存(因为操作数在主存中)



隐含寻址:



  • 不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。
  • 优点:有利于缩短指令字长。
  • 缺点:需增加存储操作数或隐含地址的硬件。







举报

更多回帖

发帖
×
20
完善资料,
赚取积分