Skip to content

2011年 408 计算机组成原理 第 18 题

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

题目

下列给出的指令系统特点中,有利于实现指令流水线的是( )。

Ⅰ. 指令格式规整且长度一致

Ⅱ. 指令和数据按边界对齐存放

Ⅲ. 只有 Load/Store 指令才能对操作数进行存储访问

错因

A

漏掉了 Ⅲ。"只有 Load/Store 才能访存"是 RISC 的核心约束之一,也是流水线最关键的简化——把"算"和"访存"彻底分离,EX 阶段不会再插入访存动作,每条非访存指令的执行时间高度可预测。漏掉它说明只关注了"取指/译码"阶段的好处,没看到"执行"阶段的简化。

B

漏掉了 Ⅰ。"指令格式规整、长度一致"是流水线的前提——只有这样取指阶段才能在固定周期数内完成、译码电路才能并行化。CISC 那种 1~15 字节变长指令会让 IF/ID 拖时拖周期,根本没法做整齐的五段流水。

C

漏掉了 Ⅱ。边界对齐影响访存效率——若一条 4 字节指令跨越了字边界,IF 阶段就要做两次访存(外加拼接)才能取齐,等于给本应固定一拍的 IF 阶段引入不确定的延迟。流水线假设"每个阶段一拍完成",对齐就是为了让这个假设成立。

总解析

流水线对指令系统的"友好度"要求——核心是让每个流水阶段的工作量可预测、固定

特征解决的流水线问题反例(CISC 代价)
Ⅰ. 指令格式规整、长度一致IF / ID 阶段在固定周期完成;译码逻辑可并行硬连线x86 变长指令(1~15 字节)需要顺序解码、长度难预测
Ⅱ. 指令和数据按边界对齐一次访存即可取齐一条指令 / 一个操作数跨边界访存需 2 次访存 + 拼接,IF/MEM 阶段时序不固定
Ⅲ. 只有 Load/Store 访存EX 阶段绝不访存,"算"和"取"严格分阶段一条 ADD 指令带内存操作数 = EX 中夹访存,破坏五段流水

逐项判断:三条都直接对应流水线的某个阶段需要"固定时长",全部成立

RISC 的设计哲学正是流水线友好——这道题的三条几乎是 RISC 设计准则的浓缩版:

RISC 五条核心准则:

  1. 简单的指令、固定长度(对应 Ⅰ)
  2. 数据 / 指令对齐访存(对应 Ⅱ)
  3. Load-Store 体系(对应 Ⅲ)
  4. 大量通用寄存器
  5. 硬连线控制器(无微程序)

判定口诀:流水线 = "每阶段定时定量"。任何让某阶段时长不确定的特征(变长指令、跨界访存、EX 中访存)都是流水线的敌人;反之则有利。

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

最后更新:

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

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