Skip to content

2020年 408 计算机组成原理 第 17 题

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

题目

下列给出的处理器类型中理想情况下 CPI 为 1 的是( )。

I、单周期 CPU; II、多周期 CPU; III、基本流水线 CPU; IV、超标量流水线 CPU

错因

A

把多周期 CPU 当成 CPI = 1。但多周期的定义就是"一条指令分多个周期完成"——CPI > 1 是多周期的本质特征,不可能 = 1。如果一条指令真的 1 周期搞定,那就是单周期不是多周期。

C

完全反了:把多周期当 CPI=1(错),把超标量也当 CPI=1(错)。超标量理想情况下每个周期能发射 > 1 条指令(如 4-way 超标量 = 4 条/周期),等价 CPI < 1(如 0.25),不是 = 1。

D

把超标量当成 CPI = 1。同 C 的错——超标量 CPI < 1。理想情况比基本流水线还快。

总解析

CPI 定义:每条指令平均所需的时钟周期数。

逐项判断

类型一条指令所需周期一周期能完成几条CPI判断
Ⅰ 单周期111
Ⅱ 多周期多个(如 5 个,每段 1 周期)0~1 / 5>1(典型 3~5)
Ⅲ 基本流水线多个周期完成(如 5 段 5 周期),但吞吐为每周期 1 条1(理想)1
Ⅳ 超标量流水线多周期完成,吞吐 > 1 条/周期>1(如 2~4)<1

逐个理解

Ⅰ 单周期 CPU:每条指令在 1 个时钟周期内完成全部阶段(取指 → 译码 → 执行 → 访存 → 写回)。CPI = 1(定义)。代价是周期非常长。

Ⅱ 多周期 CPU:把指令拆成多个段,每段一个周期。一条指令要 3~5 个周期才完成,CPI > 1(同时周期较短作为补偿)。

Ⅲ 基本流水线 CPU:单条指令仍要 5 个周期完成,但指令重叠——理想情况每个周期都能完成一条指令的"写回段"(同时新指令的 IF 段开始)。吞吐 = 1 条 / 周期 → CPI = 1

Ⅳ 超标量流水线 CPU:每个周期可同时发射多条指令(如 2-way 超标量每周期可启动 2 条)。吞吐 > 1 条 / 周期 → CPI < 1

最终答案是 B(Ⅰ、Ⅲ)

速记示意图

单周期:     |─── I1 ───|─── I2 ───|─── I3 ───|     CPI = 1
            (1周期/指令)

多周期:     |I1段1|I1段2|I1段3|I1段4|I1段5| ...    CPI = 5
            (5周期/指令)

流水线(理想):|I1段1|I1段2|I1段3|I1段4|I1段5|...    每个周期一条指令完成
                 |I2段1|I2段2|I2段3|I2段4|I2段5|    → CPI = 1
                       |I3段1|I3段2|I3段3|I3段4|

超标量2-way: 每周期 2 条指令并行发射               CPI = 0.5

易错点速查

  1. CPI = 1 的两个场景:单周期(定义)+ 理想流水线(吞吐意义上)
  2. 多周期 CPI = 段数(远大于 1)
  3. 超标量 CPI < 1(每周期 > 1 条),不是 = 1
  4. "CPI = 1" 在流水线场景指的是吞吐率,不是单条指令的延迟

最后更新:

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

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