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

    千次阅读 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

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

    千次阅读 2019-09-16 00:46:55
    计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。 分析指令阶段的任务是:将指令寄存器中的...

    计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令

    取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。

    分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
    计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

    一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。

     

    展开全文
  • 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,继续
    执行下一条指令。

    展开全文
  • 8086的复位与启动 CPU执行指令步骤

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

    千次阅读 多人点赞 2018-10-28 23:25:31
      CPU主要由运算器、控制器、寄存器组和内部总线构成,我们知道运算器是用来完成运算的,而指令执行就是在控制器中完成的。   而控制器一般又包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑。...
  • 指令执行时间

    千次阅读 2010-11-22 09:12:00
    高端的处理器里通常都带指令预取和多级流水线结构,昨天突然被问到在这种情况下怎么去计算多条...因此,在这种带流水线的结构中,执行时间最快应该就是在一条指令执行完后,下一条指令也准备好,CPU不用花时间等待取指
  • 在linux中当需要频繁执行语句时,可以将待执行命令写成个shell脚本文件,然后执行该脚本文件达到执行命令的目的。 具体步骤 vim xxx.sh #gedit xxx.sh #vim xxx.sh #这几种编辑方式都行 #xxx可以替换...
  • CPU内部组成结构及指令执行过程

    万次阅读 多人点赞 2015-05-15 09:53:16
    计算机的基本硬件系统由运算器、控制器、存储器和输入、输出设备五大部件组成。运算器和控制器等部件被集成在一起统称为中央处理单元... 一条指令功能的实现需要若干个操作信号来完成,CPU产生每条指令的操作信号并
  • 计算机指令执行过程详解

    千次阅读 2020-12-31 00:40:55
    1. 计算机由控制器(分析和执行机器指令并控制各部件的协同工作)、运算器(根据控制信号对数据进行算术运算和逻辑运算)、存储器(内存存储中间结果,外存存储需要长期保存的信息)、输入设备(接收外界信息)和...
  • 加法指令执行过程

    千次阅读 2018-06-15 11:05:17
    指令:(rs) + ((rs1)+disp) -> rd1.CPU发出访问取指令的请求:PC->MAR->AB,发出取指信息后判断ADS是否有效,若ADS= 0 地址选通有效,...PC为取下一条指令做准备,将下一条指令的地址存入...
  • 主机完成一条指令的过程 取数指令:        机器启动后,PC是一开始存放指令的部件(程序计数器,用来存放当前欲执行指令的地址),PC要将指令的地址送到MAR(存储器地址寄存器,用来存放欲访问...
  • 关于指令执行周期的细节思考

    千次阅读 2016-12-15 23:29:39
    关于指令执行周期的细节思考@(组成原理)(取自2012.44)五段流水线:取指(IF)、译码/读寄存器(ID)、执行/计算有效地址(EX)、访问存储器(M)、结果写回寄存器(WB)。流水线按序发射,按序完成。不采用数据...
  • 首先计算机是通过CPU执行指令来实现运行并计算的,计算机在设计之初,每条指令只能串行执行,意思就是等第一条指令执行完,第二条指令才能开始执行,这样显然效率太低。 流水线设计原理: 然而指令执行过程有很多...
  • 指令周期:CPU从主存中每取出并执行一条指令所需的全部时间。 指令周期常常用若干机器周期来表示,机器周期又叫CPU周期 一个机器周期又包含若干时钟周期(也称为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位...
  • 指令执行流程 冯诺依曼架构CPU指令执行的五个阶段: 阶段 涉及的功能部件 IF 指令寄存器IR、程序计数器PC ID 指令译码器ID EXE CPU内各个单元:ALU、Cache、Registers .etc MEM WB 状态寄存器...
  • 2005年下半年软件设计师上午试题   若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指=5△t,分析时间t分析=2△t,执行时间t执行=5△t。如果按顺序方式从头到尾执行完500条指令需___(4)__...
  • 冯诺依曼体系 ...通常,指令是顺序执行的。在特殊情况下,可根据运算结果或指定的条件来改变运算顺序。 6.以CPU为核心,以存储器为中心。 五大部件 存储体 存储体 -包含- 存储单元 -包含- 存储元件 (0/
  • CPU指令的流水线执行

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

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

    千次阅读 2018-05-04 17:24:43
    https://www.cnblogs.com/JohnABC/p/6206622.htmlhttps://blog.csdn.net/hwhjava/article/details/47722309https://blog.csdn.net/imlsz/article/details/42297383nginx在处理每个用户请求时,都是按照若干个不同...
  • 中央处理器 —— 指令执行过程

    千次阅读 2019-08-05 17:48:29
    指令周期 二、指令周期流程
  • CPU乱序执行指令重排序)

    千次阅读 2020-01-18 14:35:56
    CPU的速度至少比内存快100倍,为了提升效率,会打乱原来的执行效率,会在一条指令执行过程中(比如去内存读数据,大概慢100多倍),去同时执行另一条指令,前提是两条指令没有依赖关系(洗茶壶/烧水-茶叶入壶-煮茶-...
  • 本篇博文主要是讲述一下计算机组成原理实验中CPU组成与机器指令执行实验,因为很多同学在刚学习计算机组成原理实验的时候对于调试的一些步骤还是有些懵懵懂懂,每个步骤之间的连接做的不是很连贯,故有了写此篇博文...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,583
精华内容 50,633
关键字:

一条指令的执行步骤