Skip to content

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

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

题目

下列不是由指令集体系结构规定的是( )。

错因

A

误以为 I/O 指令属于"硬件实现细节"。实际上 I/O 指令是 ISA 指令集的一部分(IN / OUT 这类),程序员能写出来的指令都由 ISA 规定——指令格式、操作码、操作数寻址都明确定义。脱离 ISA 谈 I/O 指令,编译器就不知道该生成什么机器码。

B

把"中断响应方式"(向量中断 vs 询问中断)当成了硬件电路的私事。其实是否使用向量中断、中断向量的格式、中断号编码、中断服务程序入口表的位置——这些都是软件能看见的接口,必须由 ISA 明确规定,否则操作系统写出来的中断处理代码不能跨硬件运行。

C

被"管理"两个字误导,以为这是软件(OS)的事。要分清机制策略:虚存的管理机制(页表结构、页表项格式、TLB、是否有 MMU、地址转换硬件流程)由 ISA 规定;管理策略(用 FIFO 还是 LRU 替换、页面预取算法)才是 OS 的事。题目说的"虚拟存储管理方式"指的是前者——架构层面的支持方式,由 ISA 规定。

总解析

核心区分——ISA(软硬件接口)与微架构(硬件实现)的边界:

由 ISA 规定由微架构(实现)决定
所有可执行指令(包括 I/O、中断、特权指令)流水线段数、是否超级流水
寄存器命名与数量是否乱序执行、分支预测策略
中断 / 异常处理框架(向量中断 / 中断号)Cache 的具体组织(路数、容量)
内存模型与地址翻译机制(虚存机制)物理 Cache、TLB 的具体实现
数据格式、字节序主频、电压、工艺
寻址方式总线宽度、I/O 控制器实现

判定法则

软件(编译器、OS、汇编)能"看见"并依赖的接口 → ISA 规定; 同一个 ISA 上多种实现可以互相替换、对软件透明的 → 微架构决定。

逐项判断

选项软件可见 / ISA?理由
A. 输入输出指令I/O 指令在程序中能写、编译器要生成机器码
B. 采用向量中断OS 必须知道中断如何分发,向量表结构要稳定
C. 虚拟存储管理方式OS 写页表、设置 MMU 都依赖 ISA 定义的页表格式
D. 是否使用超级流水线超级流水是微架构层面的实现优化,软件无感知

为什么 D 是答案

超级流水线把 5 段流水拆成更细(如 10–20 段)以提高主频,但对软件来说,看到的还是同一套指令、同一套寄存器、同一种执行顺序——同一个 ISA 既可以用 5 段简单流水实现,也可以用 20 段超级流水实现,软件完全不需要改动。这正是微架构层面的"自由",与 ISA 无关。

最终答案是 D

记忆抓手

"ISA = 程序员手册里写的东西"——你查不到"我这颗 CPU 用几段流水",但能查到"有哪些指令、寄存器、中断、内存布局"。前者是微架构,后者是 ISA。

最后更新:

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