一研为定,万山无阻
指令基本格式
-
机器指令:是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。
-
注意: 一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。(可移植性较差)
指令的一般格式
-
分为操作码字段,地址码字段
-
解释 :A1 表示地址,(A1) 表示地址内的值。
地址码的个数
四地址指令
- 如何解决存储位置小的问题(2^6 = 64)
- 使用程序计数器(自动计数)解决下址存储问题
- 原来是四地址指令
三地址指令
由于程序计数器的存在(使用PC 代替 A4)–> 三地址指令
- 此操作后 ,寻址范围增加
二地址指令
- 完成一次指令需要访存3次
一地址指令
- 完成上述一次操作 分别需要 三次 、两次
- 1个地址码字段占24位,指令操作数直接寻址范围为2^24=16M
零地址指令
- 不需要地址码,只有一个操作数
指令字长
小结
当用一些硬件资源代替指令字中的地址码字段后
- 可扩大指令的寻址范围
- 可缩短指令字长
- 可减少访存次数
定长操作码
-
指令字的最高位部分分配固定的若干位表示操作码
-
n 位 - > 2^n 条指令
-
简化计算机硬件设计
-
提高指令译码和识别速度
拓展操作码(重要)
编码方式举例
- 全一指令留下来 作为扩展操作指令1
注意事项
注意事项
-
1、不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同。(有点类似于数据结构的哈夫曼编码)
-
2、各指令的操作码一定不能重复。
-
3、通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较低的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间。
扩展操作码举例
- 62 的来源 --> XY分为如下两大类
- X : 1100 - 1110 Y:0000 - 1111 计数为 3 *(15+1)= 48
- X:1111 Y:0000 - 1101 计数为 1 *(13+1)= 14
总数为 48 + 14 = 62
总结
易混淆概念
- bit 比特(二进制 0/1)
- Byte 字节 (用于计量存储容量和传输容量的一种计量单位)
- 1个字节等于8位进制符号
4B = 32 位 (1 Byte = 8 bit)
- 存储容量对地址位 的推导