5 计算机组成原理第四章 指令系统

文章目录

      • 1 指令格式
        • 1.1 指令定义
        • 1.2 指令格式
        • 1.3 指令格式-地址码
        • 1.4 指令格式-操作码
        • 1.5 操作码分类
        • 1.6 操作类型
      • 2 数据存放指令寻址
        • 2.1 数据存放方式
        • 2.2 指令寻址
        • 2.3 操作数类型
        • 2.4 数据寻址
            • 2.4.1立即寻址
            • 2.4.2 直接寻址
            • 2.4.3 间接寻址
            • 2.4.4 寄存器寻址
            • 2.4.5 寄存器间接寻址
            • 2.4.6 隐含寻址
        • 2.5 数据寻址-2偏移寻址
            • 2.5.1 基址寻址
            • 2.5.2 变址寻址
            • 2.5.3 相对寻址
            • 2.5.4 相对寻址举例
            • 2.5.5 寻址方式小结
            • 2.5.6 堆栈寻址
        • 2.6 CISC和RISC
        • 2.7 指令系统小结

1 指令格式

1.1 指令定义

指令(又称机器指令):

是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。

一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。

注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。

1.2 指令格式

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码

一条指令通常要包括操作码字段和地址码字段两部分:
在这里插入图片描述

1.3 指令格式-地址码

在这里插入图片描述

指令含义(A1)OP(A2)→A3,A4=下一条将要执行指令的地址
设指令字长为32位,操作码占8位,4个地址码字段各占6位
设存储字长为32位,即 4B

  • Ai 可直接表示 26=64 个不同的位置
  • 一条指令的执行(假设每个地址都是主存地址):

取指令访存1次(假设指令字长=存储字长)
取两个操作数访存2次
存回结果访存1次
总计共访存4次

设指令字长及存储字长均为32位,操作码占8位

在这里插入图片描述
指令含义(A1)OP(A2)→A3,A4=下一条将要执行指令的地址

4个地址码字段各占6位,指令操作数直接寻址范围为 26=64;
完成一条指令需要访存4次

在这里插入图片描述
指令含义(A1)OP(A2)→A3

3个地址码字段各占8位,指令操作数直接寻址范围为 28=256;
完成一条指令需要访存4次

在这里插入图片描述
指令含义(A1)OP(A2)→A1

2个地址码字段各占12位,指令操作数直接寻址范围为 212=4K;
完成一条指令需要访存4次

在这里插入图片描述
指令含义

  1. OP(A1)→A1,如加1、减1、取反、求补等完成一条指令需要访存3次
  2. (ACC)OP(A1)→ACC,隐含约定的目的地址为 ACC
    完成一条指令需要访存2次
    1个地址码字段占24位,指令操作数直接寻址范围为 224=16M

在这里插入图片描述
指令含义

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

指令字结构

  • 定长指令字结构:指令长度固定
  • 变长指令字结构:指令长度不等

1.4 指令格式-操作码

定长操作码:n位→ 2n 条指令
扩展操作码:操作码长度可变

扩展操作码举例在这里插入图片描述
扩展思想:即动态的把地址码用作操作码,而为了识别变化,上一层操作码字段留出一个状态表示下一层

在设计扩展操作码指令格式时,必须注意以下两点:

  1. 不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同
  2. 各指令的操作码一定不能重复。
    通常情况下,对使用频率较高的指令,分配较短的操作码;
    对使用频率较低的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间。

设地址长度为 n,上一层留出 m 种状态,下一层可扩展出 mx2n 种状态
在这里插入图片描述

1.5 操作码分类

  • 操作码指出指令中该指令应该执行什么性质的操作和具有何种功能。
  • 操作码是识别指令、了解指令功能与区分操作数地址内容的组成和使用方法等的关键信息。例如,指出是算术加运算,还是减运算;是程序转移,还是返回操作。
  1. 定长操作码:在指令字的最高位部分分配固定的若干位(定长)表示操作码。
    一般 n 位操作码字段的指令系统最大能够表示 2n 条指令。

:定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利;
:指令数量增加时会占用更多固定位,留给表示操作数地址的位数受限。

  1. 扩展操作码(不定长操作码):全部指令的操作码字段的位数不固定,且分散地放在指令字的不同位置上。
    最常见的变长操作码方法是扩展操作码,使操作码的长度随地址码的减少而增加,不同地址数的指令可以具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。

:在指令字长有限的前提下仍保持比较丰富的指令种类;
:增加了指令译码和分析的难度,使控制器的设计复杂化。

1.6 操作类型

  1. 数据传送源目的
  • LOAD作用:把存储器中()的数据放到寄存器中(目的
  • STORE作用:把寄存器中的数据放到存储器
  1. 算术逻辑操作
  • 算术:加、减、乘、除、增1、减1、求补、浮点运算、十进制运算
  • 逻辑:与、或、非、异或、位操作、位测试、位清除、位求反
  1. 移位操作

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

  1. 转移操作
  • 无条件转移JMP
  • 条件转移JZ:结果为0;JO:结果溢出;JC:结果有进位
  • 调用和返回CALLRETURN
  • 陷阱(Trap)与陷阱指令
  1. 输入输出操作

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

也可以分为以下四类:

  • 数据传送类:进行主存与CPU之间的数据传送
  • 运算类
  • 程序控制类:改变程序执行的顺序
  • 输入输出类(I/O):进行CPU和I/O设备之间的数据传送

在这里插入图片描述

2 数据存放指令寻址

2.1 数据存放方式

在这里插入图片描述

三个字长:

  • 机器字长:CPU一次能处理的二进制数据的位数,受寄存器能够存放二进制位数的限制。
  • 指令字长:一个指令字中包含二进制代码的位数。
  • 存储字长:一个存储单元存储二进制代码的长度。
    :这三个字长没有固定大小的关系,但这些长度都是字节的整数倍

单字长指令:指令长度=机器字长
半字长指令、双字长指令

2.2 指令寻址

在这里插入图片描述

指令寻址

顺序寻址:(PC)+1→PC
跳跃寻址:由转移指令指出

2.3 操作数类型

在这里插入图片描述

2.4 数据寻址

在这里插入图片描述
数据寻址即根据寻址方式的要求将形式地址转化为实际地址的过程

在这里插入图片描述

2.4.1立即寻址

立即寻址:形式地址A就是操作数本身,又称为立即数,一般采用补码形式。
#表示立即寻址特征。
在这里插入图片描述
一条指令的执行:

取指令访存1次
执行指令访存0次
暂不考虑存结果
共访存1次

  • 优点:指令执行阶段不访问主存,指令执行时间最短
  • 缺点:A的位数限制了立即数的范围。
    如A的位数为 n,且立即数采用补码时,可表示的数据范围为 - 2 n - 1 ~ 2 n - 1-1
2.4.2 直接寻址

直接寻址:指令字中的形式地址A就是操作数的真实地址EA,即 EA=A。

在这里插入图片描述
一条指令的执行:

取指令访存1次
执行指令访存1次
暂不考虑存结果
共访存2次

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

间接寻址:指令的地址字段给出的形式地址不是操作数的真正地址,而是操作数有效地址所在的存储单元的地址,也就是操作数地址的地址,即 EA=(A)。

在这里插入图片描述

  • 优点:可扩大寻址范围(有效地址EA的位数大于形式地址A的位数)。
    便于编制程序(用间接寻址可以方便地完成子程序返回)。
  • 缺点:指令在执行阶段要多次访存
    一次间址需两次访存,多次寻址需根据存储字的最高位确定几次访存。
2.4.4 寄存器寻址

寄存器寻址:在指令字中直接给出操作数所在的寄存器编号,即 EA=Ri,其操作数在由Ri所指的寄存器内。

在这里插入图片描述
与直接寻址类似,只是把主存换成了寄存器

一条指令的执行:

取指令访存1次
执行指令访存0次
暂不考虑存结果
共访存1次

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

寄存器间接寻址:寄存器Ri中给出的不是一个操作数,而是操作数所在主存单元的地址,即 EA=(Ri)。
在这里插入图片描述
一条指令的执行:

取指令访存1次
执行指令访存1次
暂不考虑存结果
共访存2次

  • 特点:与一般间接寻址相比速度更快,但指令的执行阶段需要访问主存(因为操作数在主存中)。
2.4.6 隐含寻址

隐含寻址:不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。
在这里插入图片描述

  • 优点:有利于缩短指令字长。
  • 缺点:需增加存储操作数或隐含地址的硬件。

小结

寻址方式有效地址访存次数(指令执行期间)
隐含寻址程序待定0
立即寻址A即是操作数0
直接寻址EA=A1
一次间接寻址EA=(A)2
寄存器寻址EA=Ri0
寄存器间接一次寻址EA=(Ri1

2.5 数据寻址-2偏移寻址

在这里插入图片描述

2.5.1 基址寻址

基址寻址:将CPU中基址寄存器(BR)的内容加上指令格式中的形式地址A,而形成操作数的有效地址,即EA=(BR)+A
在这里插入图片描述

:基址寄存器是面向操作系统的,其内容由操作系统或管理程序确定。
在程序执行过程中,基址寄存器的内容不变(作为基地址),形式地址可变(作为偏移量)

当采用通用寄存器作为基址寄存器时,可由用户决定哪个寄存器作为基址寄存器,但其内容仍由操作系统确定。

  • 优点:可扩大寻址范围(基址寄存器的位数大于形式地址A的位数);
    用户不必考虑自己的程序存于主存的哪一空间区域,故有利于多道程序设计,以及可用于编制浮动程序。
2.5.2 变址寻址

变址寻址:有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和,即EA=(IX)+A,其中IX为变址寄存器(专用),也可用通用寄存器作为变址寄存器。
在这里插入图片描述

:变址寄存器是面向用户的,在程序执行过程中,变址寄存器的内容可由用户改变(作为偏移量),形式地址A不变(作为基地址)。

  • 优点:可扩大寻址范围(变址寄存器的位数大于形式地址A的位数);
    在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器IX的内容,便可很容易形成数组中任一数据的地址,特别适合编制循环程序。

变址寻址与基址寻址配合使用:EA=A+(BR)+(IX)
变址寻址与间接寻址配合使用:

  • 如先变址后间址,EA=(A+(IX))
  • 先间址后变址,EA=(A)+(IX)
2.5.3 相对寻址

相对寻址:把程序计数器PC的内容加上指令格式中的形式地址A而形成操作数的有效地址,即EA=(PC)+A,其中A是相对于当前指令地址的位移量,可正可负,补码表示。

在这里插入图片描述

  • 优点:操作数的地址不是固定的,它随着PC值的变化而变化,并且与指令地址之间总是相差一个固定值,因此便于程序浮动。。
    相对寻址广泛应用于转移指令。
2.5.4 相对寻址举例

某机器指令字长为16位,主存按字节编址,取指令时,每取一个字节PC自动加1。当前指令地址为2000H,指令内容为相对寻址的无条件转移指令,指令中第一个字节为操作码,第二个字节为形式地址,当前形式地址为40H。
(1)求取指令后及指令执行后PC内容。
(2)若要求转移到1F00H,求形式地址的内容。

(1)PC中一开始存放2000H,多字节指令,第一次取出的是操作码,PC更新为2001H,在2001H中取出地址码,取数过程结束,PC更新为2002H

CPU分析指令的结果:是一条无条件转移指令,EA=(PC)+A =2002H+40H =2042H
故取指令后PC内容为2002H,指令执行后PC内容为2042H

(2)即(PC)+A=2002H+A=1F00H
A=1F00H-2002H=1EFFH+1H-2002H =1EFFH-2002H+1H=FEFDH+1H=FEFEH

说明:(1EFFH-2002H=FEFDH,F(15)-2=13→D,1-2 不够减,向上借位,若是10进制,+10,这是16进制,+16为17,17-2=15,15的16进制就是F)
形式地址就是偏移量

2.5.5 寻址方式小结
寻址方式有效地址访存次数(指令执行期间)
隐含寻址程序待定0
立即寻址A即是操作数0
直接寻址EA=A1
一次间接寻址EA=(A)2
寄存器寻址EA=Ri0
寄存器间接一次寻址EA=(Ri1
相对寻址EA=(PC)+A1
基址寻址EA=(BR)+A1
变址寻址EA=(IX)+A1
  • 相对寻址:指令中的形式地址给出一个位移量A,基准地址由程序计数器PC提供,通常用于转移指令中转移目标或公共子程序中的操作数的寻址
  • 变址寻址:通常用于循环体中对数组元素的访问
2.5.6 堆栈寻址

堆栈寻址:操作数存放在堆栈中,隐含使用堆栈指针(SP)作为操作数地址。

堆栈是存储器(或专用寄存器组)中一块特定的按后进先出(LIFO)原则管理的存储区,该存储区中被读/写单元的地址是用一个特定的寄存器给出的,该寄存器称为堆栈指针(SP)。

在这里插入图片描述

2.6 CISC和RISC

CISC:Complex Instruction Set Computer(复杂指令系统计算机)

  • 设计思路:一条指令完成一个复杂的基本功能。
  • 代表:×86架构,主要用于笔记本、台式机等

RISC:Reduced Instruction Set Computer(精简指令系统计算机)

  • 设计思路:一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基本功能。
  • 代表:ARM架构,主要用于手机、平板等

在这里插入图片描述

2.7 指令系统小结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Brain】脑智前沿科普|用数学解释大脑学习的过程

来源:脑与心智毕生发展研究中心原文作者:Kate Nussenbaum,Alexandra O. Cohen原文编辑:David Sheinberg小小评阅人:Brown University Pre-College Stem I Program中文翻译版权:脑与心智毕生发展研究中心中文…

6 计算机组成原理第五章 中央处理器 CPU功能和结构 指令执行过程

文章目录1 CPU功能和基本结构1.1 CPU的功能1.2 运算器的基本结构1.3 控制器的基本结构1.4 CPU基本结构1.5 CPU的功能和基本结构小结2 指令周期和数据流2.1 指令执行过程2.2 指令周期流程2.3 指令周期的数据流-取指周期2.4 指令周期的数据流-间址周期2.5 指令周期的数据流-执行周…

7 计算机组成原理第五章 中央处理器 数据通路

文章目录1 数据通路的功能和基本结构单总线1.1 数据通路的功能1.2 数据通路-基本结构单总线2 数据通路-CPU内部单总线方式2.1 三种结构之间数据传送方式2.2 CPU内部单总线方式-例题3 专用通路3.1 专用数据通路方式3.2 专用数据通路方式-例题1 数据通路的功能和基本结构单总线 …

新研究表明 深层神经网络的功能存在局限性

GETTY IMAGES/IEEE SPECTRUM来源:IEEE电气电子工程师深度神经网络越来越有助于设计微芯片,预测蛋白质如何折叠,并在复杂游戏中胜过人们。然而,研究人员现在发现,这些人工智能系统的稳定性和准确度在理论上存在根本的限…

8 计算机组成原理第五章 中央处理器 控制器 硬布线控制器 微程序控制器

文章目录1 控制器的功能和工作原理1.1 控制器的结构和功能1.2 控制单元的输入和输出1.2.1 控制单元输入1.2.2 控制单元输出2 硬布线控制器2.1 CPU的控制方式2.2 安排微操作时序的原则(最短时间完成,参考)2.2.1 安排微操作时序-取指周期2.2.2 …

从特斯拉AI团队学到的九条方法论

来源:AI前线作者:Gary Chan译者:Sambodhi策划:李冬梅尽管 OpenAI 以其在自然语言处理上的成就而著称,而 DeepMind 则以强化学习和决策而闻名,特斯拉(Tesla)无疑是计算机视觉领域最有…

9 计算机组成原理第五章 中央处理器 指令流水线

文章目录1 指令流水线基本概念性能指标1.1 指令流水的定义1.1.1 指令分法1.1.2 指令执行时间1.2 流水线的表示方法1.3 流水线的性能指标2 指令流水线影响因素分类2.1 机器周期的设置2.2 影响流水线的因素2.2.1 数据相关(数据冲突)三种类型2.2.2 流水线影…

【赛迪智库】美国允许自动驾驶汽车取消方向盘对我国L4级自动驾驶的影响

来源:赛迪智库日前,美国国家公路交通安全管理局(NHTSA)发布了最终版的《无人驾驶汽车乘客保护规定》,其中对于由自动驾驶系统操作的车辆将不被要求配备传统方向盘等手动控制装置。新规有望促进美国L4级自动驾驶汽车商业…

10 计算机组成原理第六章 总线 总线的概念与分类 总线性能指标 总线仲裁 总线操作和定时 总线标准

文章目录1 总线的概念与分类1.1总线的定义1.2 总线的特点1.3 总线的特性1.4 总线的分类1.4.1 串行总线与并行总线1.4.2 按总线功能分类1.5 系统总线的结构1.6 总线概念与分类小结2 总线的性能指标2.1 性能指标分析2.2 总线性能指标小结3 总线仲裁3.1 总线仲裁的基本概念3.2 集中…

远程操控大脑?科学家成功利用近红外线控制老鼠的行为

GETTY IMAGES来源: IEEE电气电子工程师近日,科学家首次发明了一种非侵入性的方法来控制大脑回路——大脑中的神经元群,它们共同执行一项特定任务,成功完成了让实验室动物从远处自由移动。这项将近红外光射入大脑的新技术&#xff…

3 计算机组成原理第三章 存储系统 主存简单模型及寻址 半导体寄存器 存储器分类 主存与CPU连接 双口RAM和多模块寄存器

文章目录1 主存简单模型及寻址的概念1.1 主存储器1.1.1 存储器芯片的基本结构1.1.2 寻址2 半导体存储器2.1 半导体随机存取存储器2.1.1 DRAM的刷新2.1.2 SRAM的读周期2.1.3 SRAM的写周期2.1.4 RAM-易失性存储器2.2 ROM2.2.1 ROM分类2.2.2 半导体随机存储器小结3 存储器分类3.1 …

GPT-4 即将亮相?聊聊目前已知的一切

来源:AI 前线作者:Alberto RomeroGPT-3 首度亮相于大约两年之前的 2020 年 5 月,当时正值 GPT-2 发布的一年之后。而 GPT-2 距离最初 GPT 研究论文的发表也是相隔一年。如果这种周期性趋势继续保持不变,那 GPT-4 肯定也快跟大家见…

全职加入清华,丘成桐:为祖国、为全球数学界培养数学人才

王希勤校长为丘先生颁发聘书(照片来源:清华大学)来源:数据实战派4 月 20 日,清华大学宣布,“菲尔兹奖”首位华人得主丘成桐从哈佛大学退休,受聘清华大学讲席教授,将全职任教清华。清…

11 计算机组成原理第七章 输入/输出系统 I/O系统基本概念 外部设备

文章目录1 I/O系统基本概念1.1 I/O系统演变过程1.2 I/O系统基本组成1.3 I/O方式简介1.4 I/O系统基本概念小结2 外部设备1-输入设备 输出设备2.1 外部设备2.2 输入设备2.3 输出设备2.3.1 显示器2.3.2 打印机2.4 输出设备小结3 外部设备2-外存储器3.1 外存储器3.2 磁盘存储器3.2.…

重庆大学刘礼:因果学习与应用

来源:AI科技评论作者:刘礼编辑:维克多因果学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注。4月9日,在AI TIME青年科学家——AI 2000学者专场论坛上,重庆大学大数据与软件学院教授刘礼…

12 计算机组成原理第七章 输入/输出系统 中断系统

文章目录1 中断的基本概念2 中断请求的分类3 中断请求标记4 中断判优-实现5 中断处理过程5.1 中断处理过程-中断隐指令5.2 中断处理过程-硬件向量法5.3 中断处理过程-中断服务程序6 单重中断与多重中断6.1 单重中断与多重中断比较7 中断屏蔽技术中断屏蔽字例题8 中断系统小结1 …

神经形态计算的物理学

来源: 集智俱乐部作者:张晓雨编辑:邓一雪 摘要神经形态计算(neuromorphic computing)从脑科学汲取灵感来为信息处理创造节能硬件,并能适应高度复杂的任务。2020年发表在 Nature Reviews Physics 上的一篇文…

13 计算机组成原理第七章 输入/输出系统 I/O方式 I/O接口

文章目录1 I/O接口1.1 接口定义1.2 I/O接口的功能(以单总线为例)1.3 I/O接口的基本结构1.4 接口与端口1.5 I/O端口及其编址1.6 I/O接口的类型1.7 I/O接口小结2 I/O方式2.1 I/O方式1-程序查询方式2.1.1 程序查询方式流程图2.1.2 程序查询方式接口2.1.3 程…

参与全球人工智能创新链竞争

来源:社科院工业经济研究所作者:郭朝先,中国社会科学院工业经济研究所研究员、产业组织研究室主任、中国社会科学院大学教授、博士生导师、中国可持续发展研究会理事;方澳,中国社会科学院大学经济学院。本文首发《经济…

4 计算机组成原理第三章 存储系统 高速缓冲存储器 虚拟存储器

文章目录1 局部性原理性能分析2 Cache工作原理(简易版)3 地址映射4 替换算法4.1 替换算法(十进制)举例4.2 Cache工作原理(加强版)4.2.1写策略-命中4.2.2 写策略-未命中4.3 替换算法(二进制&…