此條目没有列出任何参考或来源。 (2015年7月20日) |
在计算机技术中,指令是由指令集架构定义的单个的CPU操作。在更广泛的意义上,“指令”可以是任何可执行程序的元素的表述,例如字节码。
在传统的构架上,指令包括一个操作码(opcode)——它指定要进行什么样的操作,例如“将存储器中的内容与寄存器中的内容相加”——和零个或者更多的操作数(operand)——它可能指定参与操作的寄存器、内存地址或者立即数(literal data)。操作数可能还包括寻址方式,它确定操作数的含义。[注 1]
在超長指令字(VLIW)构架中(包括很多微指令(microcode)构架)多个并发的操作和操作数在一条单独的指令中被指定。
指令的长度相差悬殊,从一些微控制器(microcontroller)中的4位(bit)到一些超长指令字系统中的几百位。大部分现代的个人计算机、大型计算机、超大型计算机中的处理器的指令尺寸在16到64位之间。在一些构架中,特别是RISC构架中,指令长度是固定的,通常与其构架的字长一致。在其他的构架中,指令有不同的长度,但通常是字节或者半个字的整数倍。
构成程序的指令很少以它在机器内部的数值形式而直接的被使用;它们可以被程序员通过汇编语言加以表示,或者,更常见的,被编译器生成。
注释
- ^ 原文:The operand specifiers may have addressing modes determining their meaning or may be in fixed fields.——译者