在本节中,我们将讨论数据路径之间的区别。这些数据路径是:

  • 单循环
  • 多循环
  • 管道

在单循环时钟周期时间对于指令来说足够长,而在多循环和管道时钟周期时间对于指令来说足够短。

现在来看看它们之间的区别:

单循环 多循环 管道
单循环有一个 CPI(每条指令的时钟周期) 多循环具有可变数量的 CPI(每条指令的时钟周期) 在管道中,有固定数量的 CPI(每条指令的时钟周期)
单循环没有指令细分 多循环有任意数量的指令细分 管道还具有每个管道级细分一步的指令
在单循环中,同时执行一条指令 在多循环中,也有一条指令同时执行 但是在管道中,许多指令是同时执行的
单循环不使用额外的寄存器 但是在多循环中,使用了额外的寄存器 额外的寄存器也用于管道
在单循环中,时钟周期时间较长 在多循环中,时钟周期时间很短 在管道中,时钟周期时间也很短
单循环没有重叠 在多个循环中,也没有重叠 在管道中,存在重叠指令执行