-2

我正在寻找管道的编程示例,它使用管道技术执行指令/代码,也可以通过 nopipeline 技术执行。这样我就可以看到管道比无管道好。

有什么帮助吗?

4

1 回答 1

1

您的 CPU 会假装它按顺序执行操作,就人们将其视为黑匣子(设置内存并读取内存)而言,这就是它的作用。流水线是指它对流水线中的每条指令执行一点操作,并在每个周期中沿其移动。

如果您的 CPU 只有一个加法器,那么第二个加法指令将停止流水线(第一个必须完成),编译器 (GCC) 意识到这一点,因此使用指令调度之类的东西来始终保持 CPU 忙碌。

您不能“将其关闭”以查看它是否更好。指令调度是我们可以做的最便宜和最有益的优化之一,您可以通过分配分析和其他东西免费获得它。

你真的想要一本书来谈论“之前和之后”,也很难说“流水线增加了这么多”,因为它取决于使用了什么指令,CPU 有多少 ALU,等等。

于 2013-10-23T11:15:17.720 回答