指令执行过程

指令周期

  • 指令周期:CPU从主存中每取出并执行一条指令所需的全部时间

  • 机器周期:==指令有多少步,就有几个机器周期。==分为 定长机器周期 和 不定长机器周期。又callCPU周期。

    • image-20260302105906572image-20260302145639865
  • 时间周期:即节拍,是CPU的最基本操作单位。

    • ==时间周期是出厂设定好的(主频倒数),但是不同的CPU的时间周期有长有短。==
  • 每个指令周期内的机器数可以不等,每个机器周期内的节拍数也可以不等。

  • 指令完整周期:取值 – (间址) – 执行 – (中断)周期。 四个工作周期都可以有CPU访存的操作。

    • CPU区分指令/数据的依据是:指令周期的不同阶段

指令完整周期 / 数据流情况

取址周期:根据PC的内容从主存储器取出指令并放到IR中

间址周期:根据IR中指令的地址码,取操作数有效地址

执行周期:根据指令的操作码和操作数,进行处理

中断周期:保存断点,处理中断请求

指令执行方案

  • 单指令周期:所有指令执行时间相同,都是一个时钟周期。==(时间周期长)==

    • 时钟周期depend on最长的指令【在出厂适合被设定好的了】(eg空指令和间接寻址指令时间一样)。
  • 多指令周期:根据指令的不同,用不同个数(≥2)时间周期完成。指令串行执行(同单)。硬件设计复杂。==(时间周期短)==

  • 指令流水线:

    • 在每个节拍(时钟周期)启动一条指令。(慢慢地)多条指令同步执行,但各自处在不同的执行步骤中。
    • core:CPU 内部将数据通路划分为多个级。
    • 可以提高各个部件利用效率。

其他:

  • DMA:Direct Memory Access(直接存储器访问)。数据直接从外存→内存,无需CPU。