CPU流水线

姓名:安培赟 学号:22021211917

经典5级流水线:

MIPS经典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 数据相关性的前序指令执行完成的结果,从而造成流水线的等待停顿。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容