计算机体系结构中 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管道。在某些处理器中,循环持续时间有一些细微的变化,例如在MC8810prSuperSparc处理器中,如表中所示。
传统外汇管道中管道周期持续时间的变化
CISC管道
CISC流水线与RISC流水线不同,主要在于CISC流水线必须能够处理寄存器和内存操作数和目的地。
为了访问内存操作数(应该在缓存中),需要执行两个额外的子任务-计算操作数地址和获取操作数(大概从缓存中)。
因此,用于有效执行寄存器内存指令的传统CISC流水线比传统RISC流水线多包含两个阶段。流水线由以下六个阶段组成:取指(F)、解码(D)、地址计算(A)、缓存访问(C)、执行(E)和将结果写回寄存器文件(WB)。它被多个CISC处理器使用,例如MC68040和MC68060。
流水线也可以很容易地用于执行寄存器寄存器和加载/存储指令。为了执行寄存器-寄存器指令,引用的寄存器操作数在D周期中取出,而A和C周期保持未使用。随后,在E周期执行所需的操作,并在结束WB周期期间将结果写回寄存器文件。