计算机硬件与软件之间的接口, 指令系统。
1.机器指令
1.1 指令的格式
指令的格式是什么?
操作码,地址码,寻址方式;
-
指令的字长,可以分为固定字长,可变字长;
-
操作码的长度可以是固定的,也可以是变化的。
操作码 反映机器做什么操作
长度固定:
用于指令字长较长的情况 , RISC
如 IBM 370 操作码 8 位
长度可变:
操作码分散在指令字的不同字段中
1.2 扩展操作码
扩展操作码是
一种指令优化技术,即让操作码的长度随地址数的减少而增加,不同地址数的指令可以具有不同的操作码长度;
-
三地址指令操作码, 每减少一种最多可多构成 2 4 2^4 24种二地址指令
-
二地址指令操作码,每减少一种最多可多构成 2 4 2^4 24 种一地址指令
1.3 地址码
地址码用来指出该指令的原操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。
如果地址字段均指示主存的地址,则完成一条四地址指令,共需访问4次存储器(取指令一次,取两个操作数两次,存放结果一次)
-
四地址
-
三地址
(A1) OP (A2) A3 : 若 PC 代替 A4
- 二地址
若结果存于 ACC 若ACC 代替 A1(或A2
-
一地址
-
零地址, 无地址码
1.4 指令字长
指令字长取决于:
- 操作码的长度、
- 操作数地址的长度和
- 操作数地址的个数
指令字长 固定
指令字长 = 存储字长
指令字长 可变
按字节的倍数变化
1.5 小结
当用一些硬件资源代替指令字中的地址码字段后:
• 可扩大指令的寻址范围
• 可缩短指令字长
• 可减少访存次数
当指令的地址字段为寄存器时:
三地址 OP R1, R2, R3
二地址 OP R1, R2
一地址 OP R1
• 指令执行阶段不访存
• 可缩短指令字长