计算机硬件工程师 · 高频练习

5级流水线执行100条指令,理想总时间为什么是208ns?

中级 单选题 第 964 题 困难 计算机硬件工程师指令流水线执行时间吞吐率体系结构
题目

某处理器采用 5 级理想指令流水线,每一级耗时均为 2ns。忽略相关、停顿和分支影响,执行 100 条指令所需的总时间是()。

A 200ns
B 208ns
C 1000ns
D 1040ns
题目类型:原创高频练习题 用途:用于帮助理解计算机硬件工程师相关考点和答案解析,不等同于官方真题。
正确答案
B
答案解析

k 级流水线执行 n 个任务的理想时间为 (k+n-1)×Δt。代入 k=5、n=100、Δt=2ns,得到 (5+100-1)×2=208ns。前 5 个节拍装满并输出第一条,之后每个节拍再完成一条。

选项分析

A

错误。100×2只计算了100个输出间隔,没有计入流水线最初装入的4个额外节拍。

B

正确。(5+100-1)×2=208ns。

C

这是完全不采用流水线时,100×5×2=1000ns的顺序执行时间。

D

把顺序执行时间与额外装入时间混加,重复计算了每条指令的级数。

本题为什么容易错

流水线提升的是持续吞吐率,不会把单条指令的端到端延迟从 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。