01计算机组成原理与体系结构

8-流水线的计算题

2021-07-22 870 5

简介 图文解析计算(非常全)

例题:

一条指令的执行过程可以分解为取指、分析和执行三步,它们的执行时间分布为3△t、2△t、4△t,若按串行方式执行,则10条指令全部执行完需要()△t;若按流水线的方式执行,流水线周期为()△t,则10条指令全部执行完需要()△t,流水线的吞吐率为(),加速比为()流水线的效率为()。


题目分析:

upfile

    串行执行10条指令(串行执行的过程如上图所示),那么10条指令需要 10 * (3△t + 2△t + 4△t) = 90△t

    流水线的周期为指令执行的各个子过程时间最长的一段, 三段的执行时间分布为 3△t、2△t、4△t,流水线的周期4△t

    

    使用流水线技术执行10条指令的时间

upfile


    理论公式(根据上图理解公式):

    (3△t + 2△t + 4△t) + (10 - 1)* 4△t = 45△t

upfile


    实践公式(根据上图理解公式):

    实践公式中,流水线的建立时间是 指令执行的段数 * 指令的周期

    3 * 4△t  + (10 - 1)* 4△t = 48△t

    理论公式存在争议: 实际执行的时候会增加复杂度,CPU设计的时候,如果需要单独处理第一条指令的执行时间,并进行累加,之后再计算剩下指令的执行时间,增加了实现的复杂度。

    而对于实践公式,只需要设计算法(k + n -1)*  Δt就可以。


流水线的吞吐率

    1. 指令条数为 10

    2. 流水线的执行时间为 45△t  


吞吐率为  10 / 45△t  


流水线的加速比

    1. 不使用流水线的执行时间90△t

    2. 使用流水线的执行时间45△t

    加速比为 90△t  / 45△t = 2



流水线的效率

upfile


    1. 10个任务占用的时空区:    10 *( 3△t + 2△t + 4△t ) = 90

    2. 10个任务占用的总时空区:

    长度: ( 3△t + 2△t  ) + 4△t  * 10 = 45△t

    宽度: 4

    总时空区 = 45△t * 4 = 180△t


3. 流水线的效率

45△t  / 180△t



最终完整的答案(计算结果一般不需要约分)

一条指令的执行过程可以分解为取指、分析和执行三步,它们的执行时间分布为3△t、2△t、4△t,若按串行方式执行,则10条指令全部执行完需要( 90 )△t;若按流水线的方式执行,流水线周期为( 4 )△t,则10条指令全部执行完需要( 45 )△t,流水线的吞吐率为( 10 / 45△t  ),加速比为( 2 )流水线的效率为( 45△t / 180△t )。


点赞 5

文章评论

欢迎您:

纸上得来终觉浅,绝知此事要躬行!

112 文章 59161 浏览 3 评论

联系我

  •   QQ:    361352119
  •  Email:  lisimmy@sina.com
  • 微信: