计算机组成原理-day5

今天是2021-3-8。

一。指令

指令格式
操作码+地址码。
操作码包含了指令的操作性质和功能,地址码包含操作数的地址
三地址指令
组成:指令操作+地址1+地址2+地址3
该格式的指令一般是取地址1和地址2的数,进行指定操作后保存到地址3中
二地址指令
组成:指令操作+地址1+地址2
该格式的指令一般是取地址1和地址2的数,进行指定操作后保存到地址1中
一地址指令
组成:指令操作+地址1
该格式的指令一般是配合累加寄存器操作,另一个操作数会去累加寄存器中取,操作完成后再送回累加寄存器中
零地址指令
组成:指令操作
该格式的指令可能不操作操作数

二。寻址方式

寻址方式

  1. 指令寻址:寻找下一条将要执行的指令地址
  2. 数据寻址:寻找操作数的地址

指令寻址

  1. 顺序寻址:根据当前指令的地址,加上一条指令占用的主存字节数,就可以得出下一条指令的地址
  2. 跳跃寻址:根据当前指令的地址,加上指定的偏移量,得到下一条指令的地址

数据寻址
根据指令中地址码给出的形式地址A,经过变换得到目标操作数的有效地址EA,有如下寻址方式:

  1. 立即寻址:地址码字段直接包含操作数本身,随指令一同存在主存中,但是操作数会受指令长度的限制,所以灵活性较差,通常用于赋初值或提供一个常数
  2. 直接寻址:地址码字段包含操作数的有效地址,访问主存中该地址即可得到操作数,但是有效地址也会受到指令长度的限制
  3. 间接寻址:地址码字段包含一个地址的有效地址,还需要在指令中增添标志位。如果标志位为1,表示还需要访问地址码字段的地址;如果标志位为0,那么地址码字段包含的地址就是操作数的有效地址。所以间接寻址可能要访问多次主存才能取到操作数,但是避开了指令长度的限制,扩大了寻址范围。
  4. 寄存器寻址:地址码字段包含一个寄存器的编号,访问该寄存器即可取得操作数。该方式不需要访问主存,所以提高了速度,同时寄存器的地址码字段也较短,减少了指令的长度
  5. 寄存器间接寻址:地址码字段包含一个寄存器的编号,访问该寄存器即可取得操作数的有效地址。再访问主存中该地址取得操作数
  6. 相对寻址:地址码字段包含一个偏移量a,然后加上程序计数器PC提供的指令地址,得到操作数的地址。注意PC提供的指令地址是下一条指令的地址。
  7. 变址寻址:地址码字段包含一个偏移量a,然后加上变址寄存器提供的变址值X,得到操作数的有效地址。注意,该方式中,a不变,通过改变X访问不同地址的操作数。该方式通常被用于循环访问一块连续的内存区域,不需要修改指令,只需要修改变址值X即可。
  8. 基址寻址:地址码字段包含一个偏移量a,然后加上基址寄存器提供的基址值,得到操作数的有效地址。注意,基址值不变,而是改变偏移量,正好与变址寻址相反。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值