计算机组成原理与思维导图(三)
喜欢的话请给个关注或者点个赞再走吧,你们的支持是我创作的动力!
谢谢你们 祝大家早日上岸 点个收藏吧!后续会有考研真题更新哦!
第三章 指令系统
一、基本概念
基本概念: 指令 和 指令系统 是计算机最基本的概念,指令 是 计算机执行某些操作的 指令。一台计算机 所有指令的集合 构成该机的指令系统,也称 指令集。
指令本质上都是机器语言,也就是字节
单字长指令 为一个字节,双字长指令 为为两个字节。
二、指令格式
1、机器指令的基本格式
一条指令就是机器的一条语句,它是一组有意义的二进制代码,指令的基本格式。指令的选择和确定不仅涉及 操作码字段 、地址码字段 还涉及 指令长度 。 如下
(一) 操作码字段
操作码: 指明了指令 操作性质 和 功能 。
(二) 地址码字段
地址码: 给出了 操作数 的 地址。
(三) 指令长度
指令长度: 指令长度是指一段二进制指令代码的 位数 。它的长度取决于 操作码字段 的长度、操作数地址的个数、长度。
(四) 半字长指令长度
半字长指令长度: 指令长度 = 半个机器字长的指令
PS: 机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数。
(五) 单字长指令长度
单指令长度: 指令长度 = 一个机器字长的指令
单字长指令 为一个字节
(六) 双字长指令长度
双指令长度: 指令长度 = 两个机器字长的指令
双字长指令: 为两个字节
(七) 定长指令字结构
在一个指令系统中,所有指令的长度都是 相等 的。
(八) 变长指令字结构
在一个指令系统中,所有的指令系统长度因功能 而异 。
2、地址码结构
例如:对于一般的 双操作数运算类 指令而言,除了操作码外,指令还应包含地址码。
即 指令 = 操作码 + 地址码。 地址最多分为四条:
在指令中明显地给出的地址称为 显地址
在指令中用隐含的方式给出的地址称为 隐地址
又因为 指令 所含地址个数的不同分为 五 类 地址指令。
(一) 四地址指令
四地址指令 即有四个显地址 的指令。
指令格式 如下
指令的含义 如下
Ai表示地址,(Ai)表示取出地址中的操作数
至少访问 5次 主存,第一次取指令,第二次取第一操作数,第三次取第二操作数,第四次取保存操作结果,第五次取下一指令执行地址。
缺点:指令长度太长
(二) 三地址指令
三地址指令 即有三个隐地址 的指令。
地址不明显给出,而是使用 程序计算器PC 来存放指令地址。
PC (Program calculate )
通常每执行一条命令,PC就自动加1,并从计算器PC中取出下一条地址。 这样就可以直接得到下一条的指令地址。而不用每次都从主存中取出指令。
指令格式 如下
指令含义 如下
至少访问 四次 主存,第一次取指令,第二次去第一操作数,第三次取第二操作数,第三次保存运算结果。
缺点:虽去除一个地址,但地址仍然很长,只在大型机器上使用,小型的很少使用了。
(三) 二地址指令
二指令地址 即 有两个显地址 的指令
指令格式 如下
在三地址指令的基础上,第一操作数同时兼作存放结构的地址
同样也至少访问4次地址。
(四) 一地址指令
一地址指令 即只有一个显地址 的指令。
指令格式 (其中OP表示具体操作) 如下
指令含义 如下
只需要访问两次主存,第一次取指令本身,第二次取第二操作数。
隐含的操作数 在专门的寄存器中 取出(累加寄存器ACC)
第一操作数在 acc中
A1属于第二操作数
(五) 零地址指令
即只有 操作码字段而没有地址码字段的指令
指令格式 如下
(六)不同地址数的指令特点和适用场景
如图
3、操作码结构