在MIPS体系结构中使用流水线数据路径意味着什么?
我读过的所有例子包括洗衣服和等待某些任务完成,然后再转到其他任务中去,这是相当容易理解的。
我希望对流水线数据路径如何帮助MIPS架构更快地运行和如何停止工作进行更深入的技术解释。
发布于 2014-11-16 12:26:13
我想最好的解释是在你的教科书里,StackOverflow说得有点狭隘,但是无论如何-
管道只是将任务链分解成顺序步骤的一种方法。流水线CPU在与时钟同步的步骤之间有特殊的锁存,以便在每个时钟周期中,每个步骤都可以执行其任务,并将结果发送到下一个步骤。管道化的最大好处来自于这样一个事实:一旦您将第一个元素输入管道(无论是指令、洗衣袋或诸如此类的东西),那么在下一个循环中,它就可以自由地接受下一个周期,在前面的元素完成完整的数据路径之前很久(就像多周期MIPS所做的那样)。
这允许您在一个稳定的状态下,在没有检测到控制/数据危险的情况下,每个周期向管道中输入一个元素。因此,机器的最高吞吐量仍然是每周期一个元素(IPC=1在CPU命名中),而您实际上没有限制周期的长度!从理论上讲,您可以将工作划分为更简单、更短的阶段,并缩短周期时间(提高工作频率和每次工作的总吞吐量)。
当然也有局限性,就像CPU行业不久前发现的那样--一旦管道变得太大,冲水器的惩罚(我们之前忽略了)就变成了一个巨大的惩罚,所以它不是所有的玫瑰。在管道设计中,寻找深度和复杂性的难点基本上是关键。
https://stackoverflow.com/questions/26954332
复制相似问题