• 内容讲解

一个指令字中包含二进制代码的位数,称为指令字长度。计算机能直接处理的二进制数据的位数称为机器字长,它决定了计算机的运算精度,机器字长通常与主存单元的位数一致。

指令字长度等于机器字长的指令,称为单字长指令;指令字长度等于半个机器字长的指令,称为半字长指令;指令字长度等于两个机器字长的指令,称为双字长指令。例如,IBM 370系列32位机的指令格式有半字长的,单字长的,还有一个半字长的。在Pentium系列机中,指令字长度也是可变的,有8位、16位、32位、64位不等。

使用多字长指令的目的在于提供足够的地址位来解决访问主存任何单元的寻址问题。但是,使用多字长指令的一个主要缺点是必须两次或多次访问主存以取出一整条指令,这样做降低了CPU的运算速度,同时占用了更多的存储空间。

在一个指令系统中,如果各种指令字长度是相等的,就称为等长指令字结构,例如都采用单字长指令或半字长指令。这种指令字结构简单,且指令字长度不变。如果各种指令字长度随指令功能而异,比如有的指令是单字长指令,有的指令是双字长指令,这就称为变长指令字结构。这种指令字结构灵活,能充分利用指令长度,但指令的控制较为复杂。