4 指令系统
- 4.1 指令系统相关概念
- 4.2 指令格式
- 4.2.1 指令结构
- 4.2.2 指令长度
- 4.2.3 机器字长
4.1 指令系统相关概念
计算机程序是一系列指令的有序集合。
指令是计算机执行某种操作的命令。
指令分为:
微指令:微程序级命令,属于硬件范畴。
机器指令:介于微指令与宏指令之间,一条机器指令可完成一个独立的算术运算或逻辑运算操作。
宏指令:由若干机器指令组成的软件指令,属软件。
而指令系统就是一台计算机中所有机器指令的集合。
指令系统决定了计算机的基本功能。
4.2 指令格式
一条指令包含的内容有操作码、操作数地址、操作结果的存储地址、下一条指令的地址。
4.2.1 指令结构
结构:操作码(OP):地址码(操作数A)
操作码指明本条指令所要完成的操作。每条指令都会被分配一个确切的操作码,即唯一的。指令系统中指令的个数N与操作码的位数n, 必须满足关系式:N≤2n。
地址码指明该指令的操作数据或操作数的主存地址或寄存器地址。
四地址指令就是 指令中含有四个操作数或者说地址码;
三地址指令就是 指令中含有三个操作数(地址码);
二地址指令就是 指令中含有两个操作数(地址码);
一地址指令只有一个地址码;
零地址指令中无地址码;
注意都有一个操作码。
4.2.2 指令长度
指令的长度 = 操作码的位数+(操作数地址个数)*(操作数地址码位数)
短指令格式:访存少,有利于提高运行速度,用于执行频率较 高的指令。
长指令格式:访存时间长,用于较为复杂的指令。
地址个数多,指令长,一条指令功能较为强大,可以缩短程序长度。
地址个数少,指令短,一条指令完成功能较少,程序长度较长,单条指令访存次数也可以相应减少,硬件设计可以得到简化
4.2.3 机器字长
机器字长:计算机能直接处理的二进制数据的位数,决定了计算机的运算精度。
地址码部分决定了指令的直接寻址能力。若为n位,则能直接寻址2n字节,增加机器字长或采用地址扩展技术可以增加地址码长度,从而提高寻址能力。