查看更多
当前 - 选择题 - 流水线
中等
单选题
2016年11月第4题
#第二版教材
#必须掌握

某指令流水线由5段组成,各段所需要的时间如下图所示。连续输入100条指令时的吞吐率为(__)。

问题(1)
浓缩知识点

流水线吞吐率是指单位时间内流水线完成的任务数量,计算这类指标时,首先要确定流水线周期,它由流水线各执行段中耗时最长的那段时间决定,因为流水线的整体执行节奏受限于速度最慢的执行段。计算连续执行n个任务的总时间时,第一条任务需要依次经过所有执行段,总耗时为各段时延的总和,从第二条任务开始,每个任务都能在前一个任务流出一个流水线周期后完成,因此后续n-1个任务的总耗时为(n-1)乘以流水线周期,总执行时间即为首任务耗时加上后续任务的总耗时,最终吞吐率等于任务总数n除以总执行时间。另外,当任务数量n远大于流水线段数时,总时间可近似为n乘以流水线周期,此时吞吐率会趋近于流水线的最大吞吐率,也就是1除以流水线周期,这是流水线能达到的性能上限。

正确答案
C

本题考察的是流水线性能指标——吞吐率(Throughput) 的计算方法。
特别是在理想流水线条件下,连续输入N条指令所需的总时间。
确定流水线周期: 流水线周期(每一级执行一次所需的统一时钟周期)等于耗时最长的阶段时间。
T=max(Δt,3Δt,Δt,2Δt,Δt)=3ΔtT = \max(\Delta t, 3\Delta t, \Delta t, 2\Delta t, \Delta t) = 3\Delta t
第一条指令需要依次通过5段,花费的总时间为:Tinit=Δt+3Δt+Δt+2Δt+Δt=8ΔtT_{\text{init}} = \Delta t + 3\Delta t + \Delta t + 2\Delta t + \Delta t = 8\Delta t
后续99条指令,每条间隔一个节拍时间 T=3ΔtT = 3\Delta t 输出:
Trest=99×3Δt=297ΔtT_{\text{rest}} = 99 \times 3\Delta t = 297\Delta t
所以总时间为:Ttotal=8Δt+297Δt=305ΔtT_{\text{total}} = 8\Delta t + 297\Delta t = 305\Delta t
吞吐率是单位时间内完成的指令数:吞吐率=100305Δt\text{吞吐率} = \frac{100}{305\Delta t}

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有