0%

4.1.3-拓展操作码指令格式

💡 TIP

相关链接|

扩展操作码指令格式 -> 定长指令字结构 + 可变长操作码

即,不同地址数的指令使用不同长度的操作码

扩展操作码

扩展操作码举例

image-20241229202326454

也可以有其他格式

在设计拓展操作码指令格式时,必须注意一下两点

  1. 不允许短码是长码的前缀

    即 短操作码不能与长操作码的前面部分的代码相同

  2. 各指令的操作码一定不能重复

通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较低的指令,分配较长的操作码,从而减少指令译码和分析时间。

image-20241229204230855

💡 TIP

设地址长度为 n,上一层留出 m 中状态,下一层可扩展出 $m*2^n$种状态

定长操作码和拓展操作码 (不定长操作码) 对比

  • 定长操作码

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

    • 优点:在指令字长有限的情况下任保持比较丰富的指令字长
    • 缺点:增加了指令译码和分析的难度,使控制器的设计复杂化

(完)