精华内容
下载资源
问答
  • 一条指令在cpu中的执行流程

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

    CPU

    1.寄存器;
    2.控制器CU(Control Unit):
              指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和操作控制器OC(OperationController);
    3.ALU(算数逻辑运算单元),不包括寄存器;
    4.总览


    过程详述:

    几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数、结果写回。

    1.取指令阶段

    取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程。

    程序计数器PC中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1àPC;若为双字长指令,则(PC)+2àPC,依此类推。

    2.指令译码阶段

    取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段。

    在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。

    在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列;在微程序控制的计算机中,指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行。

    在传统的设计里,CPU中负责指令译码的部分是无法改变的。不过,在众多运用微程序控制技术的新型CPU中,微程序有时是可重写的,可以通过修改成品CPU来改变CPU的译码方式。

    3.执行指令阶段

    在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。

    此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。

    例如,如果要求完成一个加法运算,算术逻辑单元ALU将被连接到一组输入和一组输出,输入端提供需要相加的数值,输出端将含有最后的运算结果。

    4.访存取数阶段

    根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段。

    此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。

    5.结果写回阶段

    作为最后一个阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取;在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存。许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。

    在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。

    许多新型CPU可以同时取出、译码和执行多条指令,体现并行处理的特性。



    展开全文
  • 计算机中,执行一条指令所需要的时间称为指令周期,完成一项基本操作所需要的时间称为机器周期,时钟脉冲的重复周期称为重复周期。因此,() A. 时钟周期大于机器周期 B. 时钟周期等于机器周期 C. 机器周期大于指令...

    计算机中,执行一条指令所需要的时间称为指令周期,完成一项基本操作所需要的时间称为机器周期,时钟脉冲的重复周期称为重复周期。因此,()

    A. 时钟周期大于机器周期
    B. 时钟周期等于机器周期
    C. 机器周期大于指令周期
    D. 指令周期大于时钟周期

    正确答案:D


    解析:
    时钟周期:又称为震荡周期,是计算机中最小的时间单位,CPU在此期间仅能完成一个最基本的动作。 大概为10ns

    指令周期:包括取指令、分析指令和执行指令三阶段,一般由若干机器周期组成。

    总结:时钟后期<机器周期<指令周期


    最近在进行软考系列精选真题解析, 欢迎点赞、关注、阅读~

    展开全文
  • Abstract:此篇文章讲述的是计算机存储器、控制器、运算器的基本结构组成以及指令的具体执行顺序。  CPU包括运算器和控制器, 而主机主要包括CPU和存储器。 内容参考于:哈工大计算机组成原理(刘宏伟) ...

    Abstract:此篇文章讲述的是计算机存储器、控制器、运算器的基本结构组成以及指令的具体执行顺序。  CPU包括运算器和控制器, 而主机主要包括CPU和存储器。

    内容参考于:哈工大计算机组成原理(刘宏伟)


    存储器的基本组成:

    如下图所示: 主存由存储体、MAR和MDR组成。

    先来看几个概念

    存储单元:存储数据的具体单位是存储单元,字节是目前计算机最基本的存储单位。 来自于什么是计算机的存储单元, 存储体由许多存储单元组成。每一个存储单元赋一个地址。可以按地址寻访。

    存储字:存储单元中二进制代码组合。

    存储字长:存储单元中二进制代码的位数。

    MAR:存储器地址寄存器 - 保存存储单元地址。  MAR的位数与存储单元的个数相关。

    MDR:存储器数据寄存器 - 反映存储字长。里面存储的数据来自三方面: 1、准备送往CPU的数据。 2、准备存入存储器的数据。 3、刚才存储体中取出来的数据。

    例如:MAR = 4, MDR = 8. 说明存储单元个数为16个, 存储字长为 8.

    运算器

    由上图很容易可以看出运算器的组成结构是:ALU(算数逻辑单元运算器)和三个寄存器。

    其中ALU是一个组合电路, 特点是当输入数据撤销时, 输出也会跟着撤销;所以要在前面加相应的寄存器(ACC和X(数据寄存器))用来存储输入数据,即参与运算的值。

    同时ACC也用于保存运算结果。 但是由于乘法操作的输出字长为输入字长的两倍;所以需要增加一个MQ寄存器来存放多余的数据。


    下图是进行四则运算时各个寄存器的值

    下面是具体实现过程:

    1, 加法操作过程:

    此时的指令为:, 操作码是:加; 地址码是M。

    首先在内存中取被加数于ACC中, 然后是执行加法指令。 从存储器之中取地址为M的数放在寄存器X中, 然后在ALU的操作下将ACC和X寄存器里面的值相加并将

    结果放在ACC里面。

    2, 减法操作过程:

    此时指令为:

    这个过程和加法差不多, 就不啰嗦了。

    3, 乘法操作过程:

    此时指令为:

    首先在内存中取被乘数的值放入寄存器ACC中, 然后在内存中取 M地址对应的值放在X中, 然后将ACC寄存器里面的值放在寄存器X里面; 再将0放入ACC中(清

    零)。 最后将寄存器 X 和 MQ 寄存器里面的值相乘结果的高位放在 ACC 中, 低位放在 MQ 中。这里要注意一点:计算机里面的乘法是通过累加和移位来实现的;

    并不能直接实相乘。

    4, 除法操作过程:

    此时指令为:

    首先在内存中取被乘数的值放入寄存器ACC中, 然后取地址为 M 的值放在 X 寄存器之中。 然后将 ACC 寄存器和 X 寄存器里面的值相除放在 MQ 寄存器之中。

    注意:以上操作都是在控制器的控制下进行的。

    控制器的基本结构:

    控制器的功能是:解释执行; 保证指令有序执行。

    完成一条指令一般包含三部分: 取指令; 分析指令; 执行指令。

    取指令需要PC寄存器, PC寄存器的作用是存放当前欲执行指令的地址; 并且具有计数功能:PC + 1 = PC。 其中 1 是由具体机器决定的。 一般指令都是放一块的。

    分析指令:将操作码给需要控制单元。

    执行指令:由控制单元控制执行这条指令所需要的单元; 主要是CU控制。


    下面具体说明一条指令的执行过程:取数指令为例


    取值:首先指令地址是在PC中, 然后送入MAR中, 在控制器的作用下将MAR中指令地址下的那条指令取出来放在MDR中。 接着再送到IR中(IR的作用就是存储当前指令)

    分析指令:将指令的操作码部分送给CU(上图中序号为5的箭头方向反了), 经过译码之后, 在CU上面会有很多信号, 然后由这些信号控制执行这个操作所需要的部件。

    执行指令:因为是取数指令, 执行时就是在内存中取一个数到ACC中。 在控制器的控制下, 将取数指令的地址码送到MAR中, 然后从内存中取出该地址下的数据到MDR,

    最后送到ACC中。 到此这条指令结束。

    ~ END ~

    展开全文
  • 一条指令如何完成? 完成一条指令需要做的事情: 1、取指令 — PC(存放当前将要执行的指令的地址) 2、分析指令 — IR(存放当前将要执行的指令) 3、执行指令 — CU(控制器单元) 以取数指令为例 MAR:Memory ...

    一条指令如何完成?

    完成一条指令需要做的事情:
    1、取指令 — PC(存放当前将要执行的指令的地址
    2、分析指令 — IR(存放当前将要执行的指令)
    3、执行指令 — CU(控制器单元)

    以取数指令为例

    在这里插入图片描述

    MAR:Memory Address Register 主存地址寄存器用来读取主存时缓存地址。
    MDR:Memory Data Register 主存数据寄存器用来缓存从主存中读取的数据(包括指令)。

    1.取指令
    初始状态:PC中存放着将要执行的指令的地址(指令保存着存储器中)
    过程1:PC把指令的地址送给MAR(然后可以PC+1→PC了)
    过程2:MAR把指令的地址送给存储体
    过程3:在CU的控制下,把将要执行的指令取出送入MDR
    过程4:把取出的指令送入IR,取指完成

    2.分析指令(细节未体现,日后完善)
    过程5:IR分析操作码,把操作码部分送入CU。

    3.执行指令
    过程6:CU“知道”这是一个取数指令,于是让IR把地址码部分传送给MAR(将要取的数的地址)
    过程7:MAR把将取的数的地址送给存储体
    过程8:在CU的控制下,把取出的数送入MDR
    过程9:取出的数由MDR送入ACC中。

    展开全文
  • 流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之。...ARM7的三级流水线在执行单元完成了大量的工作,包括与操作数相关的寄存...
  • 48指令执行方案

    2021-01-24 09:57:29
    此时每一条指令都在固定的时钟周期内完成,指令之间串行执行,即下一条指令只能在前一条指令执行结束之后才能启动。因此,指令周期取决于执行时间最长的指令的执行时间。对于那些本来可以在更短时间内完成的指令,要...
  • 5.2 指令执行过程

    2020-09-26 13:55:40
    1.指令周期:CPU从主存中取出并执行一条指令所需要的的全部时间 1.指令周期常常用若干个机器周期来表示,机器周期又叫CPU周期 2.一个机器周期又包括若干个时钟周期(也称为节拍、T周期或CPU时钟周期) 他是CPU...
  • 计算机组成 2 计算机基本结构 ...而且我们也知道了计算机执行一条指令的主要步骤,包括取指、译码、执行、回写。 那我们就想在这个模型机上尝试执行一条计算机的指令。这里给出了一个例子,我们想...
  • Linux/Unix下文件或目录的权限设置分为三级:属主、组、其他,每包括读、写、执行/搜索。详细说明见“常用参数”部分。常见用途就是给文件增加执行权限。   常用参数 格式:chmod +x *.sh 对shell...
  • whereis命令用来查找命令的位置,包括执行文件、源代码和手册页文件(locate the binary, source, and manual page files for a command)。如果要查找任意文件的所在位置,可以使用locate或者find等命令。   ...
  • 通常,处理一条指令包括多个操作。将它们组织成某个特殊的阶段序列,即使指令的动作差异很大,但所有指令都遵循统一的序列。每一步的具体处理取决于正在执行的指令。 一条指令的处理可以划分为以下六个阶段: 取指...
  • CPU内有一个编译器,从IP指向的第一个字节开始,先查找操作码,一个字节不够,再加上下一个字节,直到找到符合的操作码,然后按操作码对操作数的要求凑够操作数,这就是一条指令。  现在INTEL
  • Linux 中经常使用到个命令,如 make &...同时执行命令,我们通过多重命令方式进行处理。多命令执行包括';'和'&&'命令,这样shell就可以执行多个命令,每个命令之间可用';'和...
  • 处理器包含20条指令,分为三类:R(寄存器),I(立即)和J(跳转)指令。 指令格式 注册说明 立即指示 无条件跳转指令 标志扩展名格式 一些MIPS指令要求将I格式指令的16位立即数字段(存储在位0到15中)符号扩展为...
  • 指令系统

    2021-01-07 10:50:36
    为此,一条指令必须明确地(显式)或隐含地包括以下信息: 1.操作码。指定操作类型,如位移,加,减,乘,除。 2.源操作数或其地址。指出一个或多个源操作数或其所在地址,可以是主(虚)存地址,寄存器编号或I/O...
  • 指令系统——指令格式(详解)

    千次阅读 多人点赞 2020-06-08 20:52:34
    一、总览 二、指令的定义 ...一条指令通常要包括操作码字段和地址码字段两部分: A1这个地址里面的值 与 A2这个地址里面的值 执行OP操作后,将结果存到A3这个地址中 四、指令格式-地址码 指令含义:(A1)O
  • 按最简单的形式,指令处理包括两步:处理器从存储器中一次读(取)一条指令,然后执行每条指令。程序执行是由不断重复的取指令和执行指令的过程组成的。指令执行可能涉及很多操作,具体取决于各条指令本身。 一条...
  • 计算机指令

    2017-03-28 09:45:44
    指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。  控制器靠指令指挥机器工作,... 通常一条指令包括两方面的内容:操作码和操作数,操作码决定要
  • 指令系统简介

    千次阅读 2019-09-10 17:02:00
    一般来说,一条指令包括两个基本组成部分:操作码和(地址码)操作数项 操作码:表示指令的操作性质,如加,减 地址码:是操作过程中涉及的数据来源,指出操作上或操作数的地址及指令执行结果的地址 2.指令的执...
  • 通常一条指令包括两方面的内容: [1]操作码和操作数,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。在第2章时我们介绍了MIPS所有指令都是32位的,操作码占用高6位(bit31-bit26)表示,低26...
  • ARM指令系统

    2017-11-18 16:40:56
    1ARM指令系统2指令系统简介ARMv7指令体系包括ARM和Thumb两种指令集。处理器工作在ARM状态,指令ARM...大多数ARM指令都可以条件执行,而Thumb指令中只有一条具备条件执行的功能。 大多数ARM指令在一个周期内都可以完
  • 46指令周期

    2021-01-23 16:34:57
    CPU从主存中每取出一条指令所需要的全部时间称为指令周期,也就是CPU完成一条指令的时间。 指令周期常常用若干机器周期表示,一个机器周期又包含若干时钟周期,它是CPU操作的最基本单位。每个指令周期内机器周期数...
  • 计算机原理-指令系统: 名词解释: 指令:命令计算机直接进行某种基本操作的二进制代码串,也叫机器语言代码。每条指令可以完成一个独立的算术运算或逻辑运算操作。...一条指令必须包括:操作码;操作数;地址操作结果
  • 第4章:指令系统

    千次阅读 2020-04-03 10:55:50
    一:本章概述 指令(又称为机器指令) 是指示计算机执行某种操作的命令,是计算机运行的最小功能单位,一台计算机的所有指令的...一条指令通常要包括操作码字段和地址字段两部分。 四地址指令。 指令含义:(A1)OP(A2...
  • 4.3指令周期

    2020-04-29 11:53:39
    D触发器 C1是脉冲控制信号,D是数据输入端,Q是数据输出端上升沿有效,如果有小圆圈就是下降沿有效。...先从指令cahe中查找,没用的话去主存查找,假设cache有,pc存放下一条指令的地址,从cache找到指令...
  • 字节码指令详解

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

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,176
精华内容 470
关键字:

执行一条指令包括