Skip to content

2025年 408 计算机组成原理 第 16 题

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

题目

下列选项中,由指令体系结构(ISA)规定的是( )。

错因

A

把"乘法指令"的存在和"乘法器的实现方式"混了——觉得既然 ISA 规定有 MUL 指令,那也连带规定乘法器怎么搭。实际上 ISA 只规定"有没有乘法指令、它的语法/语义/编码";乘法器是阵列还是 ALU 循环 + 移位,是微架构自由发挥的实现细节,不同代 CPU 用同一个 ISA 但乘法器实现完全不同(如 Intel 多代 x86)。

C

控制器实现方式属于微架构层面。同一套 ISA 既可以用微程序控制器实现(早期 x86),也可以用硬连线控制器实现(RISC、现代 x86 内核)——程序员看到的指令行为完全一样,区别只在 CPU 内部如何把每条指令翻译成控制信号。所以 C 不是 ISA 规定的内容。

D

数据通路是单总线、双总线还是三总线,也是微架构问题——它影响 CPI 和时钟周期划分,但不影响"程序员能写哪些指令、指令长什么样"。同一个 ISA 在课本里常用单总线讲解,在实际处理器里用多总线/流水线实现,互不矛盾。选 D 的人把"硬件资源结构"误当作了 ISA 范畴。

总解析

思路:核心区分是 ISA(程序员可见的"接口约定")和 微架构(实现 ISA 的硬件方式)。

ISA 规定的内容(程序员可见)

类别例子
指令格式定长 / 变长指令字、操作码长度、字段划分
指令集合算术、逻辑、Load/Store、控制转移…
寻址方式直接、寄存器、立即数、变址、相对
寄存器组织通用寄存器数量、专用寄存器(PC, PSW…)
数据类型整数位宽、浮点格式、字节序
异常 / 中断模型异常向量、中断响应方式
内存模型字节编址 / 字编址、对齐、虚拟地址位数

微架构决定的内容(程序员不可见)

类别例子
控制器实现微程序 vs. 硬连线
数据通路单总线 / 多总线、流水线段数
运算部件阵列乘法器 / ALU 循环、加法器结构
存储层次Cache 大小/组织、TLB、预取策略
流水线优化转发、分支预测、乱序、寄存器重命名

逐项核验

选项内容归属结论
A阵列乘法器运算部件实现 → 微架构不属于 ISA
B定长指令字格式指令编码格式 → ISA由 ISA 规定
C微程序控制器控制器实现 → 微架构不属于 ISA
D单总线数据通路数据通路结构 → 微架构不属于 ISA

只有 B 是程序员能从指令二进制里直接看出来的——拿到任何一条指令机器码,长度是 4 字节还是变长,是 ISA 文档明文规定的。换微架构(同一 ISA 不同实现)这个事实不变。

最终答案是 B

ISA vs. 微架构 一句话区分

ISA = 程序员看得见的硬件——指令长什么样、有哪些寄存器、怎么寻址; 微架构 = 程序员看不见的硬件——同一 ISA 用什么电路、什么流水线、什么 Cache 实现。

凡是带"是否采用 X 部件 / 结构 / 控制方式"措辞的,多半是微架构问题;凡是讨论"指令长什么样、有什么类型、怎么寻址、寄存器怎么组织"的,是 ISA。

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题