
指令(又称机器指令):是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。
一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。
注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。 Eg:x86 架构、ARM架构。
半字长指令、单字长指令、双字长指令 —— 指令长度是机器字长的多少倍。
指令字长会影响取指令所需时间。如:机器字长 = 存储字长=16bit,则取一条双字长指令需要两次访存。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。一条指令通常要包括操作码字段和地址码字段两部分。

堆栈计算机在数据结构的体现:“后缀表达式”。

指令含义:OP( A 1 A_1 A1) → A 1 A_1 A1 ,完成一条指令需要3次访存:取指 → 读 A 1 A_1 A1 → 写 A 1 A_1 A1
指令含义: (ACC)OP( A 1 A_1 A1) → ACC , 完成一条指令需要2次访存:取指 → 读 A 1 A_1 A1
注: A 1 A_1 A1指某个主存地址, ( A 1 A_1 A1)表示 A 1 A_1 A1 所指向的地址中的内容。

常用于需要两个操作数的算术运算、逻辑运算相关指令
指令含义:( A 1 A_1 A1)OP( A 2 A_2 A2) → A 1 A_1 A1
完成一条指令需要访存4次,取指 → 读 A 1 A_1 A1 → 读 A 2 A_2 A2 → 写 A 1 A_1 A1

常用于需要两个操作数的算术运算、逻辑运算相关指令
指令含义:( A 1 A_1 A1)OP( A 2 A_2 A2) → A 3 A_3 A3
完成一条指令需要访存4次,取指 → 读 A 1 A_1 A1 → 读 A 2 A_2 A2 → 写 A 3 A_3 A3

指令含义:(
A
1
A_1
A1)OP(
A
2
A_2
A2) →
A
3
A_3
A3,
A
4
A_4
A4 = 下一条将要执行指令的地址;
完成一条指令需要访存4次,取指 → 读 A 1 A_1 A1 → 读 A 2 A_2 A2 → 写 A 3 A_3 A3
正常情况下:取指令之后 PC+1,指向下一条指令
四地址指令:执行指令后,将PC的值修改位 A 4 A_4 A4所指地址

定长指令字结构:指令系统中所有指令的长度都相等
变长指令字结构:指令系统中各种指令的长度不等
定长操作码:指令系统中所有指令的操作码长度都相同,控制器的译码电路设计简单。
可变长操作码:指令系统中各指令的操作码长度可变
n 位 →
2
n
2^n
2n条指令,控制器的译码电路设计复杂, 但灵活性较高。
定长指令字结构 + 可变长操作码 → 扩展操作码指令格式

