第 1 章 名词库
这一页是复习主入口。 目标是把第 1 章的名词收全,并把每个词的边界和适用范围钉死。
每条最多四行:是(定义)/不是(划掉最常见的误解)/易混(成对的对手)/范围(该结论在什么条件下才成立)。
本章的名词有一半会在后面六章原样再出现(MAR、MDR、PC、IR、CPI、体系结构/组成……),它们在这里只给定义,机制在各自的章。
建设进度:✅ *1.1 计算机发展历程 ✅ 1.2 计算机系统层次结构 ✅ 1.3 计算机的性能指标 (全章完整)
*1.1.1 计算机硬件的发展
四代计算机
- 是:按主要逻辑器件划分——电子管 / 晶体管 / 中小规模集成电路 / 大规模、超大规模集成电路。
- 不是:不按操作系统或语言的发展划分,那些只是伴随特征。
- 范围:教材化分代,不是精确年代切割。
ENIAC
- 是:1946 年,世界上第一台电子数字计算机。
- 不是:不是存储程序计算机(用开关和插线设置程序);不是冯·诺依曼设计的,他是顾问。
- 范围:本章最容易被设成陷阱的一条。
存储程序
- 是:把程序像数据一样事先存入主存,机器按地址自动逐条执行。
- 提出者:冯·诺依曼(EDVAC 方案)。
- 易混:↔ ENIAC。存储程序在 ENIAC 之后。
摩尔定律
- 是:集成电路上可容纳的晶体管数目约每 18 个月翻一番。
- 不是:不是物理定律;对象不是主频、不是性能。
- 范围:晶体管翻倍不等于程序快一倍——多出的晶体管去做了 Cache、流水线、多核,提高的是吞吐率不是延迟。
*1.1.2 计算机软件的发展
机器语言
- 是:二进制代码,硬件可直接执行。
- 范围:三级语言中唯一不需要翻译的;它就是 ISA 的编码。
汇编语言
- 是:用助记符书写的语言,与机器语言基本一一对应。
- 不是:不可跨平台移植——与 ISA 绑定。
- 范围:汇编语法属于汇编器的约定,不属于 ISA(Intel 语法与 AT&T 语法机器码相同)。
高级语言
- 是:C、Java 等,需编译或解释。
- 范围:可移植性来自重新翻译,不是”到处直接跑”。
汇编程序(汇编器)
- 是:把汇编语言翻译成机器语言的工具。
- 不是:不是”用汇编语言写的程序”——这是中文术语的歧义,考题很爱用。
- 归类:系统软件。
编译程序
- 是:把高级语言一次性全部翻译成目标程序。
- 范围:生成目标程序,可反复执行不必再译。
- 归类:系统软件(常被误归应用软件)。
解释程序
- 是:翻译一句执行一句,不生成完整目标程序。
- 易混:↔ 编译程序。判据是”生不生成目标程序”。
- 范围:慢的原因是循环体被执行
次就被翻译 次。
软硬件逻辑等价
- 是:同一功能既可做成电路,也可写成程序。
- 不是:性能、成本、灵活性都不等价。
- 范围:全书第一条隐线「功能往硬件里搬」出现四次——2.2.1 运算电路、4.4 CISC、5.4.2 硬布线、7.3.3 DMA。
1.2.1 计算机系统的组成
主机
- 是:CPU + 主存储器。
- 不是:不含辅存(磁盘、SSD),不含任何外设。
- 判据:CPU 能不能直接按地址访问、直接取指执行。
- 范围:本章第一失分点。
CPU
- 是:运算器 + 控制器。
- 不是:不含主存。
外部设备
- 是:输入设备 + 输出设备 + 辅助存储器。
- 范围:辅存在第 1、7 章是外设,在第 3 章是存储器——同一东西的两个视角。
裸机
- 是:不装任何软件的计算机。
- 范围:说明”计算机系统 = 硬件 + 软件”里的等号不是凑数。
固件
- 是:固化在 ROM 中的程序(如 BIOS)。
- 不是:不是硬件,本质是软件;也不是不可修改(EEPROM / Flash 可刷)。
- 范围:功能上是软件,形态上接近硬件;微程序控制器的控制存储器也是固件形态。
1.2.2 计算机硬件
冯·诺依曼结构
- 是:五大部件 + 指令数据同存 + 二进制 + 指令由操作码和地址码组成 + 存储程序 + 以运算器为中心。
- 范围:最后一条已过时,现代计算机以存储器为中心——其直接产物就是 7.3.3 的 DMA。
存储元 / 存储单元 / 存储体
- 是:存 1 位 / 有一个地址 / 全部单元的集合。
- 范围:三层包含关系,不能混用。
MAR(地址寄存器)
- 是:存放本次访问的主存地址。
- 位数:
地址线根数。 - 范围:逻辑属主存,物理在 CPU 内;考的是位数不是位置。
MDR(数据寄存器)
- 是:存放本次读出或写入的数据。
- 位数:
存储字长 数据线根数。
主存容量
- 公式:
。
ACC / MQ / X
- 是:累加器 / 乘商寄存器 / 操作数寄存器。
- 范围:乘法时 ACC 存积高位、MQ 存乘数→积低位;除法时 ACC 存被除数→余数、MQ 存商。
PSW(程序状态字寄存器)
- 是:存放 OF、SF、ZF、CF 等标志位。
- 范围:跨章出现三次——2.2.3 判溢出、4.3.2 条件转移、5.5.3 中断隐指令保存它。
PC(程序计数器)
- 是:存放下一条指令的地址,具有自动加 1 功能。
- 位数:与 MAR 相同(由存储单元个数决定)。
- 范围:取指开始时是本条地址,取指后 +1 变成下一条——两种说法都对,看时刻。“自动加 1”是机器能自动运行的全部来源。
IR(指令寄存器)
- 是:存放当前正在执行的指令。
- 位数:指令字长(不是存储字长)。
- 不是:不存指令地址。
以存储器为中心
- 是:I/O 数据可直接与主存交换,不必经运算器中转。
- 范围:其实现就是 DMA(7.3.3)。
1.2.3 计算机软件
源程序 / 目标程序
- 是:用汇编或高级语言写的 / 翻译成机器语言后的。
- 不是:“源程序一定是高级语言写的”是错的。
系统软件
- 是:管理和维护计算机本身的软件——OS、编译/汇编/解释程序、DBMS、网络软件、诊断程序。
- 易混:用 DBMS 开发出来的图书管理系统是应用软件。
- 判据:服务机器还是服务业务。
1.2.4 计算机系统的层次结构
多级层次结构 M0~M4
- 是:微程序机器 / 传统机器 / 操作系统机器 / 汇编语言机器 / 高级语言机器。
- 范围:M0、M1 是实际机器(硬件或固件实现);M2~M4 是虚拟机器(软件实现)。
虚拟机器
- 是:由软件实现的层,其语言必须先被翻译。
- 不是:与 VMware / KVM 那种虚拟机无关。
微程序机器级 M0
- 是:用微指令编程的一级。
- 不是:不是所有计算机都有——硬布线控制器没有可辨认的微程序层。
计算机体系结构
- 是:机器语言程序员可见的系统属性——指令系统、数据类型、寻址方式、可见寄存器、I/O 机制、中断机构、机器字长。
- 判据:看得见 = 体系结构。
计算机组成
- 是:体系结构的实现方式,对程序员透明——数据通路宽度、控制信号、流水线级数、Cache 组织、乘法电路、硬布线还是微程序。
- 范围:同一 ISA 可有多种组成,性能可以差很多。
透明
- 是:某某看不见它、不需要知道它。
- 不是:不是”清晰可见”——这是本章最反直觉的一个词。
- 范围:必须说明”对谁”。Cache 对应用程序员透明;PC 对汇编程序员不透明;虚拟存储器对应用程序员透明、对系统程序员不透明。
ISA / ABI / API
- 是:软件与硬件的契约 / 二进制与库和 OS 的契约 / 源代码与库的契约。
- 范围:同一 CPU 上 Windows 与 Linux ISA 相同、ABI 不同——所以
.exe跑不了,不是指令不认识,是调用约定对不上。
1.2.5 计算机系统的工作原理
从源程序到可执行文件
- 是:预处理 → 编译 → 汇编 → 链接 → 装入。
- 范围:链接归工具链,装入归操作系统——这是 CO 与 OS 的分界;ISA 在编译这一步第一次进场,汇编这一步只是查编码表。
链接
- 是:符号解析 + 重定位。
- 不是:不由操作系统完成。
- 范围:链接器基本不看指令语义。
取指令
- 是:
; ; ; 。 - 范围:对所有指令都相同——这正是流水线能成立的前提。
PC+1 中的”1”
- 是:一条指令的长度,不一定是 1 个字节。
- 范围:按字节编址、指令 4 字节时实际是 PC+4。
指令的三阶段
- 是:取指 → 分析(译码)→ 执行。
- 范围:译码看的是操作码,地址码在取操作数时才用。
1.3.1 计算机的主要性能指标
机器字长
- 是:CPU 一次能处理的二进制位数,通常等于通用寄存器位数。
- 易混:↔ 存储字长(MDR 位数)↔ 指令字长(IR 位数)。三者互相独立。
- 归类:体系结构(程序员可见)。
数据通路带宽
- 是:数据总线一次能并行传送的位数。
- 范围:可以小于机器字长。
主频 / 时钟周期
- 是:每秒时钟周期数 / 一个节拍的长度,
。 - 范围:主频高不等于性能好——它只是
三个因子之一。
CPI
- 是:执行一条指令平均所需的时钟周期数。
- 范围:多类指令必须按动态条数加权,不能算术平均。
IPC
- 是:每个时钟周期完成的指令数,
。 - 范围:超标量下可以大于 1。
IC(指令条数)
- 是:程序运行时实际执行的机器指令条数。
- 不是:不是程序里写了几条——循环体执行一万遍就算一万条。
CPU 执行时间
- 公式:
。 - 范围:三个因子由不同的东西决定,且优化往往此消彼长——这是全书的核心张力。
MIPS
- 是:每秒执行多少百万条指令,
。 - 不是:不能比较不同 ISA 的机器;MIPS 高不等于程序快。
FLOPS
- 是:每秒浮点运算次数。
- 范围:M/G/T/P/E 按十进制(
)解释,而容量单位按二进制( )——这条不对齐是计算题失分点。
吞吐量 / 响应时间
- 是:单位时间完成的任务数 / 一个任务从提交到完成的时间。
- 范围:提高并行度通常只提高吞吐量,不缩短单次延迟。
基准程序(Benchmark)
- 是:用一组有代表性的真实程序测性能。
- 范围:只对测试覆盖的负载负责;归一化性能比用几何平均。
阿姆达尔定律
- 公式:
,上限 。 - 范围:
是在原执行时间中的占比;多核情形取 。
1.3.2 几个专业术语
系列机
- 是:体系结构相同、组成和实现不同的一系列计算机(如 x86 系列)。
- 范围:它存在的意义是保护软件投资;正是 1.2.4 那条判据的直接后果。
兼容
- 是:不同型号之间硬件、软件的通用性。
- 范围:只有”新机器能跑旧程序”是必须做到的;旧机器跑新程序会触发非法指令异常。
- 注意:“向上/向下/向前/向后”四个词在中文资料里用法冲突,考场上读题干的定义,不要背词。
软件可移植性
- 是:同一软件不加修改或稍加修改就能在不同硬件上运行。
- 范围:三个层次——系列机(机器码通用)/重新编译(源码通用)/虚拟机(中间码通用)。高级语言的可移植性是第二种。
高频范围限定清单
每一条都是”说法 → 它在什么条件下才成立 / 为什么错”。考前扫这一张表。
| 常见说法 | 范围限定 |
|---|---|
| ”主机 = CPU + 主存 + 硬盘” | 错。硬盘是外设 |
| ”CPU = 运算器 + 控制器 + 主存” | 错。主存不在 CPU 内 |
| ”ENIAC 采用存储程序方式” | 错。用插线设置程序 |
| ”ENIAC 由冯·诺依曼设计” | 错。他是顾问 |
| ”摩尔定律保证性能每 18 个月翻倍” | 错。对象是晶体管数 |
| ”摩尔定律是物理定律” | 错。是经验观察 |
| ”代际按操作系统的发展划分” | 错。按主要逻辑器件 |
| ”第三代用大规模集成电路” | 错。是中小规模 |
| ”机器语言程序需要编译才能执行” | 错。直接执行 |
| ”汇编语言可以跨平台移植” | 错。与 ISA 绑定 |
| ”汇编程序是用汇编语言写的程序” | 错。指的是汇编器这个工具 |
| ”解释程序会生成目标程序” | 错。不生成,这正是判据 |
| ”解释执行比编译执行快” | 错。循环体被反复翻译 |
| ”编译程序属于应用软件” | 错。系统软件 |
| ”源程序一定是高级语言写的” | 错。汇编写的也是源程序 |
| ”固件是硬件” | 错。本质是软件 |
| ”固件不可修改” | 错。EEPROM / Flash 可刷 |
| ”软硬件功能等价所以性能也等价” | 错。只是功能逻辑等价 |
| ”指令和数据地位同等所以 CPU 分不清” | 错。靠取指周期/取数周期区分 |
| ”现代计算机以运算器为中心” | 错。以存储器为中心 |
| ”MAR、MDR 属于 CPU” | 不准确。逻辑属主存、物理在 CPU;考位数不考位置 |
| ”IR 的位数等于存储字长” | 错。等于指令字长 |
| ”PC 的位数等于指令字长” | 错。等于 MAR 位数 |
| ”存储单元和存储元是一回事” | 错。存储元 1 位,存储单元有一个地址 |
| ”运算器只有 ALU” | 错。还有 ACC、MQ、X、PSW |
| ”控制器负责搬运数据” | 错。只发控制信号 |
| ”所有计算机都有 M0 微程序机器级” | 错。硬布线控制器没有 |
| ”M2~M4 是实际机器” | 错。都是虚拟机器 |
| ”虚拟机器就是 VMware 那种” | 错。指由软件实现的层 |
| ”Cache 容量属于体系结构” | 错。属于组成,对程序员透明 |
| ”指令系统属于计算机组成” | 错。属于体系结构 |
| ”透明就是清楚可见” | 错。恰恰相反:看不见 |
| ”机器字长属于组成” | 错。体系结构 |
| ”同一 ISA 的两台机器性能相同” | 错。组成不同,性能可差很多 |
| ”同一 ISA 的二进制一定能互相运行” | 错。还要 ABI 相同 |
| ”存储程序意味着永远顺序执行” | 错。转移、调用、中断都改写 PC |
| ”PC+1 中的 1 表示 1 个字节” | 错。表示一条指令的长度 |
| ”取指令阶段各条指令不同” | 错。完全相同,这是流水线的前提 |
| ”编译之后就可以执行了” | 错。还要汇编、链接、装入 |
| ”链接由操作系统完成” | 错。链接归工具链,装入才归 OS |
| ”预处理阶段会用到 ISA” | 错。纯文本替换 |
| ”一条指令的执行必须访存” | 错。寄存器型指令执行阶段不访存 |
| ”主频越高性能越好” | 错。还要看 IC 和 CPI |
| ”机器字长 = 存储字长” | 错。三个字长互相独立 |
| ”IC 是程序里写的指令条数” | 错。是动态执行条数 |
| ”各类指令的 CPI 直接取平均” | 错。必须按动态条数加权 |
| ”MIPS 可比较不同 ISA 的机器” | 错。一条指令做的事不同 |
| ”峰值 FLOPS 代表实际性能” | 错。是理论上限 |
| ”CPU 时间 = 墙钟时间” | 错。墙钟还含 I/O 与调度等待 |
| ”局部加速 k 倍整体就快 k 倍” | 错。阿姆达尔 |
| ”IPC 不可能大于 1” | 错。超标量可以 |
| ”系列机的组成必须相同” | 错。体系结构相同即可 |
| ”旧机器能运行新机器的程序” | 错。会触发非法指令异常 |
| ”高级语言程序的机器码可移植” | 错。源码可移植,机器码要重新生成 |
链接
- 🏠 本章总览:计算机组成原理第 1 章:计算机系统概述总览
- 📜 原始提问档案:第 1 章 原始提问档案(本地资料)
- 📚 权威节号:王道 2026 教材目录
- 🔗 后续各章名词库:第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 第 7 章