文章目录
- 机器指令
-
- 指令的一般格式
-
- 梳理机器字长、指令字长、存储字长
- 指令字长
- 操作数类型和操作种类
-
- 寻址方式⭐️
-
- 指令寻址
- 数据寻址
-
- 立即寻址
- 直接寻址
- 隐含寻址
- 间接寻址
- 寄存器寻址
- 寄存器间接寻址
- 基址寻址
- 变址寻址
-
- 相对寻址(带例题详解)
- 堆栈寻址(带例题详解)
- 总结一下
- 寻址方式相关题型⭐️⭐️
-
- RISC技术(了解)
- 小结
-
机器指令
指令的一般格式
操作码字段 (OP) |
地址码字段 (A,几地址就有几个A) |
操作码(扩展操作码⭐️)
反映机器做什么操作
- 长度固定
- 用于指令字长较长的情况,RISC。位置固定,位数固定,便于译码处理。
- 长度可变
- 操作码分散在指令字的不同字段中,指令字长较短时,可利用操作码的扩展技术,增加操作系统的操作类型。
⭐️扩展操作码
- 扩展操作码应遵守的原则:
- 使用频度高的指令应分配短的操作码,使用频率低的指令相应地分配较长的操作码
- 短码不能是长码的前缀
- 操作码的位数随地址数的减少而增加
一道例题
假设字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式
地址码(访存次数⭐️)
- 四地址
四次访存
:取址→访 A 1 A_1 A1→访 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)
- 二地址
4次访存
:取址→访 A 1 A_1 A1→访 A 2 A_2 A2→结果(存回 A 1 A_1 A1/ A 2 A_2 A2)
存于ACC,3次访存
:若存ACC里,那就少存回的那一次
- 一地址
- 零地址:无地址码
日常分不清楚
梳理机器字长、指令字长、存储字长
- 字长:
一个字中的二进制位的位数
- 二进制的每一个0或1是组成二进制的最小单位,称为位(bit)。常用的字长为8位、16位、32位和64位。字长为8位的编码称为字节,是计算机中的基本编码单位。
- 机器字长:
计算机能直接处理的二进制数据的位数。
- 机器字长通常与主存单元的位数一致,即与寄存器内核位数有关
- 机器字长反映了计算机的运算精度,即字长越长,数的表示范围也越大,精度也越高。
- 机器字长与主存储器字长通常是相同的,但也可以不同.不同的情况下,一般是主存储器字长小于机器字长,例如机器字长是32位,主存储器字长可以是32位,也可以是16位,当然,两者都会影响CPU的工作效率。
- 指令字长:
一个指令字中包含二进制代码的总位数。
- 存储字长:
一个存储单元存储二进制代码的位数。
啊我真的需要分清楚嘛
指令字长
字长可变,导致控制电路复杂,多字长指令需要多次访存,应尽量把常用指令设计为单字长/短字长(通常令字长取8的整数倍)
当用一些硬件资源代替指令字中的地址码字段后
(用PC代替 A 4 A_4 A4)
- 可扩大指令操作数的寻址范围
- 可缩短指令字长
- 可减少访存次数
当指令的地址字段为寄存器时
(将结果存于ACC)
操作数类型和操作种类
操作数类型
数据在存储器中的存放方式
指路第四章第三只的第三根
操作类型
- 数据传送
- 算术逻辑运算
- 移位运算
- 转移
-
无条件转移
JMP
-
条件转移
-
陷阱与陷阱指令
- 一般不提供给用户直接使用(在出现事故时,由CPU自动产生并执行)
- 设置供用户使用的陷阱指令
-
调用和返回
- 在编写程序时,有些具有特定功能的程序段会被反复利用,为避免重复编写,可将这些程序段设定为独立子程序,但需要执行某子程序时,只需要子程序调用指令即可。
- 子程序可在多处被调用
- 子程序调用可出现在子程序中,即运行子程序嵌套
- 每个CALL指令都对应一条RETURN指令
- 堆栈用于子程序的多重调用
对照中断嵌套,大体流程对照理解,多重调用软件实现,中断嵌套硬件实现,前者又称为软中断。
- 输入输出
- 入:端口地址→CPU的寄存器
- 出:CPU的寄存器→端口地址
寻址方式⭐️
指令寻址
:下一条欲执行指令的指令地址
数据寻址
:确定本条指令的操作数地址
指令寻址
指令寻址比较简单,它分为顺序寻址和跳跃寻址两种
- 顺序寻址可通过程序计数器PC+1,自动形成下一条指令的地址
- 跳跃寻址通过转移类指令实现
数据寻址
数据寻址实际上就是取操作数
- 数据寻址方式种类较多,在指令字中设一字段来指明属于哪一种寻址方式(
寻址特征
)
- 指令的地址码字段通常都不代表操作数的真实地址,故把它称为
形式地址,记作A
- 操作数的真实地址(寄存器的端口地址)称为
有效地址,记作EA
,它是由寻址方式和形式地址共同来确定的
指令字长 = 存储字长 = 机器字长
实际不一定成立,作以上约定。其中指令字长=存储字长使得访问一次内存,得到一条完整指令。
立即寻址
直接寻址
隐含寻址
间接寻址
寄存器寻址
寄存器间接寻址
基址寻址
变址寻址
比较基址寻址和变址寻址
相对寻址(带例题详解)
相对寻址一道题(带批注详解)
堆栈寻址(带例题详解)
堆栈寻址一道题(带批注详解)
总结一下
寻址方式相关题型⭐️⭐️
寻址方式的理解
指令格式设计
RISC技术(了解)
RISC:精简指令系统计算机
主要特征
小结
划个重点
参考博客
机器字长、指令字长、存储字长