某计算机系统采用4级流水线结构执行命令,设每条指令的执行由取指令(2Δt)、分析指令(1Δt)、取操作数(3Δt)、运算并保存结果(2Δt)组成(注:括号中是指令执行周期)。并分别用4个子部件完成,该流水线的最大吞吐率为 (问题1) ;若连续向流水线输入5条指令,则该流水线的加速比为 (问题2) 。
指令流水线核心知识点:流水线周期是流水线各执行阶段中耗时最长的阶段时长,作为流水线同步执行的基准时间。最大吞吐率指流水线稳定运行后单位时间内可完成的最多指令数,计算公式为1除以流水线周期,这是理想极限状态下的吞吐率,当处理的指令数量足够多时,实际吞吐率会趋近该极限值。加速比用于衡量流水线的性能提升程度,计算方式为不采用流水线时完成指定指令数的总时间与采用流水线时的总时间之比;其中不采用流水线的总时间为单条指令总执行时长(各阶段时间之和)乘以指令数量,采用流水线的总时间为单条指令总执行时长加上(指令数量-1)乘以流水线周期。此外,流水线的性能瓶颈通常由最长耗时阶段决定,可通过拆分瓶颈阶段、并行化瓶颈操作等方式优化流水线整体效率。
本题考察的是计算机组成中指令流水线的吞吐率、流水线周期与加速比。
问题1:
流水线最大吞吐率为极限情况下的稳定输出率,公式为TPₘₐₓ = 1/t,其中t为流水线周期。流水线周期等于各阶段中最长阶段时间,本题四阶段耗时分别为2Δt、1Δt、3Δt、2Δt,故t=3Δt,因此最大吞吐率为1/3Δt。
选择选项 C。
问题2:
不采用流水线时,单条指令时间为2Δt+1Δt+3Δt+2Δt=8Δt,5条指令总时间T₀=5×8Δt=40Δt。
采用流水线时,总时间Tκ=首条指令时延 + (条数-1)×流水线周期=8Δt + (5-1)×3Δt=8Δt+12Δt=20Δt。
加速比S=T₀/Tκ=40Δt/20Δt=2:1。
选择选项B。
