某处理器采用 5 级理想指令流水线,每一级耗时均为 2ns。忽略相关、停顿和分支影响,执行 100 条指令所需的总时间是()。
k 级流水线执行 n 个任务的理想时间为 (k+n-1)×Δt。代入 k=5、n=100、Δt=2ns,得到 (5+100-1)×2=208ns。前 5 个节拍装满并输出第一条,之后每个节拍再完成一条。
选项分析
错误。100×2只计算了100个输出间隔,没有计入流水线最初装入的4个额外节拍。
正确。(5+100-1)×2=208ns。
这是完全不采用流水线时,100×5×2=1000ns的顺序执行时间。
把顺序执行时间与额外装入时间混加,重复计算了每条指令的级数。
本题为什么容易错
流水线提升的是持续吞吐率,不会把单条指令的端到端延迟从 10ns 变成 2ns。第一条结果仍要等待 5 个阶段,只有流水线装满后才接近每 2ns 完成一条。
简短答案
5级流水线执行100条指令,理想总时间为什么是208ns,正确答案是 B(208ns)。k 级流水线执行 n 个任务的理想时间为 (k+n-1)×Δt。代入 k=5、n=100、Δt=2ns,得到 (5+100-1)×2=208ns。前 5 个节拍装满并输出第一条,之后每个节拍再完成一条。
易混淆概念对比表
| 概念 | 本题判断 | 区别要点 | 记忆提示 |
|---|---|---|---|
| 200ns | 本题干扰项 | 错误。100×2只计算了100个输出间隔,没有计入流水线最初装入的4个额外节拍。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 208ns | 本题正确答案 | 正确。(5+100-1)×2=208ns。 | 看到题干核心场景时优先联想到它 |
| 1000ns | 本题干扰项 | 这是完全不采用流水线时,100×5×2=1000ns的顺序执行时间。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 1040ns | 本题干扰项 | 把顺序执行时间与额外装入时间混加,重复计算了每条指令的级数。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
本题易混淆选项怎么区分
- 200ns:错误。100×2只计算了100个输出间隔,没有计入流水线最初装入的4个额外节拍。
- 1000ns:这是完全不采用流水线时,100×5×2=1000ns的顺序执行时间。
- 1040ns:把顺序执行时间与额外装入时间混加,重复计算了每条指令的级数。
知识点详解
理想 k 级流水线的周期为各级相同处理时间 Δt。第一项任务在第 k 个周期结束时完成,之后每周期完成一项,因此 n 项任务共需 k+n-1 个周期。任务数量越多,平均每项时间越接近一个周期,但单项延迟仍约为 k 个周期。
备考速记
第一条走完k级,后面每拍一条;总拍数k+n-1。
体系结构在体系结构场景中的作用
体系结构在本题中的核心价值,是解决“某处理器采用 5 级理想指令流水线,每一级耗时均为 2ns。忽略相关、停顿和分支影响,执行 100 条指令所需的总时间是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。
同类题怎么考
- 理想流水线总执行时间
- 计算吞吐率和加速比
- 加入流水线寄存器开销或停顿周期后的时间
体系结构在计算机硬件工程师软考中的考法
软考选择题通常不会只考概念定义,还会把体系结构放到体系结构场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。
解题思路
可以不用死背公式。第一条指令走完 5 级要 5×2=10ns;流水线装满后,剩下 99 条每隔 2ns 完成一条,再用 99×2=198ns。两段相加正好 208ns。
考点定位
不能直接用指令条数乘流水线周期而忽略装入过程。理想总时间包括第一条指令经过全部 k 级的时间,以及其余 n-1 条按每周期一条输出的时间。
易错提醒
- 直接用n×Δt,漏掉k-1个装入节拍
- 把每级时间相加后又乘(k+n-1),重复计算级数
- 用理论最大加速比k代替实际执行时间计算
备考提示
- 小规模题可画时空图复核:横轴是周期,纵轴是流水级。
- 若各级时间不同,时钟周期通常由最慢级加寄存器开销决定,不能再直接用平均时间。
你可能还想了解
- 流水线为什么要加k-1个周期?
- 流水线单条延迟和吞吐率有什么区别?
- 流水线加速比怎么计算?
- 各级时间不同时流水线周期怎么确定?
本文小结
5级流水线执行100条指令需要5+100-1=104个周期,每周期2ns,所以理想总执行时间为208ns。