我现在正在阅读CSAPP,在第4章中,有一些关于cpu流水线功能的讨论,其中作者讨论了非流水线cpu在1秒内可以执行多少指令VS流水线cpu。我发布截图如下:
图中的4.32(a)显示了一个非流水线的cpu。在此实现中,我们必须在开始下一个之前完成一条指令。大盒子是组合逻辑。作者将整个过程视为指令,并将吞吐量计算为3.12 GIPS,如公式所示。
在该流水线计算中,组合逻辑可以分为3个阶段I1,I2和I3。现在我的问题是:在我看来,因为所有这三个阶段都被组合成产品作为组合逻辑的效果,我将把3个阶段视为单个指令,正如作者在非流水线示例中所做的那样。但是,笔者似乎将3个阶段视为3个指令,并获得了8.33 GIPS的吞吐量如下:
所以我很好奇教学的定义到底是什么? (如果我们考虑将寄存器写为指令,那么作者的答案是正确的)