计算机体系结构中 FX 管道的逻辑布局是什么?

FX 流水线的逻辑布局首先包括对 FX 流水线有多少个阶段以及在这些阶段要执行哪些任务的规范。设计空间的另一个关键方面是如何实现 FX 管道。外汇管道可以从广义和狭义两种意义上来解释。

从更广泛的意义上讲,它涵盖了指令获取、解码、执行和(如果需要)写回的全部任务。在这种情况下,它通常也用于执行 L/S 和分支指令,称为主流水线。

在狭义上,FX 流水线被理解为仅处理 FX 指令处理的执行和写回阶段。然后,前面的取指、解码任务以及在超标量执行的情况下,指令发布由处理器的单独部分执行。

整数和布尔指令在程序中占有相当大的比例。它们总共占所有已执行指令的 30-40%。因此,FX 流水线的布局是获得高性能处理器的基础。

在下文中,我们分别描述了 RISC 和 CISC 处理器的 FX 管道,因为每种类型的范围略有不同。在处理操作指令时,RISC 流水线必须处理寄存器操作数。相比之下,CISC 管道必须能够处理寄存器和内存操作数以及目的地。

RISC 管道

RISC 处理器中的传统 FX 流水线以寄存器-寄存器指令的执行为模型。在这里考虑寄存器寄存器指令的执行包括以下子任务 -

  • 获取指令

  • 解码指令

  • 获取引用的寄存器

  • 执行指定的操作

  • 将结果写回寄存器文件

Sparc、SuperSparc、MC88110 和 PowerPC 是 RISC 处理器的示例,它们将这种安排用于 FX 管道。在某些处理器中,循环持续时间有一些细微的变化,例如在 MC 8810 pr SuperSparc 处理器中,如表中所示。

传统外汇管道中管道周期持续时间的变化


拿来解码执行回写
Most Processors1111
MC 881101½1½
超级Sparc13/21½

CISC管道

CISC 流水线与 RISC 流水线不同,主要在于 CISC 流水线必须能够处理寄存器和内存操作数和目的地。

为了访问内存操作数(应该在缓存中),需要执行两个额外的子任务 - 计算操作数地址和获取操作数(大概从缓存中)。

因此,用于有效执行寄存器内存指令的传统 CISC 流水线比传统 RISC 流水线多包含两个阶段。流水线由以下六个阶段组成:取指(F)、解码(D)、地址计算(A)、缓存访问(C)、执行(E)和将结果写回寄存器文件(WB)。它被多个 CISC 处理器使用,例如 MC 68040 和 MC 68060。

流水线也可以很容易地用于执行寄存器寄存器和加载/存储指令。为了执行寄存器-寄存器指令,引用的寄存器操作数在 D 周期中取出,而 A 和 C 周期保持未使用。随后,在 E 周期执行所需的操作,并在结束 WB 周期期间将结果写回寄存器文件。