精华内容
下载资源
问答
  • 一条指令执行步骤

    千次阅读 2020-02-23 18:45:57
    指令分为两个部分:“操作码”“地址码”,现在假设你写好一个程序,在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的...

    这里是关于C++程序设计的实验课程第三个实验:一条指令执行的步骤分析图解

    为了强化大家的理论知识巩固,在讲解词语时候也会有问题提出来巩固。

    在这里插入图片描述

    指令分为两个部分:“操作码”“地址码”,现在假设你写好一个程序,在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。
    程序计数器(PC):为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。
    在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。在这里插入图片描述

    总结:先是PC存储第一条指令,即从内存提取的第一条指令。

    • 在程序中存放指令地址的寄存器叫( )

    A通用寄存器
    B 程序计数器
    C变址寄存器
    D指令寄存器
    答案为:D
    解析:程序计数器存放的是下一条指令所在单元的地址,指令寄存器存放正在执行的指令。(除了执行第一次指令以外,都是存放下一条指令所在单元的地址)

    程序一开始会根据PC存储的指令的内存地址(简称:指令地址),根据地址取出后放在指令寄存器中,图中指令寄存器是0001 110100 110110=加法指令的代码,因为实验在浏览器表现不太好,把两部分数字倒过来了,实际上应该是在这里插入图片描述在这里插入图片描述这样子的
    然后上下图比较后我们可以看到PC多加了一个1,这是为什么?
    答案是因为当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。 当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的地址,以此实现转移。有些机器中也称PC为指令指针IP(Instruction Pointer)
    但在这里我要强调一句,这里PC加1不是单纯加1,它是根据先前的指针地址继续加上指令的字节数,因为这里的地址是按字节排序,即0x000A+1=0x000B…从而继续执行下一条指令。如果说一个指令占据两个字节,你可以这样想:执行完一条指令后,下一条指令的地址是多少???是刚刚被执行完的指令地址加上2,也正是因为这个可以继续执行指令。

    AR=0X000A=10=1010 因为0X是十六进制的标记,后面数字全当做十六进制处理,然后转化成二进制

    在这里插入图片描述这里是要把操作码放在CU以此来判断要干啥?(加减乘除之类的)判断后它就能知道后面的执行操作决定用什么工具。

    • 控制器(CU)的功能是______。

    A) 指挥计算机各部件自动、协调一致地工作
    B) 对数据进行算术运算或逻辑运算
    C) 控制对指令的读取和译码
    D) 控制数据的输入和输出
    答案:A
    解析:控制器的主要功能是指挥全机各个部件自动、协调的工作。
    在这里插入图片描述这一段是因为IR里面的值0001 110100 110110的其中110100是0X0034的值,也是我们输入的值的地址(这里我要说的是0X0034这个地址对应的是我输入的值的内存单元),同理,110110也是0X0036的值,对应着我输入的第二个值,然后存在数据缓冲寄存器(DR)中
    在这里插入图片描述
    在这里插入图片描述
    经过累加器ALU的加法计算,得出结果并存储在第一个值存储的位置——数据缓冲寄存器(DR)

    • 在CPU中 数据寄存器DR是指?

    A.可存放指令的寄存器
    B.可存放程序状态字的寄存器
    C.本身具有技术逻辑于移位逻辑的寄存器
    D.可编程指定多种功能的寄存器
    答案:C
    解析:A是指令寄存器IR B是程序状态寄存器PSW D是通用寄存器
    在这里插入图片描述以上,就是我对一条指令执行的步骤总过程实验的书面描写心得。

    如果这段描述有帮到你,请记得点赞并关注哟!
    在这里插入图片描述

    展开全文
  • 我是一条指令,我现在慌得一批 我是一条指令,在被CPU处理5次后,即将被销毁释放,我现在慌得一批。 毕竟,主存的空间是有限的,被执行完的我也失去了存在的价值。 我十分羡慕那些能够被持久化到内存中的指令,因为...

    我是一条指令,我现在慌得一批

    我是一条指令,在被CPU处理5次后,即将被销毁释放,我现在慌得一批。

    毕竟,主存的空间是有限的,被执行完的我也失去了存在的价值。

    我十分羡慕那些能够被持久化到内存中的指令,因为等待他们的是永生。

    听前辈们说,人类在一生即将结束的时候,脑海中就会跑马灯般浮现自己这一生的场景,从出生的第一刻起,到幼年、青年、壮年、老年,直至此时。

    虽然我不是人类,但是前辈也说了,指令们在即将被释放的时候,也会有记忆的跑马灯出现。

    我想,我的跑马灯也要出现了吧……

    image.png

    当我出生时

    我出生在主存中,听说这个部件是冯·诺依曼体系的核心,我听了十分开心。q

    虽然年幼的我并不知道冯·诺依曼体系代表着什么。但当时的我认为,既然出生在核心,那就意味着重要,没有什么比这更使得指令快乐的了。

    我是一条二地址指令,虽然我也不明白什么是二地址指令,但是大家都这么叫我。

    不过我是一个好学的指令,没过多久,我就明白了为什么大家叫我二地址指令了。

    原来,在冯·诺依曼体系的世界中,组成我们指令的元素是二进制数。而这些二进制数在组成指令的时候,是被划分成两个部分的,即操作码字段地址码字段

    image.png

    每一个指令都有其存在的意义,有的指令存在的意义是加法、有的是乘法、有的是除法,还有一些指令代表着程序返回操作等。这种存在的意义就被称作操作码。而等待被操作的数据或者数据地址则构成了地址码字段。

    我看了看我自己,1100011101010001 01111011 10100001。

    我恍然大悟,原来1100011101010001代表的是操作码,也就是我一生存在的意义;而01111011和****10100001则是我要操作的两个数据。之所以被大家称作二地址指令,是因为我有两个数据地址。

    等待被执行

    在冯·诺依曼体系中,一切事物的表现形式都是二进制数据,所以我看了看前后左右的朋友,他们的模样的确都和我类似。

    正当我思考要不要认识一下大家的时候,我收到了来自控制器老大的命令——请前往指令寄存器。

    当时我十分懵逼,还在思考这到底是怎么一回事,控制器老大见我疑惑,便主动解释起了冯·诺依曼体系世界的基本构成。

    整个冯·诺依曼体系世界,主要由五大部分构成:控制器、运算器、存储器、输入输出设备

    image.png

    控制器老大的主要作用是统一指挥并控制这个世界中的所有部件。

    运算器的主要作用是对数据进行算数运算和逻辑运算。

    存储器是保存待操作的信息和中间结果,就包括我们这些指令和我刚才看到的朋友——其他数据。

    至于输入输出设备,他们其一存在的意义是把人类能识别的信息输入到计算机中,另一个则是把数据输出成人类能够识别的信息。

    这下我想起来了,在我出现在主存之前,我曾见到过我的上一世:

    123+321
    

    开始执行

    我是一条指令,我已进入指令寄存器,感觉良好。

    image.png

    经过控制器老大使用命令解释器解释后,我了解到,我是一个**加法指令,**我存在的意义就是把我操作地址中的两个数据加起来,当然,我自己是无法完成这个操作的,需要依靠其他的冯·诺依曼世界中的部件老哥们。

    image.png

    在控制器老哥大得知我的作用后,将我存储的两个数据地址发送到运算器中的数据暂存器暂存

    紧接着,控制器老大使用控制信号产生器将操作信号发送给运算器中的计算电路

    计算电路将按照严格的逻辑执行加法运算,将两个数据加在一起求和,当然,结果也是二进制的形式。

    最终,这个结果到底是被持久化到存储器中还是到了输出设备中就不得而知了……

    我的一生

    用最简单的图像语言来描述我的一生,那肯定是像下面这个样子。

    image.png

    我的一生,仅仅被处理了五次。

    我依稀记得:

    • 第一次,我在控制器老大的指挥下,进入了指令暂存器
    • 第二次,在命令解释器的作用下,计算命令和待操作的数据被存储到相关的寄存器中。
    • 第三次,根据数据地址,从存储器上取出了我的两个待计算数。
    • 第四次,运算器通过计算得出结果。
    • 第五次,数据被输出。

    虽然是仅仅5次的生命,但我存在的意义,却永不凋零。

    因为我最后明白,要想成就伟大的事业,必须从点滴开始。

    就像《人类群星闪耀时》写的那样:

    一个民族,千百万人里面才出一个天才,人世间数百万个闲暇的小时流逝过去,方始出现一个真正的历史性时刻,人类星光璀璨的时辰。

    写在最后

    希望你能喜欢我的这篇文章。

    更多有趣的文章、JAVA、Python、人工智能相关图书、视频资源、面试资料,尽在公众号最高权限比特流

    欢迎交流!

    公众号-引导关注.png

    展开全文
  • Coursera:计算机一条指令执行过程

    千次阅读 2019-04-20 21:27:11
    一条指令执行需经过取指,译码,执行,回写四个步骤。 取指 :PC —》MAR—》地址译码器 同时:CPU控制器通过控制电路的控制总线–》控制逻辑read 然后地址译码器读出PC0001对应的存储单元,10101010 通过MDR数据...

    在这里插入图片描述
    一条指令执行需经过取指,译码,执行,回写四个步骤。

    取指 :PC —》MAR—》地址译码器

    同时:CPU控制器通过控制电路的控制总线–》控制逻辑read

    然后地址译码器读出PC0001对应的存储单元,10101010

    通过MDR数据总线到CPU的MDR中,MDR通过内部总线到IR

    IR通过指令译码读出10101010对应的是 ADD R0 [6]

    R0在寄存器中,[6]的取指过程和PC一样,取出对应的存储单元为00000010

    R0取出的值通过内部总线到运算器的X 即 00000011

    【6】对应 Y 即 00000010 运算器执行加法运算,将结果输出Z ,

    Z通过内部总线将结果更新到R0中,至此,一条指令完成。同时PC会自增1,继续
    执行下一条指令。

    展开全文
  • 一条指令执行流程

    千次阅读 2019-07-24 22:21:02
    1. 将硬盘上的 程序 装入内存中,并将其首地址装到程序计数器() 2. 将 中的地址通过 指令地址总线 装入 地址寄存器(AR),然后将其送入地址总线,找到 主存单元中 对应地址的 ...

     

    1. 将硬盘上的 程序 装入内存中,并将其首地址装到程序计数器(PC)

    2. 将 \large PC 中的地址通过 指令地址总线 装入 地址寄存器(AR),然后将其送入地址总线,找到

      主存单元中 对应地址的

    展开全文
  • 详解CPU的指令执行步骤

    千次阅读 2020-08-15 16:06:16
    不知道你能不能看懂汇编指令,如: mov ax,0800H ; 将内存地址 0B800H 写入 ax 寄存器 add ax,ds:[6] ; 计算 ax + ds:[6], 并将值更新到 ax 寄存器 执行过程大图谱: PS: 试看自己能不能看懂 ?. ? 取指: CPU的...
  • 计算机底层执行一条指令的过程

    千次阅读 2014-02-21 14:29:30
    计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。 分析指令阶段的任务是:将指令寄
  • 计算机如何执行一条机器指令

    千次阅读 2019-10-11 11:09:38
     在上篇我们谈到,计算机处理段程序,就会将程序翻译成机器指令,然后执行完成相应的任务。执行指令的过程分为取指令阶段、分析取数阶段和执行阶段。 1.取指阶段: 图中概念解释: PC(程序计数器),MAR...
  • 一条指令在cpu中的执行流程

    万次阅读 2014-05-22 15:57:25
    一条指令在cpu中的执行流程(理解CPU组成) CPU: 1.寄存器; 2.控制器CU(Control Unit):  指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和操作控制器OC(OperationController); 3....
  • 8086的复位与启动 CPU执行指令步骤

    千次阅读 2020-03-30 21:26:51
    将CS和IP的内容通过地址加法器得到指令的物理地址,获取下一条执行指令 RESET信号 当CPU接收到有效的RESET信号且至少维持4个时钟周期,不管之前在执行什么动作,只要正常供电,8086就结束现行操作,进入复位状态...
  • 一条指令在cpu中的执行流程(理解CPU组成)

    万次阅读 多人点赞 2014-04-15 13:04:03
    几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令指令译码、执行指令、访存取数、结果写回。
  • 指令执行过程

    万次阅读 多人点赞 2018-10-28 23:25:31
      CPU主要由运算器、控制器、寄存器组和内部总线构成,我们知道运算器是用来完成运算的,而指令执行就是在控制器中完成的。   而控制器一般又包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑。...
  • 在linux中当需要频繁执行语句时,可以将待执行命令写成个shell脚本文件,然后执行该脚本文件达到执行命令的目的。 具体步骤 vim xxx.sh #gedit xxx.sh #vim xxx.sh #这几种编辑方式都行 #xxx可以替换...
  • 指令执行周期

    千次阅读 2020-12-22 15:07:19
    IPC ( Instruction Per Clock) 即CPU 每一时钟周期内所执行的指令多少 ...arm 每一条指令不仅执行时间固定,其指令长度也是固定的 周期:就是时间,完成一次任务的时间 指令周期 :CPU从内存取出一条指令并...
  • 指令执行时间

    千次阅读 2014-04-14 14:18:21
    其实CPU执行一条指令包含了取指令和执行指令2个步骤执行指令的时间是固定的,而取指令不同,其实所谓的指令预取和流水线结构,是为了减少取值时间的,尤其在高速的CPU中,CPU读写RAM虽然比读写外部存储器快,但...
  • CPU内部组成结构及指令执行过程

    万次阅读 多人点赞 2015-05-15 09:53:16
    计算机的基本硬件系统由运算器、控制器、存储器和输入、输出设备五大部件组成。运算器和控制器等部件被集成在一起统称为中央处理单元... 一条指令功能的实现需要若干个操作信号来完成,CPU产生每条指令的操作信号并
  • 主机完成一条指令的过程 取数指令:        机器启动后,PC是一开始存放指令的部件(程序计数器,用来存放当前欲执行指令的地址),PC要将指令的地址送到MAR(存储器地址寄存器,用来存放欲访问...
  • 计算机指令执行过程详解

    千次阅读 2020-12-31 00:40:55
    1. 计算机由控制器(分析和执行机器指令并控制各部件的协同工作)、运算器(根据控制信号对数据进行算术运算和逻辑运算)、存储器(内存存储中间结果,外存存储需要长期保存的信息)、输入设备(接收外界信息)和...
  • 请简述在你所熟悉的处理器中比如Cortex A9,一条存储读写指令执行全过程? 经典的处理器架构的流水线是五级流水线:取指,译码,发射,执行和写回。  现代的处理器设计上都采用了超标量体系结构(superscalar ...
  • 我想问一下R型指令是通过什么特性实现单周期完成一条指令的。这张图想表现的延时该怎么实现![图片说明](https://img-ask.csdn.net/upload/201609/04/1472962909_703497.png)
  • 指令执行过程(图)

    千次阅读 2010-06-16 11:00:00
    指令的执行过程(图)通常,一条指令执行过程可以分为取指令、译码、取操作数和执行四个阶段。
  • CPU指令的流水线执行

    千次阅读 2014-07-13 23:22:09
    指令集是CPU体系架构的重要组成部分。CPU的指令执行一般包括取指、译码和执行,这是经典的三级指令执行流水线。本文阐述CPU流水线设计的由来和改进技术以及软件开发人员对于流水线需要注意的问题。
  • 跟随一条指令来看LLVM的基本结构

    千次阅读 2020-01-04 18:41:44
    LLVM是个很复杂的软件,了解LLVM的工作原理不是很容易,然而,对于刚开始接触LLVM整个框架的工作原理来说,详细而深入,不如广泛而浅显,所以有了这篇文章。
  • 单片机执行指令过程详解

    千次阅读 2020-03-04 21:54:22
    单片机执行指令过程详解 单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 ...
  • ARM指令集 和 条件执行 详解

    千次阅读 2014-04-07 10:57:19
    算术和逻辑指令 ADC : 带进位的加法 (Addition with Carry) ADC{条件}{S} , , dest = op_1 + op_2 + carry ADC 将把两个操作数加起来,并把结果放置到目的寄存器中。它使用个进位标志位,这样就...
  • 首先计算机是通过CPU执行指令来实现运行并计算的,计算机在设计之初,每条指令只能串行执行,意思就是等第一条指令执行完,第二条指令才能开始执行,这样显然效率太低。 流水线设计原理: 然而指令执行过程有很多...
  • CPU的乱序执行指令流水线技术

    千次阅读 2018-04-15 10:49:00
    比方Core乱序执行引擎说程序某段有7条指令,此时CPU将根据各单元电路的空闲状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路执行。 在各单元不按规定顺序执行完指令后还必须由...
  • 计算机的指令执行过程分析

    千次阅读 2015-04-26 14:19:12
    取数指令执行: 存数指令执行
  • CPU乱序执行指令重排序)

    千次阅读 2020-01-18 14:35:56
    CPU的速度至少比内存快100倍,为了提升效率,会打乱原来的执行效率,会在一条指令执行过程中(比如去内存读数据,大概慢100多倍),去同时执行另一条指令,前提是两条指令没有依赖关系(洗茶壶/烧水-茶叶入壶-煮茶-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 131,056
精华内容 52,422
关键字:

一条指令的主要执行步骤