姓名:安培赟 学号:22021211917
经典5级流水线:

流水线本质上可以理解为一种以面积换性能(Trade Area for Performance)、以空间换时间(Trade Space for Timing)的手段。
状态机是流水线的“取反”,同样在所有 的 ASIC 电路实现中都广泛采用 。 状态机本质上可以理解为是一种以性能换面积 (Trade Performance for Area )、以时间换空间( Trade Timing for Space )的手段 。
流水线的正面意义:
流水线的级数越多,意味着流水线被切得越细,每一级流水线内容纳的硬件逻辑便越少。在两级寄存器(每一级流水线由寄存器组成〉之间的硬件逻辑越少,则意味能够运行到更高的主频。主频越高 也意味着流水线的吞吐率越高,从而性能越高,这是流水线加深的正面意义。
流水线的负面意义:
1、更多的流水线级数要消耗更多的寄存器,以及 更多的面积开销。这是流水线加深的负面意义。
2、由于每一级流水线需要进行握手,流水线最后 一级的反压信号可能会一直串扰到最 前一级造成严重的时序问题,需要使用 一些比较高级的技巧来解决此类反压时序问题。 这是流水线加深的负面意义。
3、流水线冲刷(Pipeline Flush ):流水线越深,则 意 味着浪费和损失越严重;流水线越浅,则浪费和损失越少 。
流水线的取指令阶段无法得知条 件跳转的结果是到底跳还是不跳,因此只能进行预测,而到了流水线的末端才能够 通过实际的运算得知该分支是真的该跳还是不该跳。如果发现真实的结果(譬如该 跳〉与之前预测的结果(譬如预测为不跳)不相符,则意味着预测失败,需要将所 有预取的错误指令流全部丢弃掉。重新取正确的指令流。
数据冲突时流水线中的最重要的冲突,常见的数据相关性有:
1、WAR (Write-After-Read)相关性,又称先读后写相关性。
2、WAW (Write-After-Write)相关性,又称先写后写相关性。
3、RAW (Read-After-Write)相关性,又称先写后读相关性。
以上的 3 种相关性中,RAW 属于真数据相关 。
WAW 和 WAR 可以通过寄存器重命名的方法将相关性去除,从而无须担心其执行顺序。
寄存器重命名技术在 Tomasulo 算法中通过保留站 和 ROB (Re-Order Buffer)完成, 或者采用纯物理寄存器(而不用 ROB)的方式完成 。
RAW 为真数据相关,是因为其没有办法通过寄存器重命名的方法将相关 性去除。
后序的指令一定要使用和它有RAW 数据相关性的前序指令执行完成的结果,从而造成流水线的等待停顿。