【计算机组成原理 学习总结】第四章 指令系统(2)

4.4 指令和数据的寻址方式

4.4.1 指令的寻址方式

4.4.2 操作数基本寻址方式

形成操作数有效地址的方法,称为寻址方式

例如,一种单地址指令的结构如下: 操作码OP、变址X、间址I、形式地址A

 

 

 (1)隐含寻址

指令中隐含着操作数的地址

(2)立即寻址

指令中在操作码字 段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数

(3)直接寻址

指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EA=A

(4)间接寻址

指令的地址码部分给出的 地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址

(5)寄存器寻址

在指令的地址码部分给出CPU内某一通用寄存器的 编号,指令的操作数存放在相应的寄存器中,即 EA=Ri

优点:①由于寄存器在CPU的内部,指令在执行时从寄存 器中取操作数比访问主存要快得多

②由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度

(6)寄存器间接寻址

为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址, 即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号, 这时有EA=(Ri)

(7)偏移寻址

①相对寻址

由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后 作为操作数的有效地址,即:EA=(PC)+D

②基址寻址

基址寄存器的位数可以设置得很长,从而可以在较 大的存储空间中寻址

③变址寻址

将指令的地址码部分给出的基准地 址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址

(8)分寄存器堆栈、存储器堆栈

以先进后出原理存储数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值