Skip to content

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

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

题目

下列选项中,属于指令集体系结构(ISA)规定的内容是( )。

Ⅰ. 指令字格式和指令类型

Ⅱ. CPU 的时钟周期

Ⅲ. 通用寄存器个数和位数

Ⅳ. 加法器的进位方式

错因

A

把"CPU 时钟周期"当成 ISA 内容。时钟周期是实现细节——同一 ISA 在不同型号 CPU 上时钟周期可以差几十倍(例如 x86-64 ISA 可以在 1 GHz 嵌入式 CPU 也可以在 5 GHz 桌面 CPU 上跑)。ISA 是契约,决定"软件能看到什么";时钟周期由芯片设计决定,软件根本无感。

C

II、IV 都不是 ISA 内容(都是实现细节),而是微体系结构(microarchitecture)层面的事——具体怎么用门电路把指令实现出来。把这两个当成 ISA 内容反而漏了真正的 ISA 必备项 I 和 III。

D

I、III 选对了,但把 IV"加法器进位方式"也当成 ISA 内容。加法器是用串行进位(CRA)、超前进位(CLA)还是 4 位前瞻分组——对汇编程序员完全透明,只要 add 指令算出来正确结果即可。属于实现层面,不属于 ISA。

总解析

核心区分:ISA(指令集体系结构)vs 微体系结构(microarchitecture)

层次内容谁能感知到例子
ISA软件接口契约汇编程序员、编译器指令格式、指令类型、寻址方式、寄存器组、数据类型、异常机制
微体系结构具体硬件实现不可见流水线深度、时钟频率、Cache 结构、ALU 内部电路、转发 / 分支预测策略

逐项判定

编号内容ISA?理由
指令字格式和指令类型软件直接面对,必须由 ISA 定义(OP 字段在哪、地址码几位、有哪些指令)
CPU 时钟周期同 ISA 不同实现差几十倍;属硬件参数
通用寄存器个数和位数汇编代码里直接 add x1, x2, x3——寄存器名和位宽都来自 ISA
加法器进位方式串行 / 超前 / 跳跃进位都是实现,软件感知不到

只有 Ⅰ、Ⅲ 属于 ISA。

最终答案是 B(仅Ⅰ、Ⅲ)

判定口诀

  • 看到"软件 / 程序员能直接用 / 直接看到的"→ ISA
  • 看到"电路 / 频率 / 内部时序 / 流水线 / 实现策略"→ 微体系结构

ISA 经典内容清单(背一遍)

  1. 指令格式(操作码、地址码、寻址方式编码)
  2. 指令类型(运算 / 访存 / 转移 / 系统)
  3. 数据类型(int8/16/32/64、float、地址)
  4. 寄存器(个数、位宽、命名)
  5. 存储器组织(寻址空间、字节序)
  6. I/O 模型(端口 / 内存映射 I/O)
  7. 异常 / 中断模型(异常类型、入口约定)

易错点

  1. 时钟周期、流水线、Cache 容量都属于实现层,不是 ISA
  2. ALU 的进位方式是组合逻辑细节,与 ISA 无关
  3. ISA 的判定标准统一是"软件层是否可见 / 是否依赖"

最后更新:

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