流水线中哪一个是正确的?
Which one is right one in pipelining?
我正在研究CPU流水线,遇到了麻烦。
我想知道下图中哪一个是正确的流水线
在我看来,第一个甘特图有点 "structural hazard" 因为 "IF" 阶段部分重叠。我认为不允许将一个阶段用于两个指令。所以我觉得第二个是对的....
我说的对吗?
你是对的。
第一个图表在第二个周期中有两条指令被提取。除非另有说明,否则不能这样做。
在某些情况下这是允许的:
- 取指令分为
IF1
和IF2
两个阶段,每个阶段占用1个周期。 IF1
和 IF2
可以重叠。
- 数据路径和指令缓存支持 2 个同时操作。
我正在研究CPU流水线,遇到了麻烦。
我想知道下图中哪一个是正确的流水线
在我看来,第一个甘特图有点 "structural hazard" 因为 "IF" 阶段部分重叠。我认为不允许将一个阶段用于两个指令。所以我觉得第二个是对的....
我说的对吗?
你是对的。
第一个图表在第二个周期中有两条指令被提取。除非另有说明,否则不能这样做。
在某些情况下这是允许的:
- 取指令分为
IF1
和IF2
两个阶段,每个阶段占用1个周期。IF1
和IF2
可以重叠。 - 数据路径和指令缓存支持 2 个同时操作。