计算机组成原理
##第四章 指令系统
author:slightwjq
2022年12月30日
4.1 指令格式
机器指令是指示计算机执行某种操作的命令,一条指令通常包括地址码字段和操作码字段两部分。
指令字长和机器字长没有固定关系。
可分为:
- 1、零地址指令:只给出操作码,没有显式地址,有两种可能。
- 不需要操作数的指令,如空操作,关中断。
- 运算类指令仅用在堆栈计算机中。
- 2、一地址指令:三次访存
- 只有目的操作数,如加一减一,求反,求补。
- 隐含约定目的地址。
- 3、二地址指令:四次访存,常用的算术和逻辑运算。
- 4、三地址指令
- 5、四地址指令
拓展操作码:保留一定位数为下一层所用
* 不允许短码是长码的前缀,如哈夫曼树
* 操作码一定不能重复
指令类型:数据传送、逻辑和算术运算、移位操作、转移操作、输入和输出操作。
4.2 指令寻址方式
地址码字段不代表操作数真实地址,成为形式地址(A)。其有效地址为EA。
寻址方式分为指令寻址和数据寻址两大类。寻找下一条将要执行指令地址称为指令寻址;寻找本条指令的数据地址称为数据寻址。
指令寻址
- 顺序寻址:程序计数器PC加1,自动形成下一条指令地址。
- 跳跃寻址:本条指令给出下一条指令地址的计算方式。跳跃结果是当前指令修改PC值,因此下一条指令仍通过PC给出 。
数据寻址
- 隐含寻址:隐含操作数地址
- 立即寻址:指令地址字段给出的是操作数本身,补码表示。
- 间接寻址:EA = (A),可以多次间址。
- 寄存器寻址:指令中给出的是操作数所在的寄存器编号即EA = R
i。 - 寄存器间接寻址:R
i给出的不是操作数,而是操作数所在地址,EA = (Ri) - 相对寻址:把PC内容加上指令格式中的形式地址A而形成有效地址,EA = (PC)+ A,A是相对于下一条指令的位移量(因为PC取指令后自动加1),便于程序浮动。
- 基址寻址:将基址寄存器BR的内容加上形式地址A而形成有效地址,EA = (BR)+ A,有利于多道程序设计,便于内存中浮动。
- 变址寻址:指令的形式地址A与变址寄存器IX的和形成有效地址,EA = (IX)+ A,IX面向用户,适合循环程序。
- 堆栈寻址。
4.4 CISC和RISC
CISC复杂指令系统计算机
指令长度不固定,指令格式多,寻址方式多,控制器采用微信程序控制。
精简指令系统计算机
选取使用频率最高的简单指令,复杂指令功能由简单功能组合实现。
指令长度固定,指令种类少,寻址方式种类少。
只有Load/Store指令能访存。
以硬布线控制器为主。
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2023/10/17/计算机组成原理-第四章/
- 版权声明: 该文章来源及最终解释权归作者所有