流水线数据通路

时间:2014-11-16 06:02:21

标签: architecture mips pipeline computer-architecture cpu-architecture

在MIPS架构中使用流水线数据路径意味着什么?

我读过的所有例子都包括洗衣服和等待完成某些任务,然后继续学习其他任务很容易理解。

我希望有更深入的技术解释,说明流水线数据通路如何帮助MIPS架构更快地运行以及停顿如何工作。

1 个答案:

答案 0 :(得分:2)

我认为最好的解释是在你的教科书中,StackOverflow有点狭隘,无法深入解释,但无论如何 -

管道只是将一系列任务分解为连续步骤的一种方法。流水线CPU在与时钟同步的步骤之间具有特殊锁存器,因此在每个时钟周期,每个步骤都可以执行其任务,并将结果发送到下一个步骤。流水线的最大好处来自于这样一个事实:一旦你将第一个元素送入管道(就像一个指令,或一袋洗衣,或者是一个洗衣店),下一个循环它可以自由地接受下一个元素,早于前一个元素完成了完整的数据路径(正如多周期MIPS所做的那样)。

这允许您在稳定状态下,每个周期将一个元素输入管道,假设没有检测到控制/数据危险。因此,机器的峰值吞吐量每个周期保持1个元素(CPU命名法中的IPC = 1),而对循环的长度几乎没有限制!从理论上讲,您可以将工作划分为更简单,更短的阶段,并缩短周期时间(提高频率,每次工作的总体吞吐量)。

当然有一些限制,正如CPU行业不久前发现的那样 - 一旦管道变得太大,冲洗的惩罚(我们之前忽略了)会成为一个巨大的惩罚,所以并非所有的玫瑰都是如此。寻找深度和复杂性的甜点基本上是管道设计的关键点。