指令的一般格式
操作码
反应机器做什么操作。操作码在RISC中长度固定,而在CISC中长度可变。CISC的长度可变是指利用指令的其他字段对操作码字段进行扩展
扩展操作码技术
操作码的位数随地址数的减少而增加
三地址指令操作码每减少一种最多可构成$2^4$种二地址指令
二地址指令操作码每减少一种最多可构成$2^4$种一地址指令
地址码
四地址
$A_1$第一操作地址,$A_2$第二操作数地址,$A_3$结果的地址,$A_4$下一条指令地址。$(A_1) OP (A_2) \to A_3$
4次访存,寻址范围:$2^6 = 64$
三地址
在四地址的基础上,用PC代替$A_4$
$(A_1) OP (A_2) \to A_3$。4次访存,寻址范围:$2^8 = 256$
二地址
在三地址的基础上,将$A_3$用$A_1$或$A_2$代替
$(A_1) OP (A_2) \to A_1$ 或 $(A_1) OP (A_2) \to A_2$。4次访存,寻址范围:$2^{12}$
一地址
在二地址的基础上,用ACC代替$A_1$或$A_2$
$ACC OP (A_1) \to ACC$。4次访存,寻址范围:$2^{24}$
零地址
直接对ACC进行各种判断的指令
指令字长
指令字长决定于:操作码的长度、操作数地址的长度、操作数地址的个数
指令字长固定,则指令字长=存储字长;指令字长可变,则按字节的倍数变化
总结
当用一些硬件资源代替指令字种的地址码字段后:
- 可扩大指令的寻址范围
- 可缩短指令字长
- 可减少访存次数
当指令的地址字段为寄存器时:
三地址 $OP R_1,R_2,R_3$
二地址 $OP R_1,R_2$
一地址 $OP R_1$
- 可缩短指令字长
- 指令执行阶段不访存