计算机组成原理第四章指令系统————指令的格式

指令格式

指令是表示指示计算机执行操作的命令,一组二进制代码
指令系统是所有指令的集合,也称为指令集

指令的基本格式

一般由操作码地址码两部分构成,其中操作码在前,地址码在后,地址码的个数可变
操作码:表示指令的操作,特性与功能不可缺少
地址码:参与操作数的地址

指令的分类

按地址码分类

零地址指令
零地址:[OP]
只给出操作码OP
1)不需要操作数的指令,如空操作指令、停机指令、关中断指令等。
2)零地址的运算类指令仅用在堆栈计算机中。
通常参与运算的两个操作数隐含地从 栈顶和次 栈顶弹出,送到运算器进行运算,运算结果再隐含地压入堆栈。
一地址指令
零地址:[OP][A1]
两种类型
1)只有目的操作数指令,取出A1,进行OP操作后,结果存回原地址
OP(A1)—>a1 完成一条指令进行三次访存
2)隐含约定目的的双操作数指令,取出A1,与ACC的隐含操作数进行OP操作,结果存回原地址
(ACC)OP(A1)—>ACC 完成一条指令进行两次访存
二地址指令
零地址:[OP][A1][A2]
(A1)OP(A2)—>A1 完成一条指令进行四次访存
三地址指令
零地址:[OP][A1][A2][A3( 结果)]
(A1)OP(A2)—>A3 完成一条指令进行四次访存
四地址指令
零地址:[OP][A1][A2][A3( 结果)][A4( 下一条执行的地址)]
(A1)OP(A2)—>A3 完成一条指令进行四次访存

按指令长度分类

定长指令字结构:
: 指令系统中所有指令的长度都相等 变长指令字结构:
变长指令字结构:
: 指令系统中各种指令的长度不等
半字长指令、单字长指令、双字长指令 ——指令长度是机器字长的多少倍

按操作码分类

定长操作码

操作码长度不变:[OP][A1][A2]

一般n位操作码字段的指令系统最大能够表示2n条指令。

  • 优:定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利;
  • 缺:指令数量增加时会占用更多固定位,留给表示操作数地址的位数受限。
变长操作码

操作码长度可变:[OP ---- ][A2]
定长指令字结构+可变长操作码—>扩展操作码指令格式

扩展操作码
扩展操作码==定长指令字结构+可变长操作码
注意事项:
• 1)不允许短码是长码的前缀,即短操作码不能与长操作码的前 面部分的代码相同。
• 2)各指令的操作码一定不能重复。
通常情况下,对使用频率较高的指令,分配较短的操作码;对使用 频率较低的指令,分配较长的操作码,从而尽可能减少指令译码和 分析的时间。

最常见的变长操作码方法是扩展操作码,使操作码的长度随地址码的减少而增加,不同地址数的 指令可以具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。

  • 优:在指令字长有限的前提下仍保持比较丰富的指令种类;
  • 缺:增加了指令译码和分析的难度,使控制器的设计复杂化。

按指令操作类型分类

/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值