第4章:指令系统

2024-02-06 10:10
文章标签 指令系统

本文主要是介绍第4章:指令系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:本章概述

在这里插入图片描述

指令(又称为机器指令)

是指示计算机执行某种操作的命令,是计算机运行的最小功能单位,一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。
注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。
在这里插入图片描述

指令格式

一条指令就是机器语言的一个语言,它是一组有意义的二进制代码。
一条指令通常要包括操作码字段和地址字段两部分。
在这里插入图片描述

四地址指令。

在这里插入图片描述
指令含义:(A1)OP(A2)->A3,A4下一条将要执行指令的地址。
设指令字长为32位,操作码占8位,4个地址码字段各占6位。
设存储字长32位,即4B
A1可直接表示2的6次方=64个不同位置。
一条指令的执行(假设每个地址都是主存地址);
取指令 访存1次(假设指令字长=存储字长)
取两个操作数 :访存2次。
存回结果 访存1次
共访存4次。

三地址指令

程序计数器PC
在这里插入图片描述
在这里插入图片描述
指令含义:(A1)OP(A2)—>A3
3个地址码字段各占8位,指令操作数直接寻址范围为2的8次方=256;完成一条指令需要访存4次。

二地址指令

在这里插入图片描述
指令含义:(A1)OP(A2)—>A1
2个地址码字段各占12位,指令操作数直接寻址范围2的12次方=4k;完成一条指令需要访存4次。

一地址指令

在这里插入图片描述

指令含义:1.OP(A1)->A1,如加1,减1,取反,求补等。

指令取出一次
A1取出一次,
A1存储一次,
完成一条指令需要访存3次。

2.(ACC)OP(A1)–>ACC,隐含约定的目的地址为ACC,

完成一条指令的需要访存2次。取指令和取A1,然后直接放在CPU中,不需要访问存储器。
1的地址吗的字段占24位,指令操作数直接寻址范围2的24次方=16M

零指令指令

在这里插入图片描述
指令含义:1.不需要操作数,如空操作,停机,关中断等指令。
2.堆栈计算机,两个操作数隐含存放在栈顶和次栈顶,计算结果压回栈顶。

以上为定长指令字结构:指令长度固定。

变长指令字机构:指令字长不等。
定长操作码:n位->2的n条指令。
扩展操作码:操作码长度可变。

扩展操作码

指令字长为16位,
指令字长为16位,另有3个4位长的地址字段A1,A2,和A3。
4位基本操作码若全部用于三地址指令,另有16条。但至少需将1111流作扩展操作码之用,即三地址指令15条。
1111 1111留作扩展操作码之用,二地址指令15条。
1111 1111 1111留作扩展操作码之用,一地址指令为15条。
零地址指令为16条。
在这里插入图片描述

操作注意事项

在设计扩展操作码指令格式时,必须注意以下两点:
1):不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同。
2):各指令的操作码一定不能重复。
通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较低的额指令,分配较长的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间。

扩展操作码举例。

设指令字长固定16位,试设计一套指令系统满足:
在这里插入图片描述
在这里插入图片描述

操作类型

1数据传送。

						       源                              目的
LOAD  作用:把存储器中数据放到寄存器中。
STORE:作用:把寄存器中数据放到存储器中。

数据传送类:进行主存与CPU之间的数据传送。

2算术逻辑操作

算术:

加减乘除,增1,减1,求补,浮点运算,十进制运算。

逻辑:

与,或,非,异或,位操作,位测试,位清除,位求反。

3位移操作

算术移位,逻辑移位,循环移位(带进位和不带进位)

4.转移操作

无条件转移JMP,
条件转移JZ,结果为0;JO:结果溢出;JC;结果有进位。
调用和返回CALL和RETURN
陷阱(Trap)与陷阱指令。

5.输入输出操作。

CPU寄存器与IO端口之间的数据传送(端口即IO接口中寄存器).
输入输出类(I/O):进行CPU与I/O设备之间的数据传送。

二 指令寻址

在这里插入图片描述

数据存放

在这里插入图片描述

指令寻址

在这里插入图片描述

操作数类型

在这里插入图片描述

数据寻址

一地址指令

在这里插入图片描述
在这里插入图片描述

二地址指令

在这里插入图片描述

1:立即寻址

假设指令字长=机器字长=存储字长,操作数为3
一地址指令:
在这里插入图片描述
立即寻址:形式地址A就是操作数本身,又称为立即数,一般采用补码,#代表立即寻址特征。
寻址过程:一条指令的执行:
取指令 访存1次
执行指令,访存0次
暂不考虑存结果
共访存1次。
优点:指令执行阶段不访问主存,指令执行时间最短
缺点:A的位数限制了立即数的范围
如A的位数为n,且立即数采用补码时,可表示的数据范围为-2的n-1次方----2的n-1次方-1

2;直接寻址

假设指令字长=机器字长=存储字长,操作数为3
一地址指令。
在这里插入图片描述
直接寻址:指令字中的形式地址A就是操作数的真实地址EA,即EA=A。
在这里插入图片描述
过程:一条指令的执行:
取指令 访存1次,
执行指令 访存1次
暂不考虑结果
共访存2次。

优点:简单,指令执行阶段仅访问一次主存,不需专门计算操作数的地址。
缺点:A的位数决定了该指令操作数的寻址范围。操作数的地址不易修改。

3.间接寻址

假设指令字长=存储字长,操作数为3
一地址指令
在这里插入图片描述
间接寻址:指令的地址字段给出形式地址不是操作数的真正地址,而是操作数有效地址所在的存储单元的地址,也就是操作地址的地址。即EA=(A)
在这里插入图片描述
一条指令的执行:
取指令到CPU 访存1次,
执行指令 访存2次
暂不考虑结果
共访存3次
在这里插入图片描述
存储单元前增加1个位,这个位存储为1,说明存储的为地址,存0说明存储有效地址。

优点:可扩大寻址范围(有效地址EA的位数大于形式地址A的位数)
便于编制程序(用间接寻址可以方便完成子程序返回).

缺点:
指令在执行阶段要多次访存(一次间址需要两次访存,多次间址需根据存储字的最高位确定几次访存).

4.寄存器寻址

假设指令字长=机器字长=存储字长,操作数3
一地址指令:
在这里插入图片描述
寄存器寻址:在指令字中直接给出操作数所在的寄存器编号,即EA=R1,其操作数在由R1所指的寄存器内。
在这里插入图片描述
过程:一条指令的执行;
取指令 访存1次
执行指令 访存0次
暂不考虑结果
共访存1次。

优点:指令在执行阶段不访问主存,只访问寄存器,指令字短且执行速度快,支持向量/矩阵运算。
确定:
寄存器价格昂贵,计算机中寄存器个数有限。

5,寄存器间接寻址

假设指令字长=存储字长=机器字长,操作数为3
一地址指令;
在这里插入图片描述
寄存器间接寻址:寄存器Ri中给出的不是一个操作数,而是操作数所在主存单元的地址,即EA=(Ai)
在这里插入图片描述
过程:一条指令的执行;
取指令 访存1次,
执行指令 访存1次。
共访存2次。

特点:与一般间接寻址相比速度更快,但是指令的执行阶段幼访问主存(因为操作数在主存中).

6.隐含寻址

隐含寻址:不是明显地给出操作数的地址,而是在指令隐含着操作数的地址。
在这里插入图片描述
优点:有利于缩短指令字长。
缺点:需要增加存储操作数或隐含地址的硬件。

总结

在这里插入图片描述

这篇关于第4章:指令系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/683972

相关文章

【计算机组成原理】四、指令系统:2.指令的寻址方式(指令寻址、数据寻址)

指令的寻址方式 文章目录 指令的寻址方式3.指令寻址3.1顺序寻址3.2跳跃寻址 4.数据寻址4.1直接寻址4.2间接寻址4.3寄存器寻址4.4寄存器间接寻址4.5隐含寻址4.6立即寻址4.7偏移寻址4.7.1基址寻址4.7.2变址寻址4.7.3相对寻址 4.8堆栈寻址 3.指令寻址 指令寻址:确定下一条指令存放的地址。 程序计数器PC:指明一条指令的存放地址。 【注意

计算机组成原理(4):指令系统/控制器

1 指令格式 【补充知识】   计算机语言的层级关系:机器语言 - 汇编语言 - 高级语言; ​ 机器语言用二进制来编写,用来反映硬件的语言。但是二进制编写太难了,就诞生了汇编语言,对其编程进行封装、简化; ​ 计算机工作的本质就是连续执行一条条机器语言,每一条机器语言的语句 称为 ==机器指令,==是一组有意义的二进制代码; ​ 将全部机器指令的集合 称为 机器的 指令系统 ; ​

计算机组成原理----指令系统课后习题

对应的知识点: 指令系统 扩展操作码的计算: 公式: 对扩展操作码而言,若地址长度为n,上一层留出m种状态,下一层可扩展出 mx2^n 种状态 1.设计某指令系统时,假设采用 16 位定长指令字格式,操作码使用扩展编码方式,地址码为6位,包含零地址,一地址和二地址3种格式的指令,若二地址指令有12条,一地址指令有254条,则零地址指令的条数最多为() A.0        B.2

ARM指令系统概述

摘译自Matteo Franchin的PPT《ARMv8-A A64 ISA Overview》。 寄存器 ARM共有31个通用寄存器和2个特殊寄存器,都是64位。31个通用寄存器用X0到X30来表示,两个特殊寄存器是SP和ZR。 SP是栈指针,其内容是栈底的地址,必须满足16字节对齐的条件,否则无法使用。例如: ADD SP, SP, #8 这种用法是错误的,因为所得到的SP不满足16字

Vue入门到关门之指令系统

一、引入 在 Vue.js 中,指令(Directives)是一种特殊的标记,用于向 Vue 实例提供特殊的行为。指令以 v- 开头,例如 v-if、v-for 等。 指令的本质就是语法糖,标志位。在编译阶段 render 函数里,会把指令编译成 JavaScript 代码。注意:指令都是放在标签上的 二、指令 1、文本指令 (1)v-text v-text是渲染字符串,会覆盖原先的字

【汇编】#6 80x86指令系统其二(串处理与控制转移与子函数)

文章目录 一、串处理指令1. 与 REP 协作的 MOVS / STOS / LODS的指令1.1 重复前缀指令REP1.2 字符串传送指令(Move String Instruction)1.2 存串指令(Store String Instruction)1.3 取字符串指令(Load String Instruction) 2. 与 REPE(REPNE)配合工作的CMPS 和 SCAS

【上海大学计算机组成原理实验报告】四、指令系统实验

一、实验目的 了解指令结构、PC寄存器的功能和指令系统的基本工作原理。 学习设计指令的方法。 二、实验原理 根据实验指导书的相关内容,对于部分使用频率很高,且只用几条微指令即可完成的简单操作,可以把这部分简单操作的微指令序列固定下来,存放在一个快速存储器中。之后我们就可以用不同的指令来调用不同的微程序,以达到完成不同指令的功能。 本实验所用的实验箱的指令系统中,每条指令均由4条微指

【上海大学计算机组成原理实验报告】三、微指令系统实验

一、实验目的 了解译码器、微指令结构的基本工作原理。学习设计微指令的方法。 二、实验原理 根据实验指导书的相关内容,本实验所用的实验箱的微指令系统控制总线宽度为24位,每个地址单元宽度也为24位,其中微指令存储器由3片8位存储器按照一定连接方案组成24位的存储器。操作微指令的界面包括Adr、MH、MM、ML,我们可以通过小键盘的NX键和LS键查看不同的微地址单元,其中NX键用于显示当前微地址

汇编小结 3.3 8086的指令系统

一:数据传递指令 1.通用数据传递 (1)mov   DST  SRC(DST目的操作数,SRC源操作数) mov可传递的类型有:寄存器与内存,常数给内存。。 举例: mov  al  6 mov  ax  5A98H mov ax 0BCD9H(B>9所以前边加一个前导0,不占位置只供识别) mov bx cx mov ax sI mov  AH cI 当时这些类型时前后操

计算机组成原理 — 指令系统

指令系统 指令系统指令的概述指令的格式指令的字长取决于 操作数类型和操作种类操作数的类型数据在存储器中的存放方式操作类型 寻址方式指令寻址数据寻址立即寻址直接寻址隐含寻址间接寻址寄存器寻址寄存器间接寻址基址寻址变址寻址堆栈寻址 RISC 和 CISC 技术RISC 即精简指令系统计算机CISC 即复杂指令系统计算机RISC 和 CISC 的比较 大家好呀!我是小笙,本章我