【计算机组成原理】指令系统
创始人
2024-05-29 08:10:25
0

目录

指令格式

按指令数目分类:

零地址指令

一地址指令

二地址指令

三地址指令

四地址指令

按指令长度分类:

指令字长

机器字长

存储字长

按操作码的长度分类

定长操作码

可变长操作码

定长指令字结构+可变长操作码------>拓展操作码指令格式

按操作类型分类

数据传送(数据传输类)

算数逻辑操作(运算类)

移位操作(运算类)

转移操作(程序控制类)

输入输出操作(输入输出类I/O)

拓展操作码

拓展操作码举例

定长操作码与拓展操作码

指令寻址


指令格式

何为指令?(指令定义)

指令:指令又称为机器指令,是指计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该计算机的指令系统,也成指令集。(一台计算机只能执行自己的指令系统,不能执行其他系统的指令)

比如说x86架构和ARM架构,目前的Intel电脑芯片基本上都是支持x86架构的,而手机芯片一般是使用ARM架构,因此在手机上的app不能够直接在电脑上运行。因为两个不同的架构所拥有的指令系统是不一样的。

    • 一条指令就是及其语言的一个子句,它是一组有意义的二进制代码。
    • 一条指令通常要包括操作码字段和地址码字段两个部分。
    • 根据一条指令可能包含几个地址码数目的不同,可将指令的分为零地址指令、一地址指令、二地址指令...

按指令数目分类:

零地址指令

  1. 不需要操作数,如空操作、停机、关中断等指令
  2. 堆栈计算机:两个操作数隐含存放在栈顶和次栈顶,计算结果压回栈顶。(后缀表达式)

一地址指令

  1. 只需要简单操作数,如加1、减1、取反、求补等

指令含义:OP(A1)--->A1 A1为某个主存地址

完成一条指令需要3次访存:取指--->读A1--->写A1

  1. 需要两个操作数,但其中一个操作数隐含在某个寄存器(如隐含在ACC)

指令含义:(ACC)OP(A1)--->ACC

完成一条指令需要2次访存:取指--->读A1(存结果到寄存器中不需要执行,因此两次就可以了)

二地址指令

常用于两个操作数的算数运算、逻辑运算相关指令

指令含义:(A1)OP(A2)--->A1

完成一条指令需要访存4次:取指--->读A1--->读A2--->写A1

三地址指令

常用于需要两个操作数的运算符、逻辑运算相关指令

指令含义:(A1)OP(A2)--->A3

完成一条指令需要访存4次:取指--->读A1--->读A2--->写A3

四地址指令

指令含义:(A1)OP(A2)--->A3 ,A4=下一条将要执行指令的地址

完成一条指令需要访存4次:取指--->读A1--->读A2--->写A3

按指令长度分类:

指令字长会影响取指令所需时间。如:机器字长=存储字长=16bit,则读取一条双字长指令需要两次访存

定长指令字结构:指令系统中所有指令的长度都相等

变长指令子结构:指令系统中各种指令的长度不等

指令字长

一条指令的总长度(可能会改变)

机器字长

CPU进行一次整数运算所能处理的二进制数据的位数(通常和ALU直接相关)

存储字长

一个存储单元中的二进制代码位数(通常和MDR位数相同)

按操作码的长度分类

定长操作码

指令系统中所有指令的操作码长度相同

n位-->条指令

控制器的译码电路设计简单,但灵活性较低

可变长操作码

指令系统中各指令的操作码长度可变

控制器的译码电路设计复杂,但灵活性较高

定长指令字结构+可变长操作码------>拓展操作码指令格式

按操作类型分类

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

程序控制类:改变程序执行的顺序

算数类:实现了各种运算,算数、逻辑、移位

输入输出类(I/0) :进行CPU和I/0设备之间的数据传送

数据传送(数据传输类)

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

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

算数逻辑操作(运算类)

算术:加、减、乘、除、增1、减1、求补、浮点运算、十进制运算

逻辑:与、或、非、异或、位操作、位测试、位清除、位求反

移位操作(运算类)

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

转移操作(程序控制类)

无条件转移JMP

条件转移 JZ:结果为0 ;

JO: 结果溢出;

JC:结果有进位。

调用和返回CALL和RETURN

陷阱(Trap)与陷阱指令

输入输出操作(输入输出类I/O)

CPU寄存器与I0端口之间的数据传送(端口即I0接口中的寄存器)

拓展操作码

每个指令字长是16位,每个地址码占4位

4位基本操作码若全部用于三地址指令,则有16条。

但至少须将1111留作扩展操作码之用,即三地址指令为15条;

留下1111拓展码的作用是为了让计算机在识别前4位为1111时能够知道这是一条二地址码,而不是一条三地址码。

1111 1111留作扩展操作码之用,二地址指令为15条;

1111 1111 1111留作扩展操作码之用,一地址指令为15条;

零地址指令为16条;

在设计操作码指令格式时的注意点:

  • 不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同;
  • 各指令的操作码一定不能重复。

这就是为什么留下1111为拓展码的原因了!

通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较高的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间

拓展操作码举例

定长操作码与拓展操作码

定长操作码:在指令字的最高位部分分配固定的若干位(定长)表示操作码;

  • 一般n位 操作码字段的指令系统最大能够表示条指令。.
  • 优:定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利;
  • 缺:指令数量增加时会占用更多固定位,留给表示操作数地址的位数受限。

拓展操作码(不定长操作码):全部指令的操作码字段的位数不固定,且分散地放在指令字的不同位置上。

  • 最常见的变长操作码方法是扩展操作码,使操作码的长度随地址码的减少而增加,不同地址数的指令可以具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。
  • 优:在指令字长有限的前提下仍保持比较丰富的指令种类;
  • 缺:增加了指令译码和分析的难度,使控制器的设计复杂化。

指令寻址

相关内容

热门资讯

曾经的爱 曾经的爱我自己来回答我可能是真的喜欢她但是,每次不知道为什么看到她就一中伤心的感觉不知道谁能告诉我这...
小公鸡不见偷偷的跟在小鸭子后面... 小公鸡不见偷偷的跟在小鸭子后面也下了水偷偷地这个词加上这个词的好处是小公鸡不见偷偷的跟在小鸭子后面也...
开紫钻一年多少钱? 开紫钻一年多少钱?我卖180 ,一年大概120 玩旋舞特适合用财富通开8.8折一共是211
关于韩剧 关于韩剧灰姑娘的姐姐吧,不错。还有一枝梅。狗与狼的时间,都好看。
谁小泰罗的电影? 谁小泰罗的电影?小泰罗奥特曼的电影? 你说的这个是奥特曼剧场版《奥特物语》网上搜一下就能找到
电纸书和mp4功能一样吗,买电... 电纸书和mp4功能一样吗,买电子书好还是mp4好啊?推荐一款吧?谢谢看你具体干什么了,如果喜欢看电子...
关于ff14的装备出售问题! ... 关于ff14的装备出售问题! 为什么好多装备无法在市场出售?紫装绿装不说,为什么普通白装也不能关于f...
为什么佛法的争论那么激烈? 为什么佛法的争论那么激烈?因为他们没有一个统一的经典,来指导他们,告诉他们真理. 不然他们就不会拜那...
为什么有的调皮美女不喜欢调皮男... 为什么有的调皮美女不喜欢调皮男人,不稳重没有安全感。她喜欢成熟有男人味安全感男人?大部分女人都喜欢成...
哪些男明星男人味儿彰显,成熟的... 哪些男明星男人味儿彰显,成熟的魅力撩动心弦让你沦陷?朱一龙,张若昀,李钟硕,李承铉,靳东等,这些男明...
天书奇谈里皇城里的盘龙石柱在哪... 天书奇谈里皇城里的盘龙石柱在哪阿、?点左上角的【寻】会出来一个框,里面有蟠龙石柱,点击左键会自动寻找...
50年前,长沙镖子岭。老烟头把... 50年前,长沙镖子岭。老烟头把他的旱烟在地上敲了敲:“下不下去喃?”独眼的小伙子说:“不去,电视剧5...
如何评价演员袁姗姗,她是不是真... 如何评价演员袁姗姗,她是不是真的不适合娱乐圈?因人而异吧,我个人还是比较喜欢她的,虽然长得确实不漂亮...
各路大神? 各路大神?既然可以发送、接受文件,可以确认电脑蓝牙驱动正常,可以连接手机蓝牙。接下来要确认手机有蓝牙...
三国演义诸葛亮的资料 三国演义诸葛亮的资料三国演义诸葛亮的资料去看史书就知道了诸葛亮子孔明,号卧龙,南阳人,著作出师表,隆...
如何隐藏一个硬盘分区,只能我自... 如何隐藏一个硬盘分区,只能我自己能进,别人都看不到。用patition magic 隐藏分区
韩剧名字其中两个字是爱情 韩剧名字其中两个字是爱情没关系,是爱情啊--赵寅成,孔孝真最佳爱情--车胜元,孔孝真爱情能用钱买吗-...
谁炒股一年能挣百万 谁炒股一年能挣百万规定时间 数量 你以为在算加减法 能有正解答案 股市是有时长时短 时多时少 这是没...
一个你不爱的人 一个你不爱的人面拒绝 呵呵,女的都出来了,这问题到是比较符合你们!其他的怎么女的回答的那么少??
有人有曲的成语 有人有曲的成语曲尽人情【读音】qū jìn rén qíng【释义】委婉周到地把人之常情或世态充分体...