地址指令格式

一:零地址指令

1只有操作码,没有操作数(即没有地址码);使用情况:空操作,停机,关中断

2对堆栈计算机来说,他的两个操作数隐含存放在栈顶和次栈顶,将计算结果压入栈顶

二:一地址指令

只需要单操作数,如加一,减一,取反,求补等

指令含义:op(A)->A      完成这样一条指令需要两次访存,第一次从主存中取出指令op,第二次根据A所指向的地址从主存中读出操作数,因为最后的结果存放在ACC中,所以存结果不需要访存

2:需要两个操作数,但其中一个操作数隐含在某个寄存器(eg:ACC)

指令含义:(ACC) op (A)->ACC

注:A指某个主存地址【类比指针】,(A)表示A所指向地址中的内容【类比指针所指内容】

三:二地址指令(常用)

1常用于需要两个操作数的算数运算,逻辑运算相关指令

指令含义:(A1)op(A2)->A1

完成这样一条指令需要四次访存,第一次从主存中取出指令,第二次根据A所指向的地址从主存中读出操作数A1,第三次根据A所指向的地址从主存中读出操作数A2,最后将结果写入主存

四:三地址指令(与二地址指令区别在于结果的存放位置)

1常用于需要两个操作数的算数运算,逻辑运算相关指令

指令含义:(A1)op(A2)->A3

完成这样一条指令需要四次访存,第一次从主存中取出指令,第二次根据A所指向的地址从主存中读出操作数A1,第三次根据A所指向的地址从主存中读出操作数A2,最后将结果写入主存

五:四地址指令

指令含义:(A1)op(A2)->A3        A4=下一条将要执行指令的地址

完成这样一条指令需要四次访存,第一次从主存中取出这条四地址指令,第二次根据A所指向的地址从主存中读出操作数A1,第三次根据A所指向的地址从主存中读出操作数A2,最后将结果写入主存

正常情况下:取指令后PC+1,指向下一条指令

但在四地址指令中:执行指令后,将PC的值修改为A4所指地址。

 

​零散知识点总结

1.指令通常有操作码和地址码两部分组成,操作码指出指令应该执行什么性质的操作和具有何种功能;地址码指出指令中操作数所在的存储器地址、寄存器地址或I/O地址。

 

2关中断和开中断其实就是像我们生活中的开关一样。 关中断是为了保护一些不能中途停止执行的程序而设计的,在关中断情况下处理机不允许被其他的程序打扰的

 

3:PC为程序计数器,具有自动加一功能

 

4:n位地址码的直接寻址范围=2^n,所以地址码位数越长,寻址范围越大。

 

所以,当规定指令总长不变时,地址码的数量越多,寻址能力越差(因为单个地址码的长度越短,其n越小)

 

5:指令字长:一条指令的总长度(可能会变)

 

6:机器字长:CPU进行一次整数运算所能处理的二进制数据的位数(通常和ALU直接相关)

 

7:存储字长:一个存储单元中的二进制代码位数(通常与MDR位数相同,即与主存有关)

 

8:MDR:地址寄存器

 

9:半字长指令,单字长指令,双字长指令——指令长度是机器字长的多少倍

 

显然,指令字长会影响取指令所需时间

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半截詩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值