流水线

1.流水线概念

以指令执行为例

指令执行分为三步:

读取指令------分析指令-------执行指令

在此过程中,同一时间内只有一个模块在工作,其余模块都在等待,一个指令完成后再进行下一个

流水线过程中,同一时间内每个模块都在工作,不停读取下一个,然后持续交付分析,不断执行 

因此在流水线过程中,同一时间内对多条指令重叠执行操作,同时对各条指令的不同部分进行操作,提高各个模块的利用率和执行速度 。

2.流水线周期及流水线执行时间计算

k为执行这项指令需要几部分;

t1,t2......tk为执行这k部分分别需要的时间;

n为执行多少条指令;

t(max)为执行指令这k部分需要的最长的一段时间,也称作流水线周期

理论公式:(t1+t2+t3+...tk)+(n-1)*t(max)

实践公式:(k+(n-1))*t(max)

例题:

若指令流水线把一条指令分为读取指令、分析指令、执行指令3部分,且3部分的时间分别是读取指令2s,分析指令2s,执行指令1s。那么流水线的周期是多少?100条指令全部执行完需要多少时间?

流水线周期为(也就是t(max)):2s

100条指令全部执行完需要多少时间:

按照理论公式:

(2s+2s+1s)+(100-1)*2s=203

按照实践公式:

(3+(100-1))*2s=204

注:若有考察两种公式不确定选哪个就看选项给了哪个

3.流水线的吞吐率计算

单位时间内流水线所完成的任务数量称为流水线的吞吐率         

流水线吞吐率 

           指令条数                                  100

TP=   —————————————————————    以上题为例  TP=   ————————————————

         流水线的执行时间                           203(或204)


   流水线最大吞吐率(理想状态下)

             1                                        1

TPmax=  ————————————————        以上题为例 TPmax=  ——————————
         函数周期(tmax)                             2s

4.流水线的加速比计算

流水线的加速比


        不适用流水线执行时间
S=     ——————————————————————
          使用流水线执行时间

以上题为例,不使用流水线的时间为(2s+2s+1s)*100=500
            使用流水线的时间为  203(或204)
  
     500
S= ——————
     203

5、流水线的效率计算

流水线的效率是指流水线的设备利用率

例:

        每个任务分为四部分,耗时分别为1t,1t,1t,3t,流水线连续执行四个这样的任务

        下图中阴影1代表数据1执行的四个部分,S代表执行任务四个步骤所占用的空间,表示执行任务每个步骤所消耗的时间。

流水线的效率

        n个任务占用的时空区
E = ——————————————————————————
        k个流水段的总的时空区


n个任务所占用的时空区为:(1t+1t+1t+3t)*4=24t

k个流水段的总的时空区为:15t*4=60t

        24t
S=    ——————— 
        60t

注:可理解为图表中阴影总面积与全部面积之比

 
 

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值