【软考】——流水线

版权声明:希望各位能遵守各自内心的原则 https://blog.csdn.net/weixin_40918067/article/details/81630872

流水线工作原理

其实也就是指程序执行时多条指令重叠进行操作的一种准并行处理实现技术;

           1、指令流水线是将指令执行分成几个子过程,每一个过程对应一个工位,我们称为流水级或流水节拍,这个工位在计算机里就可以重叠工作的功能部件,称为流水部件

          2、 流水线要求所有的流水级部件必须在相同的时间内完成各自的子过程;

         3、 在流水线中,指令流动一步便是一个机器周期,且机器周期的长度必须由最慢的流水级部件处理子过程所需的时间来决定

那么我们为什么要提出流水线这个概念,以及流水线是如何提高系统吞吐量的呢?

在考试中,流水线方面的考题主要考查两个知识点:计算流水线执行时间和分析影响流水线的因素;

那么我们接下来计算下流水线执行时间吧!

  •       栗子:
  •       若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取值2ns,分析2ns,执行1ns;那么,最长的是2ns,因此100条指令全部执行完毕需要的时间是:

                     (2ns+2ns+1ns)+(100-1)*2ns = 203ns;

 也就是说一开始的第一条指令加上其余指令数量乘于最长的时间(其实也就是最慢的时间);

这是有关流水线的一些常用公式

              流水线的吞吐率 = 任务数 / 完成时间;

扫描二维码关注公众号,回复: 2930124 查看本文章

              加速比 = 不采用流水线的执行时间 / 采用流水线的执行时间;

接下来,那谁是影响流水线的主要因素?

流水线的关键在于“重叠执行”;因此如果这个条件不能够满足,流水线就会被破坏;这种破坏主要来自两种情况:

             共享资源访问的冲突:前后两条指令发生冲突或相邻的指令使用了相同的寄存器,这会使得流水线失败;

             响应中断:中断会引起流水线断流,但出现概率比条件转移的概率要低得多,且又是随机发生的。所以,流水计算机处理中断主要是如何处理好断点现场的保存和恢复,而不是如何缩短流水线的断流时间。对于这种情况有两种响应方式,一种是立即停止——精确断点法,能够立即响应中断;另一种是流水线中的指令继续执行,不再新增指令到流水线——不精确断点法;

倘若还没有明白,可以看下我对该知识点习题的整理;如有什么不对,希望大家多多指教,共同学习!

猜你喜欢

转载自blog.csdn.net/weixin_40918067/article/details/81630872