指令流水线 时空图 + 执行时间

软考 · 计算机组成原理 | 1.2 | 从"汽车装配线"讲起,用时空图算时间

① 先讲个生活例子:汽车装配线

造一辆汽车要 4 道工序:装发动机 → 装轮子 → 喷漆 → 检测。每道工序 1 小时。

不用流水线(串行):一辆车从头做到尾,4 小时。造 3 辆车 → 4×3 = 12 小时。

串行:一辆做完才做下一辆(每格 1 小时,共 4×3=12 格)
时刻→
1
2
3
4
5
6
7
8
9
10
11
12
车1
发动机
轮子
喷漆
检测
车2
发动机
轮子
喷漆
检测
车3
发动机
轮子
喷漆
检测
共 12 小时(4×3)

用流水线:每道工序各配一个工人,车1 做完"发动机"就去"轮子",同时车2 开始"发动机"……

流水线:工序重叠,人不停(每格 1 小时)
时刻→
1
2
3
4
5
6
发动机
车1
车2
车3
轮子
车1
车2
车3
喷漆
车1
车2
车3
检测
车1
车2
车3
6 小时 —— 只有开头"填线"的 3 格是浪费的,后面每格都出一辆车(比串行 12 小时快一倍)
🔑 流水线的思想:把一件事拆成多道工序,让不同的事在不同工序上"重叠"进行,机器一刻不停。指令流水线,就是把"执行一条指令"拆成几段,让多条指令重叠跑。

② 三个术语,先认全

术语含义装配线类比
段(级) k一条指令被拆成几道工序4 道工序 → k=4
段周期 Δt每道工序耗的时间每道 1 小时
指令条数 n要处理多少条指令造 3 辆车 → n=3

指令流水线常见拆法(经典 5 段):取指 → 译码 → 执行 → 访存 → 写回。

③ 核心:时空图 + 公式(最常考)

为什么流水线总时间 = (k + n − 1) × Δt? 看时空图就懂了:

k=4 段,n=5 条指令(每格 = 1 个 Δt)
时刻→
1
2
3
4
5
6
7
8
取指
I1
I2
I3
I4
I5
译码
I1
I2
I3
I4
I5
执行
I1
I2
I3
I4
I5
写回
I1
I2
I3
I4
I5
数一数:总共 8 格(对角线排布,斜着看每条指令 I1→I5 各占 4 格)

数一数:总共 8 格。为什么是 8?

🔑 拆成两段看:
· 前 k 格(1~4):第一条指令 I1 走完 4 段,这一段是"填满流水线"(前面是空的)
· 后 n−1 格(5~8):流水线满了之后,每过 1 格就流出 1 条指令,共 4 条
· 合计 = k + (n−1) = 4 + 4 = 8 格
🔑 流水线执行时间公式:
总时间 = (k + n − 1) × Δt
(k=段数,n=指令数,Δt=段周期。前提:各段耗时相等)
🔑 对比串行时间:不用流水线 = k × n × Δt。两条公式只差一点,别混!
本页例子:流水线 (4+5−1)×Δt=8Δt;串行 4×5×Δt=20Δt。

④ 自己调参数,看时空图变化

段数 k: 指令数 n:

⑤ 吞吐率 & 建立时间

吞吐率(Throughput,TP):单位时间流出多少结果。装配线 = 每小时出几辆车;指令流水线 = 每秒执行几条指令。

🔑 吞吐率公式:TP = n / 总时间 = n / ((k+n−1) × Δt)

拿 k=4、n=5、Δt=1ns 实算一遍:

第一步:先算总时间(用 ③ 的公式) 总时间 = (k+n−1)×Δt = (4+5−1)×1ns = 8ns 第二步:套吞吐率 TP = n / 总时间 = 5 条 ÷ 8ns = 0.625 条/ns 读法:平均每 1ns 吐 0.625 条 → 平均 1.6ns 才吐出一条 换算:0.625 条/ns = 6.25 亿条/秒

关键问题:指令越多,吞吐率越高吗? 看这组数(都固定 k=4、每段 1ns):

指令数 n总时间 = (4+n−1) ns吞吐率 TP = n ÷ 总时间
58 ns0.625 条/ns
100103 ns0.971 条/ns
10001003 ns0.997 条/ns
∞(无限多)—→ 1 条/ns(上限)
🔑 为什么会这样? 开头"填线"那 k=4 格是白花的——里面一条指令都没吐出来。n 越大,这 4 格摊到每条指令上就越薄,TP 就越逼近上限。
🔑 最大吞吐率:TPmax = 1 / Δt(各段相等时)
直觉(比公式重要):流水线一旦装满,每过 1 个 Δt 就吐出一条——所以最多就是"一个 Δt 一条",物理上不可能更多。
各段耗时不一样时:TPmax = 1 / max{Δt₁, Δt₂, …, Δtₖ}(节奏由最慢那段定——装配线上最慢的工人拖累全线)

追问:上面表格里 Δt 我取了 1ns,那 Δt 换成别的值呢? —— 换的只是"比例尺",不是"形状"。

🔑 把 Δt 从公式里拎出来看:
TP = n / ((k+n−1)·Δt) = (1/Δt) × n/(k+n−1)
前一半 1/Δt 就是 TPmax(天花板的高度);后一半 n/(k+n−1) 是"离天花板还有多远",跟 Δt 完全无关。
Δt(k=4, n=5)总时间TPTPmax 天花板TP 占天花板的百分比
0.5 ns4 ns1.25 条/ns2 条/ns62.5%
1 ns8 ns0.625 条/ns1 条/ns62.5%
2 ns16 ns0.3125 条/ns0.5 条/ns62.5%
10 ns80 ns0.0625 条/ns0.1 条/ns62.5%
🔑 铺开看:TP 的绝对值全变了(1.25 / 0.625 / 0.31 / 0.06),但最右边那列 62.5% 一动不动。
那列 = n/(k+n−1) —— 它就是我们 ⑤′ 要讲的 效率 E。所以可以提前写成一个式子:
TP = E × TPmax:Δt 决定天花板多高,E 决定你贴着天花板多近。

那 n/(k+n−1) 这个数到底代表什么?——它是同一个东西的四个侧面,四个算出来一模一样:

读法怎么理解k=4, n=5 时
① 时空图面积比「有活干的格子 ÷ 总格子」= (n×k) ÷ (k×(k+n−1)),上下约掉 k → n/(k+n−1)20 ÷ 32 = 0.625
② 时间轴产出比时间轴 k+n−1 格里,前 k−1 格白干(填线),后面 n 格每格产出一条 → n 格产出 ÷ 总格数5 ÷ (3+5) = 0.625
③ 吞吐率达成率TP ÷ TPmax = 实际吞吐 ÷ 天花板0.625 ÷ 1 = 0.625
④ 时间理想度「理想用时 nΔt ÷ 实际用时 (k+n−1)Δt」,Δt 约掉5 ÷ 8 = 0.625
🔑 为什么分子偏偏是 n? 因为时间轴上"真正产出的格数"就是 n(n 条指令,每条占一格产出时刻)。分母 k+n−1 是总时间格数。所以这个比值 = "没白花的格数占几成"。
🔑 它就是效率 E(⑤′ 详细讲):E = n/(k+n−1)。两个极端一看就懂:
· n=1:E = 1/4 = 25% —— 只跑一条,流水线填了 4 格才出 1 条,浪费 3 格
· n→∞:E → 1 —— 填线那 k−1 格摊薄到可忽略,几乎 100% 利用率
💡 看穿一件事:k=4、n=5 时 E=0.625,往上表四个读法都一样。这正说明 TP、E、S 三个指标是同一个"浪费了多少"的三种说法——⑤′ 会把它们串成一张表。
⚠️ Δt 什么时候才真的影响结论?
· 要算具体数值和单位时(1ns 还是 10ns,差 10 倍);
· 各段不等时:TPmax = 1/max{Δt₁…Δtₖ},得先挑出最慢那段;
· 但 加速比 S = knΔt ÷ ((k+n−1)Δt) 里的 Δt 约掉了 → S 与 Δt 无关。所以"把每段都缩到一半"只是整体变快,加速比一点也不涨。(这也是 ⑤′ 的内容)
💡 所以 ④ 那个交互图故意把单位写成 条/Δt 而不是 条/ns —— 它算的是"以 Δt 为单位"的结果,任何 Δt 都通用。要换成 条/ns,除以 Δt 的 ns 数即可。

建立时间(填满流水线所需的时间):从"开始"到第一条指令产出的那段时间。

🔑 两个等价说法(考试两个都爱用):
· 第一条指令走完全部 k 段的时间
· 流水线从空到"填满"(k 个段全忙)所需的时间
建立时间 = k × Δt(各段相等时;各段不等时 = Δt₁+Δt₂+…+Δtₖ,见 ⑤″)

逐时刻看清楚它到底是什么(k=4、n=5、每段 1ns):

时刻取指译码执行写回本刻产出在跑条数
1I1————1
2I2I1———2
3I3I2I1——3
4I4I3I2I1I1 ← 第一条产出4(填满)
5I5I4I3I2I24
6—I5I4I3I33
7——I5I4I42
8———I5I51
看"在跑条数"这列:1 → 2 → 3 → 4(填满)→ 4 → 3 → 2 → 1 上坡 = 建立时间(填线),平顶 = 满负荷产出,下坡 = 排空 关键:前 k−1 = 3 个 Δt 里,"本刻产出"一直是 0 —— 一条都没吐出来 第一个产出出现在 t=4,那一刻恰好 4 个段全忙(填满) 所以:建立时间 = 4Δt = k×Δt 注意:不是"全程只有 1 条在跑"!是 1→2→3→4 逐渐填满的 但前面那 3 个 Δt 零产出 —— 这才是真正白花的部分
⚠️ 修正一个常见误解:建立时间≠"第一条指令独占机器"。它是"从零到第一个成果出来"的等待期,期间里面同时跑的指令从 1 条逐渐涨到 k 条,但一条都没产出。
🔑 于是总时间一眼看懂:
总时间 = 建立时间 + (n−1)×Δt = k×Δt + (n−1)×Δt = (k+n−1)Δt
跑完 4Δt 才吐出第 1 条,之后每过 1Δt 吐一条,还要吐 n−1 = 4 条 → 再花 4Δt,共 8Δt ✓
🔑 考题怎么说"建立时间"(换个说法别不认):
· "第 1 条指令执行完毕所需的时间"  · "流水线填满所需的时间"
· "第一条结果的产出时刻"  · "流水线的启动开销 / 填充时间"
全都是同一个东西:k × Δt(各段相等时)。
🔑 把总时间拆成两半(这个关系特别好用,能互相验算):
总时间 = 建立时间 + (n−1) × Δt
因为 (k+n−1) 正好 = k + (n−1):前面 k 格在填线(建立时间),后面每格吐一条,共 n−1 条。
验算:4 + (5−1) = 4 + 4 = 8ns ✓(和 (k+n−1)×Δt 的结果一模一样)
⚠️ 别把两个"时间"搞混(易错点,⑦ 还会再点一次):
· 建立时间 = k × Δt —— 只跟 k 有关,跟 n 无关
· 总时间 = (k+n−1) × Δt —— 跟 k、n 都有关
随手算一道:某流水线共 8 段,每段 2ns,连续执行 200 条指令。求 ① 总时间 ② 吞吐率 TP ③ 最大吞吐率 TPmax ④ 建立时间。
点击看答案
① 总时间 = (k+n−1)×Δt = (8+200−1)×2 = 207×2 = 414ns
② TP = 200 ÷ 414 ≈ 0.483 条/ns(比上限小一点,因为开头填线亏了)
③ TPmax = 1/Δt = 1/2ns = 0.5 条/ns
④ 建立时间 = k×Δt = 8×2 = 16ns
验算:16 + (200−1)×2 = 16 + 398 = 414ns ✓

⑤′ 加速比 & 效率(也是必考)

加速比 S:不用流水线的时间 ÷ 用流水线的时间,衡量"快了多少倍"。

还是 k=4, n=5 的例子 串行时间 = k×n×Δt = 4×5×Δt = 20Δt 流水线时间 = (k+n−1)×Δt = 8×Δt = 8Δt 加速比 S = 20Δt / 8Δt = 20/8 = 2.5 倍
🔑 加速比公式:S = kn / (k+n−1)
当 n 很大(指令很多)时,S → k(最多加速"段数"倍,不可能更多)。

效率 E:时空图里"有活干的格子"占"全部格子"的比例(设备利用率)。

看时空图:总格子 = 4段 × 8格 = 32 格,其中有指令的 = 5条 × 4段 = 20 格 ┌────┬────────────────────────┐ │取指│ I1 I2 I3 I4 I5 │ 5 个有活 │译码│ I1 I2 I3 I4 I5 │ 5 个有活 │执行│ I1 ... I5 │ 5 个有活 │写回│ I1 ... I5 │ 5 个有活 └────┴────────────────────────┘ 总共 4×8=32 格,有活 20 格 → 空闲 12 格(左下角三角形浪费) 效率 E = 20/32 = 0.625(62.5%)
🔑 效率公式:E = n / (k+n−1)(约分后正好是 n/(k+n−1))
n 越大 → 填线浪费占比越小 → E 越接近 1(100%)。
🔑 三个指标串成一根绳(看穿它们是一回事):
S ÷ Smax = (kn/(k+n−1)) ÷ k = n/(k+n−1) = E
也就是 E = S / Smax:实际加速比 ÷ 理论最大加速比 = 效率。
同一个"浪费了多少",从三个角度说:
· 吞吐率角度:TP/TPmax = E · 时空图角度:有活格子/总格子 = E · 加速比角度:S/Smax = E

完整算一遍(k=5、n=50、Δt=3ns):

串行时间 = k×n×Δt = 5×50×3 = 750ns 流水线时间 = (k+n−1)×Δt = 54×3 = 162ns 加速比 S = 750 / 162 = 4.63 倍 (公式:kn/(k+n−1) = 250/54 = 4.63 ✓) 理论最大 Smax = k = 5 倍(n→∞ 才够得着) 效率 E = n/(k+n−1) = 50/54 = 0.9259(92.59%) 一致性验证:S/S_max = 4.63/5 = 0.9259 = E ✓
🔑 效率为什么能直接约成 n/(k+n−1)? 面积法:E = (n×k) / (k×(k+n−1)),上下同时约掉 k(段数)→ n/(k+n−1)。所以公式里那个 k 是"被约掉的",别以为它凭空不见了。
练一道:某流水线 4 段、每段 2ns、执行 96 条指令。求 ① 串行时间 ② 流水线总时间 ③ 加速比 S ④ 效率 E ⑤ 验证 S/Smax 是否等于 E。
点击看答案
① 串行 = k×n×Δt = 4×96×2 = 768ns
② 流水线 = (k+n−1)×Δt = (4+96−1)×2 = 99×2 = 198ns
③ S = 768/198 = 3.879 倍(公式验证:kn/(k+n−1) = 384/99 = 3.879 ✓)
④ E = n/(k+n−1) = 96/99 = 0.9697(96.97%)
⑤ Smax = k = 4;S/Smax = 3.879/4 = 0.9697 = E ✓

⑤″ 坑最多的变体:各段耗时不等

前面所有公式都默认"各段耗时相等"。考试爱出各段不等的,公式变成:

🔑 各段不等时:总时间 = (Δt₁ + Δt₂ + … + Δtₖ) + (n−1) × max{Δt}

为什么是这个形状?拆开看:

· 第一条指令:要老老实实走完全部段 → Δt₁+Δt₂+…+Δtₖ · 后面每条指令:流水线满载后,节奏由最慢的段决定 (快的段要等慢的段,就像装配线上最慢的工人拖累全线) → 每条多花 max{Δt},共 n−1 条 → (n−1)×max{Δt}

完整例题(典型真题样式):

某指令流水线共 4 段,各段耗时 2ns、1ns、3ns、1ns,执行 100 条指令: ① 先找最慢段:max{2,1,3,1} = 3ns ② 第一条指令全程:2+1+3+1 = 7ns ③ 后 99 条:99 × 3 = 297ns ④ 总时间 = 7 + 297 = 304ns ⑤ 若问吞吐率:TP = 100 / 304ns ≈ 0.33 条/ns 最大吞吐率 TPmax = 1/max{Δt} = 1/3ns ≈ 0.33 条/ns
⚠️ 千万别直接套 (k+n−1)×Δt——那个公式只在各段相等时成立。各段不等时用"总和 + (n−1)×最慢"。

一眼识别:两种题用哪个公式

题干长什么样用什么总时间
"每段耗时均为 Δt"/只给一个时间各段相等(k+n−1) × Δt
"各段耗时分别为 2ns、1ns、3ns…"/给了好几个数各段不等(Δt₁+…+Δtₖ) + (n−1)×max{Δt}
🔑 识别口诀:数题干里有几个时间值。只有一个 → 相等公式;给了一串 → 不等公式。
反过来说:各段不等时根本不存在统一的 Δt,所以 (k+n−1)×Δt 这个式子连"代什么值"都答不上来——本身就说明不能用。
🔑 为什么第二条单项是"最慢段"?——把最慢段当节拍器。
流水线是"接力赛":每段干完才把活交给下一段。最慢那段(比如 3ns 的执行段)每次都让别人等它, 所以整条线的出厂节拍 = 最慢段 = max{Δt}。快的段干完只能干等 → 快的段被浪费了。
这也解释了为什么 TPmax = 1/max{Δt}(不是 1/平均Δt)。

例题二(换一组数,含吞吐率/加速比):

某流水线 3 段,各段耗时 3ns、1ns、2ns,连续执行 50 条指令: ① 总时间 = (3+1+2) + (50−1)×max{3,1,2} = 6 + 49×3 = 6 + 147 = 153ns (头 6ns 是第一条指令自己走完全程;之后每 3ns——被最慢的执行段卡着——才出一条) ② 串行时间 = n × ΣΔ = 50 × 6 = 300ns (不用流水线时,每条都要走 3+1+2=6ns) 加速比 S = 300/153 ≈ 1.96 倍 ③ 吞吐率 TP = 50 / 153ns ≈ 0.327 条/ns 最大吞吐率 TPmax = 1/max{Δt} = 1/3ns ≈ 0.333 条/ns 验算:TP/TPmax = 0.327/0.333 ≈ 0.98(n=50 时已很贴近上限)
练一道(各段不等 · 单选风格):某指令流水线由 4 段组成,各段所需时间分别为 2ns、1ns、3ns、1ns。连续执行 100 条指令所需的执行时间是( )。
A. 304ns  B. 309ns  C. 700ns  D. 800ns
点击看答案
选 A。各段不等 → 用"总和 + (n−1)×最慢":
max{2,1,3,1} = 3ns;ΣΔ = 2+1+3+1 = 7ns
总时间 = 7 + 99×3 = 7 + 297 = 304ns
干扰项拆解:
· B=309ns → 错用 (k+n−1)×3 = 103×3(把最慢段当成"统一 Δt"套旧公式)
· C=700ns → 忘了流水线,当成串行:100×7
· D=800ns → 用 4×100×2(乱取一段)

⑥ 进阶概念:超流水 / 超标量(RISC)

技术做法本质
超流水线把流水段分得更细、级数更多、主频更高时间换空间(CPI≈1)
超标量一个机器里装多条流水线,同时跑多条指令空间换时间(CPI更小)
🔑 记:超流水 = 把段切更细(时间换空间);超标量 = 多装几条流水线(空间换时间)。

⑥′ 影响流水线的三类"相关"(概念选择题)

流水线里多条指令同时跑,会互相"打架"。打不下去就叫相关,分三类:

相关什么冲突例子对策
结构相关多条指令抢同一个部件两条指令同时要访存部件复制 / 分时
数据相关后一条要等前一条的结果ADD R1,R2,R3 后面紧跟 MOV R4,R1旁路(转发) / 插入等待
控制相关转移指令改 PC,预取的指令作废JMP / 条件分支猜测法 / 延迟转移
🔑 记法:结构抢部件、数据等结果、控制是跳转。中断也会断流,但概率比转移低。

⑦ 两个易错点

⚠️ 别把两个公式搞混:
· 流水线:(k + n − 1) × Δt
· 串行(非流水):k × n × Δt
口诀:流水线多算了"重叠",所以项数从 kn 变成 k+n−1。
⚠️ 各段耗时不等怎么办?用 (Δt₁+…+Δtₖ) + (n−1)×max{Δt}(见 ⑤″ 的例题),吞吐率取最慢段倒数。
⚠️ 第三个坑:把"建立时间"和"效率 E"搞串(实测最容易翻车的一处)。
· 建立时间 = k × Δt → 单位 ns,是"时间"
· 效率 E = n/(k+n−1) → 无量纲,是"比值/百分比"
两者长得都像"k 和 n 的组合",但一个带时间、一个是纯数。
🔑 自检口诀:写完答案先看单位。问时间 → 必须带 ns;问比值 → 必须是个小数或百分比。
示例(k=5, n=50, Δt=3ns):建立时间 = 5×3 = 15ns;E = 50/54 = 0.9259。而 nΔt/总时间 = 150/162 = 0.9259 是 E,不是建立时间。
🔑 最后收个总:Δt 和 E 是两个独立维度,别混着拧。
· 想绝对速度变快 → 减小 Δt(提主频 / 把段切细)→ TP 涨,但 E、S 都不变
· 想利用率变高 → 加大 n(多喂指令)→ E 涨,但 Δt、TPmax 都不变
· 验证:Δt 减半(3→1.5ns)后,总时间 162→81ns、TP 翻倍,而 E 仍是 92.59%、S 仍是 4.63。

⑧ 练四道

题1:某流水线分 5 段,每段 2ns,连续执行 100 条指令,总时间是多少?其中建立时间是多少?
点击看答案
总时间 = (k+n−1)×Δt = (5+100−1)×2 = 104×2 = 208ns
建立时间 = k×Δt = 5×2 = 10ns
题2:同上流水线,理想吞吐率 TPmax 和加速比 S 分别是多少?
点击看答案
TPmax = 1/Δt = 1/2ns = 0.5 条/ns(即每 2ns 流出一条指令)
加速比 S = kn/(k+n−1) = 5×100/(5+100−1) = 500/104 ≈ 4.8 倍(n 大时接近 k=5)
题3(各段不等):4 段流水线,各段耗时 2ns、1ns、3ns、1ns,执行 100 条指令,总时间?
点击看答案
不能套 (k+n−1)×Δt!
总时间 = (2+1+3+1) + (100−1)×3 = 7 + 297 = 304ns
题4(效率):k=4、n=5 的流水线,效率 E 是多少?
点击看答案
E = n/(k+n−1) = 5/(4+5−1) = 5/8 = 0.625(62.5%)
(时空图 32 格中有活 20 格,和 ⑤′ 的图对得上)

⑨ 真题风格 · 单选(考场就是这种,限时 90 秒/题)

软考上午卷全是单选,所以流水线这块的真正练法是:看穿题干 → 套对公式 → 在选项里选。下面 3 题按考场样式出。

【真题风格·1】某指令流水线由 5 段组成,每段执行时间为 2ns。连续执行 100 条指令时,该流水线的吞吐率为( )。
A. 0.5 条/ns  B. 0.48 条/ns  C. 0.96 条/ns  D. 0.1 条/ns
点击看答案
选 B。① 总时间 = (k+n−1)×Δt = (5+100−1)×2 = 208ns;② TP = n/总时间 = 100/208 ≈ 0.48 条/ns
干扰项拆解(每个都有含义):
· A = 0.5 = 1/Δt → 那是 TPmax(上限),题干问的是"实际吞吐率"。这是本考点第一号坑。
· C = 0.96 = n/(k+n−1) = 100/104 → 忘了除以 Δt(把比例当成了吞吐率)
· D = 0.1 = 1/(k×Δt) → 乱凑
【真题风格·2】某流水线的取指、译码、执行、访存、写回 5 段耗时分别为 2ns、2ns、4ns、2ns、2ns。连续执行 50 条指令,其实际吞吐率约为( )。
A. 0.24 条/ns  B. 0.25 条/ns  C. 0.83 条/ns  D. 0.08 条/ns
点击看答案
选 A。各段不等 → 总时间 = ΣΔ + (n−1)×max{Δt} = (2+2+4+2+2) + 49×4 = 12 + 196 = 208ns
TP = 50 / 208 ≈ 0.24 条/ns
干扰项拆解:
· B = 0.25 = 1/max{Δt} = 1/4 → 又是 TPmax 上限,不是实际值
· C = 0.83 = n/ΣΔ = 50/60 → 忘了流水线(等于假设"每条独占 12ns")
· D = 0.08 = 1/ΣΔ → 乱凑
⚠️ 这题同时踩两个坑:各段不等 + 上限 vs 实际。
【真题风格·3】某流水线共 8 段,每段 2ns。连续执行 200 条指令时,流水线的加速比约为( )。
A. 7.7  B. 4.8  C. 6.5  D. 8.0
点击看答案
选 A。S = kn/(k+n−1) = 8×200/(8+200−1) = 1600/207 ≈ 7.7 倍
干扰项拆解:
· D = 8.0 = Smax = k → 加速比的天花板,n→∞ 才够得着;n=200 还没到(7.7 < 8)
· B = 4.8 = 5×100/104 → 上一题的数字照抄(考场上看到眼熟的数字要警惕)
· C = 6.5 → 乱凑
🔑 顺带一个发现:Δt = 2ns 在这题里是白给的 —— 因为 S 的公式里 Δt 被约掉了(S 跟 Δt 无关)。
看到"加速比"就别管每段多快,只要 k 和 n。
⚠️ 考场铁律:选项一定会包含正确答案。若你算出的数在选项里没有,回头检查——多半是 k 数错、n 数错,或者把"实际值/上限值"搞反了。别硬选一个最像的。