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

    千次阅读 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是通用寄存器
    在这里插入图片描述以上,就是我对一条指令执行的步骤总过程实验的书面描写心得。

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

    展开全文
  • 计算k段流水线执行n条指令的执行...如果流水线中的各段执行时间不等,且最长段的执行时间为tmaxt_{max}tmax​,那么执行n条指令的时间就是执行一条指令的时间T,加上其余n-1条指令各执行最长段的时间(n-1) tmax...

    计算k段流水线执行n条指令的执行时间,有必要区分两种情况:

    • 如果流水线中的各段执行时间均为t,那么执行n条指令的时间就是执行第一条指令的时间kt,加上其余n-1条指令各执行一段的时间(n-1)t。

    • 如果流水线中的各段执行时间不等,且最长段的执行时间为tmaxt_{max},那么执行n条指令的时间就是执行第一条指令的时间T,加上其余n-1条指令各执行最长段的时间(n-1) tmaxt_{max}

    题目:
      通常可以将计算机系统中执行一条指令的过程分为取指令,分析和执行指令3步。若取指令时间为4△t,分析时间为2△t。执行时间为3△t,按顺序方式从头到尾执行完600条指令所需时间为( )△t;
      若按照执行第i条,分析第i+1条,读取第i+2条重叠的流水线方式执行指令,则从头到尾执行完600条指令所需时间为( )△t。

    解答:

    1. 按顺序方式执行时间为(4+2+3)△t × 600=5400△t

    2. 流水线方式:单条指令所需时间+(n-1)×(流水线周期),其中,流水线周期是指:指令分段执行中时间最长的一段。该题中时间最长的一段为4△t,所以流水线的周期为:4△t;
      所以该题按照流水线方式执行的时间为:(4+2+3)△t+(600-1)4△t=2405△t

    展开全文
  • CPU内部组成结构及指令执行过程

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

      计算机的基本硬件系统由运算器、控制器、存储器和输入、输出设备五大部件组成。运算器和控制器等部件被集成在一起统称为中央处理单元(Central Processing Unit,CPU)。

      CPU的功能

      (1)程序控制

      CPU通过执行指令来控制程序的执行顺序,这是CPU的重要职能。

      (2)操作控制

      一条指令功能的实现需要若干个操作信号来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作。

      (3)时间控制

      CPU对各种操作进行时间上的控制,这就是时间控制。CPU对每条指令的整个执行过程要进行严格控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。

      (4)数据处理

      CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工处理也是CPU最根本的任务。

      CPU的组成

      CPU主要有运算器、控制器、寄存器组合内部总线等部件组成。

      运算器

      运算器由算术逻辑单元(Arithmetic and Logic Unit,ALU),累加寄存器(AC),数据缓冲寄存器(DR),和状态条件寄存器组成,它是数据加工处理部件,完成计算机的各种算术和逻辑运算。相对于控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。

      算术逻辑单元(ALU)

      ALU是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。

      累计寄存器(AC)

      AC通常简称为累计器,它是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。最后的运算结果放到AC中,因此运算器中至少有一个累加寄存器。

      数据缓冲寄存器(DR)

      在对内部存储器进行读写操作时,用DR暂时存放由内存储器读写的一条指令或一个数据字,将不同时间段内读写的数据隔离开来。DR作为CPU和内存、外部设备之间的数据传送中转站;作为CPU和内存、外围设备之间在操作速度上的缓冲;在单累加器结构的运算器中,DR还可以件作为操作数寄存器。

      状态条件寄存器(PSW)

      PSW保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志。这些标志通常由一位触发器保存,保存了当前指令执行完成之后的状态。通常一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。

      控制器

      运算器只能完成运算,而控制器用于控制整个CPU的工作,他决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。控制器一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分。

      时序控制逻辑要为每条指令按时间顺序提供应有的控制信号。总线逻辑是为多个功能部件服务的信息通路控制电路。中断控制逻辑用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。

      指令控制逻辑要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令等步骤。

      指令寄存器(IR)

      当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,在送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。

      程序计数器(PC)

      PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分为两种情况,一是顺序执行,而是转移执行。当程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内容是确定,因此PC的内容即是程序第一条指令的地址。执行指令时CPU自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。

      地址寄存器(AR)

      AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,知道内存的读写操作完成为止。

      指令译码器(ID)

      指令分为操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作。ID就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。

      寄存器组

      寄存器组可分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,起作用是固定的。通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。

      指令执行过程

      

      MOV指令

      取指阶段:

      程序计数器PC装入第一条指令的地址101,PC的内容被放到指令地址总线上,对指令进行译码并启动读命令。从101号地址读出MOV指令,通过指令总线IBus装入指令寄存器IR,程序计数器PC内容加1,变成102,为下一条指令做好准备。指令寄存器IR中的操作码被译码,CPU识别出是MOV指令,至此取指阶段完成。

      执行阶段:

      操作控制器OC送出控制信号到通用寄存器,选择R1(10)为源寄存器,RO(00)为目标寄存器。OC送出控制信号到ALU,指定ALU做传送操作,打开ALU输出三态门,将ALU输出(10)送的数据总线DBus上,任何时刻DBus上只能有一个数据。将DBus上的数据打入数据缓冲寄存器DR,将DR中的数据打入目标寄存器RO,RO的内容由00变为10至此MOV指令执行完毕。

      LAD指令

      取指阶段:

      LAD指令的取指阶段和MOV指令完全相同。

      执行阶段:

      OC发出控制命令,打开IR输出三态门,将指令中的直接地址码6放到数据总线DBus上,装入地址寄存器AR,将数存6号单元中的数100读出到DBus上,装入缓冲寄存器DR。将DR中的数100装入通用寄存器R1,原来R1中的值10被覆盖,至此LAD指令执行完毕。

      ADD指令

      取指阶段:

      ADD指令的取指阶段和其他指令相同。

      执行阶段:

      操作控制器OC送出控制信号到通用寄存器,选择R1(100)为源寄存器,R2(20)为目标寄存器。ALU做R1和R2的加法运算,打开ALU输出三态门,将运算结果120放到数据总线DBus上,然后打入缓冲寄存器DR。ALU产生的进位信号保存在状态字寄存器PSW中,将DR中数值120装入R2中,R2原来的数20被覆盖。到此ADD指令执行结束。

      STO指令

      取指阶段:

      STO指令的取指阶段和其他指令相同。

      执行阶段:

      操作控制器OC送出控制信号到通用寄存器,选择R3(30)作为数据存储器的地址。打开通用寄存器输出三态门,将地址30放到DBus上并装入地址寄存器AR,并进行地址译码。操作控制器OC送出控制信号到通用寄存器,选择R2(120)作为数存的写入数据放到DBus上。将数值120写入数存30单元,原先的数据40被冲掉。至此STO指令执行结束。

      JMP指令

      取指阶段:

      JMP指令的取指周期和其他指令相同。

      执行阶段:

      OC发出控制命令,打开IR输出三态门,将IR中的地址码101发送到DBus上,将DBus上的地址码101打入到程序计数器PC中,PC中原先的地址106被更换。于是下一条指令不是从106单元取出,而是转移到101单元取出。至此JMP指令执行周期结束。

      以上内容是对于CPU功能、组成以及执行指令的一些总结和整理,有不足之处,希望大家批评指正。

    展开全文
  • 指令执行过程(图)

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

    指令的执行过程(图)

    通常,一条指令执行过程可以分为取指令、译码、取操作数和执行四个阶段。

    展开全文
  • 51单片机执行指令过程

    千次阅读 2011-10-12 09:18:36
    为了加深初学者对51单片机指令的理解,现在把指令执行的过程在此详细说明,希望对你有启发!...计算机每执行一条指令可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务
  • 通常我们将RISC CPU的指令执行过程分为5个步骤,分别是取指令(IF)、解码(ID)、执行(EX)、内存读写(MEM)、寄存器写(WB)。我们要实现CPU,可以将5个步骤做成5个子模块分别设计,这样可以大大降低我们的开发复杂度。 ...
  • 看过了很多介绍指令重排序的文章,可惜由于自己硬件和计算机理论知识缺乏,很难理解深层次的奥秘和实现原理。不过也有很多帖子,讲的浅显易懂,使用的例子很形象。大牛就是能用简单的解释和通俗的比喻,给我们讲明白...
  • 当这些操作结束之后,它接着再取下一条指令通常情况下,这个过程是连续不断、循环往复的。 1、寄存器和算数逻辑部件 电子计算机能能做很多事情。计算天气预报,看电影,听音乐,上网等,实际上都是以数学计算为...
  • 指令指令(机器指令)有什么区别?

    万次阅读 多人点赞 2019-09-30 17:45:04
    1.控制部件通过控制线向执行...而机器指令则介于微指令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作. 一台计算机支持(或称使用)的全部指令构成该机的指令系统.指令系统直接与计...
  • 单片机指令是如何执行

    千次阅读 2016-01-11 19:40:06
    单片机指令是如何执行的 与电脑差不多,读入数据后,依据半导体进行逻辑运算,并把结果输出。 单片机的基本结构 运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行; 控制器:是计算机的...
  • 我们知道指令周期可以分为若干个机器周期,那么对应的指令就对应若干个机器指令。比如指令包含取指,间址,执行,中断等机器指令!设计微程序的时候针对的是机器指令一设计。那么个微程序的周期对应的...
  • 计算机组成原理 指令系统(

    千次阅读 多人点赞 2018-08-14 11:58:15
    指令其实就是组有特殊意义的二进制数,指示计算机执行某种操作的命令,也叫机器字或指令字,是计算机运行的最小功能单位。台计算机的所有指令的集合构成该机的指令系统,也称为指令集。指令系统是计算机的主要...
  • 抗去除花指令()——花指令基础

    千次阅读 2015-01-04 13:22:53
    指令是对抗反汇编的有效手段之,正常代码添加了花指令之后,可以破坏静态反汇编的过程,使反汇编的结果出现错误。错误的反汇编结果会造成破解者的分析工作大量增加,进而使之不能理解程序的结构和算法,也就很难...
  • 机器指令和微指令

    千次阅读 2020-03-28 13:45:36
    1、机器指令:机器指令是CPU能直接识别并执行指令。 2、微指令:是指在机器的个CPU周期中,组实现一定操作功能的微命令的组合,描述微操作的语句。 二、表现格式不同 1、机器指令:表现形式是二进制编码。 2、...
  • 指令系统 —— 指令格式

    千次阅读 2019-07-30 11:08:25
    指令的长度是指一条指令中所包含的二进制代码的位数,因为主存一般是按字节编址的,所以指令的长度一般为字节的整数倍 指令长度与机器字长没有固定的关系,它可以等于机器字长,也可以大于或小于机器字长。根据指令...
  • 指令周期的基本概念

    千次阅读 2012-05-16 10:51:22
    指令周期的基本概念  计算机之所以能自动地工作是... 通常一条指令从取出到执行完毕所需要的时间称为指令周期。对应指令执行的三个阶段,指令周期一般分为:取指周期、取操作数周期和执行周期三个部分。   1
  • 4.2.1指令寻址和数据寻址

    千次阅读 2016-09-21 17:11:15
    寻址方式是指寻找指令或操作数有效地址的方式,也就是指确定本条指令的数据地址,以及下一条将要执行指令地址的方式。 寻址方式分为指令寻址和数据寻址两大类。 指令中的地址码字段并不代表操作数的真实地址,...
  • 【笔记】指令系统(

    千次阅读 2018-04-29 00:50:32
      每一条机器语言的语句称为机器指令,而又将全部机器指令的集合称为机器的指令系统。 1.指令的一般格式   指令是由操作码和地址码两部分组成的。 操作码   操作码用来指明该指令索要完成的操...
  • 字节码指令详解

    万次阅读 2020-08-05 16:49:04
    通常一条CPU指令包括两方面的内容:操作码和操作数,操作码表示要完成的操作,操作数表示参与运算的数据及其所在的单元地址(这个单元地址可以是寄存器、内存等)。 Java虚拟机中的字节码指令与CPU中指令类似,Java...
  • 条件转移指令详解

    千次阅读 2020-03-08 20:01:09
    程序控制指令又称为控制转移指令,包括:转移指令、循环控制指令、过程调用指令和 中断指令 4 类。...无条件转移指令会修改 CS 和 IP 的值,使程序跳 转到另个位置去执行,改变指令执行顺序。 ...
  • ARM 处理器的指令集可以分为 跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令 六大指令,这里把其它几个指令一起发了出来,可以查看具体的目录,请点击头部左上...
  • 指令系统

    千次阅读 2015-04-24 10:33:51
     计算机的程序是由系列的指令组成的,指令就是要计算机执行某种操作的命令。  从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。 微指令:微程序级的命令,它属于硬件; 宏指令:由...
  • 个程序从源代码到可执行程序的过程

    万次阅读 多人点赞 2018-06-26 10:45:13
    个源程序到可执行程序的过程:预编译、编译、汇编、链接。 其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。 链接中,分为静态链接和动态链接...
  • 嵌入式 arm指令小结

    千次阅读 2014-04-20 17:11:14
    ARM处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令6大指令、跳转指令 跳转指令用于实现程序流程的跳转,在ARM程序中有以下两种...
  • 5.5 指令流水线

    千次阅读 2019-09-08 20:24:03
    一条指令执行过程可以分为多个阶段,如果采用三个阶段,就有取指,分析,执行。 当多条指令在处理器中执行时,可以采用三种方式: 1> 顺序执行方式 设取指,分析,执行三个阶段的时间都相等...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,238
精华内容 36,495
关键字:

一条指令的执行通常可分为