相关概念
- 指令:又称为机器指令,计算机执行某种操作的命令。是计算机运行的最小功能单位。
- 指令系统:一台计算机所有的指令集合。
- 指令字长:一条指令的二进制位数。因为主存一般是按字节编址的,所以指令字长一般是字节的整数倍。
- 单字长指令:指令字长等于机器字长;对应有半字长指令、双字长指令。
- 定长指令字结构:在一个指令系统中,所有的指令长度是相等的。对应的是变长指令字结构。
指令的基本格式
- 操作码字段:指出指令应执行什么操作
- 地址码字段:给出被操作信息(指令或数据)的地址
指令的分类(根据根据指令中操作数地址码数目的不同)
零地址指令
有两种可能:
- 不需要操作数的指令。空操作、停机指令、关中断指令等。
- 堆栈类计算机内的运算。栈顶和次栈顶取出并送至运算器运算,运算结果再压回栈顶。
一地址指令
有两种可能
- 只有目的操作数的单操作数指令。按A1地址取操作数,进行OP操作后,结果存回原地址
指令含义:OP(A1)→A1
如操作码含义是加1、减1、求反、求补等
- 隐含约定目的地址的双操作数指令。按A1地址取出源操作数,指令可隐含约定另一个操作数由累加寄存器ACC提供,运算结果也存放到ACC中
指令含义:(ACC)OP(A1)→ACC
若指令字长为32位,操作码字段占8位,地址码字段占24位,则指令操作数的直接寻址范围是224=16M
二指令地址
| 操作码字段(OP) |
操作数地址码A1 |
操作数地址码A2 |
- 常用的算数和逻辑运算。分别给出目的操作数 和 源操作数的地址,其中目的操作数地址还用于保存本次运算的结果
指令含义:(A1)OP(A2)→A1
若指令字长为32位,操作码占8位,两个操作数地址码各占12位,则指令操作数可寻址的范围是212=4K
三指令地址
| 操作码字段(OP) |
操作数地址码A1 |
操作数地址码A2 |
操作数地址A3(结果) |
指令含义:(A1)OP(A2)→A3
若每个地址均为主存地址,且指令字长等于机器字长,则完成一条三指令地址需要4次访存(取指令1次、取操作数2次、存放结果1次)
四指令地址
| OP |
A1 |
A2 |
A3(结果) |
A4(下条指令地址) |
指令含义:(A1)OP(A2)→A3,A4=下一条指令的地址
定长操作码指令格式
- 概念:在指令字高位分配固定位数表示操作码。n位操作码可以表示2n条指令。
- 优点:简化计算机硬件设计,提高指令译码和识别速度。
扩展操作码
如以下格式:

通常情况下,对执行频率较高的指令,分配短的操作码;执行频率较低的指令,分配长的操作码。以减少指令分析及译码时间。
还有其他多种扩展方法:
【例题】设指令字长16位,试设计一套指令系统满足
a. 有15条三地址指令;b. 有12条二地址指令;c. 有62条一地址指令;d. 有32条零地址指令。

相关文章:
-
2022-01-16
-
2021-06-11
-
2021-08-06
-
2021-12-24
-
2021-12-07
-
2021-11-30
-
2021-07-16
-
2022-12-23