【计算机组成原理】指令系统
创始人
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位 操作码字段的指令系统最大能够表示条指令。.
  • 优:定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利;
  • 缺:指令数量增加时会占用更多固定位,留给表示操作数地址的位数受限。

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

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

指令寻址

相关内容

热门资讯

六月二十七日望湖楼醉书 这首诗... 六月二十七日望湖楼醉书 这首诗的写作结构是怎样的?雨前:黑云到入船。雨停:第三句。雨后:最后一句
如果我带着醉意出生,或许我会忘... 如果我带着醉意出生,或许我会忘掉所有的哀伤,这是哪本书上的句子《八百万种死法》,最近电视剧无懈可击之...
优美动人怎么造句孑 优美动人怎么造句孑她的舞姿优美动人,真是让人难以忘怀!
在科学上没有平坦的大道,只有不... 在科学上没有平坦的大道,只有不畏艰险沿着陡峭山路攀登的人,才有希望达到光辉的顶点。这句话的意思。这句...
有什么好看的网王小说?要完结的 有什么好看的网王小说?要完结的四叶三叶草,我的幸福《网王守望幸福《网王——今生无忧》(《夏之纪年》《...
郭达换大米剧本谁写的 郭达换大米剧本谁写的换大米的作者是 郭达和蔡明
园林绿化公司怎么起名 园林绿化公司怎么起名我们是做园林绿化设计、施工管理的自然世界园林绿化公司,新鲜空气园林绿化公司,超时...
命运石之门,谁发信对主人公说你... 命运石之门,谁发信对主人公说你知道的太多了FB指示萌郁发送的(官方资料设定集里写了)FB即是楼下的显...
有关超市开业播放的音乐 有关超市开业播放的音乐请各位关注本问题的大侠们,帮我找一下超市、商场开业时用到的喜庆音乐!谢谢,有追...
现代人物人物苦学成才的故事 现代人物人物苦学成才的故事现代人物人物苦学成才的故事 张恨水先生是我国著名的现代作家。17岁时,他...
是惊的成语,以惊字结尾的成语,... 是惊的成语,以惊字结尾的成语,惊字在后面的成语 第四个字是惊的成语详细〔 胆颤心惊 〕颤:发抖。形...
判断一个女人对你“欲擒故纵”,... 判断一个女人对你“欲擒故纵”,还是“压根没戏”,关键看哪几点?首先知竖,对方给你回消息的语气。如历芹...
自己写的儿童诗 自己写的儿童诗有什么可以帮你的追问:我要自己写的儿童诗,谢谢了!追答:主要是我都不知道有什么要求啊追...
地下城堡2聚火之心有用吗 地下城堡2聚火之心有用吗有用。《地下城堡2:黑暗觉醒》是一款模拟经营与地牢探险游戏高贺轿。游戏中聚火...
在学校如何和老师斗智斗勇 在学校如何和老师斗智斗勇 老师说上课是对牛弹琴时,作为学生的我们应该感到高兴,因为老师说的是事实啊...
神级龙卫男主和谁在一起 神级龙卫男主和谁在一起你好。神级龙卫男主沈浪跟女主白倾雨,苏若雪,柳潇潇最终走到一起了。让我们来看看...
开学以来作文520初中 开学以来作文520初中初一的感觉 似水流年,今天的我们已不再是在草地里玩过家家的小朋友;今天的我们已...
家有黄仙能养两只猫吗 家有黄仙能养两只猫吗可以养的,不犯冲突,猫捉老鼠是老鼠的天敌,养猫后家里的老鼠会少很多。
失忆后的人会不会有恐惧和绝望的... 失忆后的人会不会有恐惧和绝望的心理?我是指那种完全忘记了自己的一切的人。失忆...如果真的全部忘记,...
胡萝卜长期保存方法 胡萝卜长期保存方法胡萝卜放保鲜袋里放冰箱可以放很长时间。