不同数据路径的区别
在本节中,我们将讨论数据路径之间的区别。这些数据路径是:
- 单循环
- 多循环
- 管道
在单循环时钟周期时间对于指令来说足够长,而在多循环和管道时钟周期时间对于指令来说足够短。
现在来看看它们之间的区别:
单循环 | 多循环 | 管道 |
---|---|---|
单循环有一个 CPI(每条指令的时钟周期) | 多循环具有可变数量的 CPI(每条指令的时钟周期) | 在管道中,有固定数量的 CPI(每条指令的时钟周期) |
单循环没有指令细分 | 多循环有任意数量的指令细分 | 管道还具有每个管道级细分一步的指令 |
在单循环中,同时执行一条指令 | 在多循环中,也有一条指令同时执行 | 但是在管道中,许多指令是同时执行的 |
单循环不使用额外的寄存器 | 但是在多循环中,使用了额外的寄存器 | 额外的寄存器也用于管道 |
在单循环中,时钟周期时间较长 | 在多循环中,时钟周期时间很短 | 在管道中,时钟周期时间也很短 |
单循环没有重叠 | 在多个循环中,也没有重叠 | 在管道中,存在重叠指令执行 |