Skip to content

2017年 408 计算机组成原理 第 19 题

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

题目

下列关于指令流水线数据通路的叙述中,错误的是( )。

错因

B

误以为 ALU 不属于数据通路。但 ALU 是数据通路的核心组件之一——所有的算术逻辑运算(ADD、SUB、AND、OR、SLT 等)都在 ALU 里完成,没有 ALU 数据通路就没法做"执行"段。把 ALU 排除是对数据通路构成的根本误解。

C

以为通用寄存器组或取指部件应当独立于数据通路。实际上:

  • 通用寄存器组:流水线 ID 段读取操作数、WB 段写回结果都需要它,是数据通路的一员
  • 取指部件:负责 IF 段(PC + 指令存储器 + IR),数据"指令字"从存储器流入 IR 也是流经数据通路的

两者都属于数据通路。

D

误以为数据通路只是组合逻辑("算")或只是时序逻辑("存")。实际上数据通路是两者的混合

  • 组合逻辑(操作元件):ALU、MUX、译码器、加法器等——无状态、立即响应
  • 时序逻辑(状态元件):PC、IR、寄存器组、流水线段间锁存器(IF/ID、ID/EX 等)——保存状态、按时钟更新

D 是对的,把它当错就是没掌握"操作元件 + 状态元件 = 数据通路"这个标准定义(参见 2023 年第 18 题)。

总解析

核心区分:CPU 由两大部分组成——

大类包含的部件作用
数据通路(Datapath)ALU、寄存器组、MUX、PC、IR、段间锁存器、取指部件、ALU、内存接口数据流动和加工的硬件路径
控制部件(Control Unit)译码器、控制逻辑、微程序控制器或硬连线控制器根据当前指令产生控制信号,告诉数据通路"现在该做什么"

两者是并列关系,不是包含关系——控制部件不属于数据通路。

逐项判断

选项叙述判断理由
A包含生成控制信号的控制部件✗ 错控制部件与数据通路是并列两部分,互相独立
B包含 ALU✓ 对ALU 是数据通路的核心
C包含通用寄存器组和取指部件✓ 对都是数据通路的组成
D由组合逻辑和时序逻辑电路组合而成✓ 对操作元件(组合)+ 状态元件(时序)就是数据通路构成

最终答案是 A(错误的叙述)。

示意结构

            ┌──────────────────────────┐
            │    控制部件 Control Unit  │  ← 看着 IR 的内容生成控制信号
            └──────────┬───────────────┘
                       │ 控制信号(写使能、ALU 操作码、MUX 选通等)

   ┌─────────────────────────────────────────────────┐
   │              数据通路 Datapath                    │
   │                                                 │
   │  PC → 取指部件 → IR → 寄存器组 → ALU → MEM → 寄存器组 │
   │                       ▲                  │      │
   │                       └──────────────────┘      │
   └─────────────────────────────────────────────────┘
        ↑                                       ↑
        组合逻辑(ALU、MUX)+ 时序逻辑(PC、IR、寄存器、段间锁存器)

控制信号从控制部件输入到数据通路,控制各操作元件的行为——但控制部件不是数据通路本身的组件。

易错点速查

  1. 数据通路 ≠ CPU 的全部,CPU = 数据通路 + 控制部件
  2. ALU、寄存器组、PC、IR、取指部件全在数据通路里
  3. 控制信号"穿过"数据通路,但生成控制信号的电路在外面

最后更新:

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

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