Skip to content

2026年 408 计算机组成原理 第 20 题

计算机组成原理2026年选择题2分

题目

在不考虑异常中断处理和访存的额外开销下,下列关于数据通路结构与 CPI 之间的关系正确的为( )。

Ⅰ. 单周期数据通路计算机的 CPI 等于 1

Ⅱ. 多周期数据通路计算机的 CPI 大于 1

Ⅲ. 流水线数据通路计算机的 CPI 等于 1

错因

A

排除了 Ⅲ,可能因为想到了"流水线起步要 5 个周期排空"——但题目明说不考虑额外开销,且 CPI 是稳态平均值,长程序里启动 / 排空的几个周期可以忽略。理想流水线稳态下每个周期完成一条指令,CPI = 1 是流水线的标志性指标。

B

排除了 Ⅱ,可能因为多周期里有些指令可能"恰好两步完成"就以为 CPI 可能 = 1。但多周期数据通路的定义就是"把一条指令拆成多个周期、每个周期只走一段"——最少也要 IF + ID + EX 三步以上,CPI 必然 > 1,不可能 = 1。

C

排除了 Ⅰ,最常见的误区是把"单周期里要做取指、译码、执行、访存、写回 5 件事"误以为"CPI = 5"。这弄混了时钟周期指令周期——单周期的特征恰恰是把这 5 件事在一个长时钟周期内全部做完,所以 1 条指令 = 1 个时钟周期 = CPI 1。代价是时钟周期被最慢的指令拉长。

总解析

核心区分——三种数据通路与 CPI 的关系(理想稳态):

数据通路1 条指令花几个时钟周期CPI时钟周期长度
单周期1由最慢指令决定(很长)
多周期多个(每段 1 周期)由最慢的"段"决定(短)
流水线(理想稳态)多个段,但每周期完成一条同多周期(短)

逐项验证

Ⅰ. 单周期 CPI = 1

定义:一条指令从取指到写回,全部在一个时钟周期内完成(电路足够长,让信号在一个 tick 里跑完所有部件)。

代价:时钟周期 = 最慢指令所需时间(如 LW 要 IF+ID+EX+MEM+WB 全跑),所有指令都按这个长周期算。

CPI 计算:

Ⅱ. 多周期 CPI > 1

定义:一条指令拆成多个段(如 IF / ID / EX / MEM / WB),每段占一个时钟周期,下一条指令必须等当前指令做完所有段后才能发射。

具体值:取决于指令类型——

指令段数(典型)CPI 贡献
ALU 类(不访存)IF + ID + EX + WB = 44
LW(访存读)IF + ID + EX + MEM + WB = 55
SW(访存写)IF + ID + EX + MEM = 44
分支类IF + ID + EX = 33

平均 CPI = 各类指令的加权平均,必然 ,不可能等于 1。

Ⅲ. 流水线 CPI = 1(理想稳态)

定义:把多周期的多个段重叠执行——指令 i 在 EX 段时,指令 i+1 已在 ID 段,指令 i+2 在 IF 段……每个时钟周期都有一条指令完成(从 WB 段流出)。

指令 \ 周期123456789I1IFIDEXMEMWBI2IFIDEXMEMWBI3IFIDEXMEMWBI4IFIDEXMEMWBI5IFIDEXMEMWB

5 条指令、9 个时钟周期完成;当 N 足够大时,CPI = 。题目"不考虑访存额外开销和异常中断"正是为了把这个理想稳态条件成立。

全部 Ⅰ、Ⅱ、Ⅲ 都正确

最终答案是 D(Ⅰ、Ⅱ、Ⅲ)

速记口诀

类型一句话特征CPI
单周期一条指令一个长周期
多周期一条指令多个短周期
流水线多条指令重叠跑短周期(理想)

注意"CPI = 1"不一定意味着性能好——单周期的时钟周期被拖得很慢,绝对速度反而最差;流水线的时钟周期短得多,相同 CPI 下性能最高。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数