指令周期

编辑
本词条由“匿名用户” 建档。
指令周期(也称为获取-解码-执行周期,或简称为获取-执行周期)是中央处理器 (CPU) 从启动到计算机关闭以处理指令所遵循的周期 . 它由三个主要阶段组成:取指阶段、解码阶段和执行阶段。 在更简单的 CPU 中,指令周期是按顺序执行的,每条指令在下一条指令开始之前被处理。 在大多数现代 CPU 中,指令周期是通过指令流水线并发执行的,而且通常是并行执行的:下一条指令在前一条指令完成之前开...

指令周期

编辑

指令周期(也称为获取-解码-执行周期,或简称为获取-执行周期)是中央处理器 (CPU) 从启动到计算机关闭以处理指令所遵循的周期 . 它由三个主要阶段组成:取指阶段、解码阶段和执行阶段。

在更简单的 CPU 中,指令周期是按顺序执行的,每条指令在下一条指令开始之前被处理。 在大多数现代 CPU 中,指令周期是通过指令流水线并发执行的,而且通常是并行执行的:下一条指令在前一条指令完成之前开始处理,这是可能的,因为周期被分解成单独的步骤。

组件的作用

编辑

程序计数器(PC)是一个特殊的寄存器,保存着下一条要执行的指令的内存地址。 在获取阶段,PC 中存储的地址被复制到内存地址寄存器 (MAR) 中,然后 PC 递增以指向下一条要执行的指令的内存地址。 然后,CPU 在 MAR 描述的内存地址处获取指令,并将其复制到内存数据寄存器 (MDR) 中。 MDR 还充当双向寄存器,用于保存从内存中获取的数据或等待存储在内存中的数据(因此也称为内存缓冲寄存器 (MBR))。 最终,MDR 中的指令被复制到当前指令寄存器 (CIR) 中,该寄存器充当刚刚从内存中获取的指令的临时存放地。

在解码阶段,控制单元(CU)将解码 CIR 中的指令。 然后,CU 将信号发送到 CPU 内的其他组件,例如算术逻辑单元 (ALU) 和浮点单元 (FPU)。 ALU 执行算术运算,例如加法和减法,还可以通过重复加法进行乘法运算,通过重复减法进行除法运算。 它还执行逻辑运算,例如 AND、OR、NOT 和二进制移位。 FPU 保留用于执行浮点运算。

阶段总结

编辑

每台计算机的CPU根据不同的指令集可以有不同的周期,但都会类似下面的周期:

  • 取指阶段:从程序计数器当前存储的内存地址中取下一条指令,存入指令寄存器。 在获取操作结束时,PC 指向将在下一个周期读取的下一条指令。
  • 解码阶段:在此阶段,指令寄存器中的编码指令由解码器解释。
    • 读取有效地址:在内存指令(直接或间接)的情况下,执行阶段将在下一个时钟脉冲期间。 如果指令有间接地址,则从主存中读取有效地址,并从主存中取出任何需要处理的数据,然后放入数据寄存器(时钟脉冲:T3)。 如果指令是直接指令,则在此时钟脉冲期间不执行任何操作。 如果这是 I/O 指令或寄存器指令,则操作在时钟脉冲期间执行。
  • 执行阶段:CPU的控制单元将解码后的信息作为控制信号序列传递给CPU的相关功能单元,以执行指令所需的动作,例如从寄存器中读取值,将它们传递给 ALU 对它们执行数学或逻辑函数,并将结果写回寄存器。 如果涉及 ALU,它会将条件信号发送回 CU。 运算产生的结果存储在主存储器中或发送到输出设备。 根据 ALU 的反馈,PC 可能会更新到一个不同的地址,下一条指令将从该地址获取。
  • 重复循环

此外,在大多数处理器上都可能发生中断。 这将导致 CPU 跳转到中断服务程序,执行该程序然后返回。 在某些情况下,一条指令可以在中途被中断,该指令不会有任何效果,但会在从中断返回后重新执行。

启动

编辑

系统一通电,循环就开始了,初始 PC 值由系统架构预定义。

指令周期

通常,此地址指向只读存储器 (ROM) 中的一组指令,这些指令开始加载(或引导)操作系统的过程。

获取阶段

编辑

每条指令的获取步骤都是相同的:

  • CPU将PC的内容发送给MAR,并在控制总线上发送读取命令
  • 响应读命令(地址等于PC),内存返回存储在内存位置ind的数据

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/196064/

(3)
词条目录
  1. 指令周期
  2. 组件的作用
  3. 阶段总结
  4. 启动
  5. 获取阶段

轻触这里

关闭目录

目录