共通 - 多周期 v.s.流水线
在课堂当中已经讲授了多周期 CPU 和流水线 CPU 的相关内容,在这里做一个简单的总结。
在多周期 CPU 和流水线 CPU 中,所有的指令都被分割成了若干个小功能段。每一段的工作都依赖于上一个功能段的结果。
在多周期 CPU 中,每一个时刻,CPU 中都应该恰好只有 1 条指令在执行。而在流水线 CPU 中,同一时刻,将至多有流水线段数条指令在 CPU 中同时执行,这意味着在流水线 CPU 中要进行可能的冲突处理(如数据冲突等)。
为了将控制信号保持多个周期,多周期 CPU 和流水线 CPU 都需要额外的寄存器。流水线 CPU 的寄存器则在每两个相邻的功能段之间,但对于多周期 CPU,大部分控制信号寄存器在 controller 中。
总体来说,多周期由于不需要处理冲突,控制逻辑会更加简单,因此相比流水线 CPU 会更好实现。而流水线 CPU 在同一时刻会有多条指令在 CPU 中执行,因此效率更高。
在本次实验中,同学们可以根据自己的情况,以及之后分组大实验的开发计划来决定在这个实验中选择实现多周期 CPU 还是实现流水线 CPU。
最后更新:
2024年9月8日
作者: