美文网首页
流水线的局限性

流水线的局限性

作者: Sun东辉 | 来源:发表于2022-08-21 09:20 被阅读0次

图 4-33 的例子给出了一个理想的流水线化的系统,在这个系统中,我们可以将计算分成三个相互独立的阶段,每个阶段需要的时间是原来逻辑需要时间的三分之一。不幸的是,会出现其他一些因素,降低流水线的效率。

1. 不一致的划分

图 4-36 展示的系统中和前面一样,我们将计算划分为了三个阶段 ,但是通过这些阶段的延迟从 50ps 到 150ps 不等。通过所有阶段的延迟和仍然为 300ps。不过,运行时钟的速率是由最慢的阶段 的延迟限制的 。流水线图表明,每个时钟周期,阶段 A 都会空闲(用白色方框表示)100ps,而阶段 C 会空闲 50ps。只有阶段 B 处于活动状态。我们必须将时钟周期设为 150+20=170ps,得到吞吐量为 5.88 GIPS。另外,由于时钟周期减慢了,延迟也增加到了 510ps。

对硬件设计者来说,将系统计算设计划分成一组具有相同延迟的阶段是一个严峻的挑战。通常,处理器中的某些硬件单元,如 ALU 和内存,是不能被划分成多个延迟较小的单元的。这就使得创建一组平衡的阶段非常困难。在设计流水线化的 Y86-64 处理器中,我们不会过于关注这一层次的细节,但是理解时序优化在实际系统设计中的重要性还是非常重要的。

2. 流水线过深,收益反而下降

图 4-37 说明了流水线技术的另一个局限性。在这个例子中,我们把计算分成了6 个阶段,每个阶段需要 50ps。在每对阶段之间插入流水线寄存器就得到了一个六阶段流水线。这个系统的最小时钟周期为 50+20=70ps,吞吐最为 14.29 GIPS。因此,通过将流水线的阶段数加倍,我们将性能提高了 14.29/8.33= 1.71。虽然我们将每个计算时钟的时间缩短了两倍,但是由于通过流水线寄存器的延迟,吞吐量并没有加倍。这个延迟成了流水线吞吐量的一个制约因素。在我们的新设计中,这个延迟占到了整个时钟周期的 28. 6%。

为了提高时钟频率,现代处理器采用了很深的(I5 或更多的阶段)流水线。处理器架构师将指令的执行划分成很多非常简单的步骤,这样一来每个阶段的延迟就很小。电路设计者小心地设计流水线寄存器,使其延迟尽可能得小。芯片设计者也必须小心地设计时钟传播网络,以保证时钟在整个芯片上同时改变。所有这些都是设计高速微处理器面临的挑战。

相关文章

  • 流水线的局限性

    图 4-33 的例子给出了一个理想的流水线化的系统,在这个系统中,我们可以将计算分成三个相互独立的阶段,每个阶段需...

  • 认知四层次模型

    导语:对世界认识的局限性会导致思维的局限性,思维的局限性会导致目标的局限性,目标的局限性最终导致行为的局限性,从而...

  • Jenkins之声明式流水线语法

    1 流水线 1.1 简介 jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenk...

  • 【计算机体系结构】流水线的认识

    流水线的认识 1.流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流...

  • Unity Shader学习-1.渲染流水线

    Unity Shader学习-1.渲染流水线 先了解一下什么是流水线:(下面是百度百科的定义) 流水线:流水线又称...

  • Unity Shader学习-1.渲染流水线【转】

    Unity Shader学习-1.渲染流水线 先了解一下什么是流水线:(下面是百度百科的定义) 流水线:流水线又称...

  • 如何正确选择合适自己公司的流水线设备

    如何选择一台合适流水线设备?合适的流水线设备能有效的提高生产效率,选购流水线设备时,要注意流水线的形式是否符合生产...

  • jenkins声明式流水线

    pipeline最简结构 pipeline:代表整条流水线,包含整条流水线的逻辑 agent:指定流水线的执行器 ...

  • ECRS工时分析,视与视ECRS工时分析软件论述工业生产方式的发

    经过20多年的实践,日本的电器业已经彻底告别了流水线。从学习流水线,到改造流水线,再到告别流水线,这是一个生产方式...

  • 人性的局限

    人性有三个局限性 : 其一,时间的局限性:夏虫不可语冰;其二,空间的局限性:井蛙不可语海;其三,认知的局限性:盲人...

网友评论

      本文标题:流水线的局限性

      本文链接:https://www.haomeiwen.com/subject/ynnjgrtx.html