几个专业术语
全书最短的一节,六个名词。 但这六个词有个共同点:它们都是在描述”什么东西可以变、什么东西不能变”——而这正是 1.2.4 那条”体系结构 vs 组成”分界线的实际应用。
读法:每个词都先问一句”它锁住了哪一层”。
机制
系列机:锁住体系结构,放开组成
系列机是指具有相同体系结构、但组成和实现不同的一系列计算机。
举例:Intel 从 8086 到今天的酷睿,都属于 x86 系列机。指令系统一路兼容,但内部实现从最初的几万个晶体管变成了几百亿个。
这一条正是 1.2.4 判据的直接后果:体系结构(程序员可见的)保持不变,程序才能继续跑;组成(透明的)随便改,因为程序看不见它。
系列机存在的意义是保护软件投资——如果每出一代 CPU 就要重写所有软件,产业根本无法积累。
兼容:四个方向,只有一个是必须的
兼容指的是硬件、软件在不同型号之间的通用性。 方向有四个:
| 方向 | 含义 | 现实中 |
|---|---|---|
| 向后兼容(向下兼容) | 新机器能运行旧机器的程序 | ✅ 系列机必须做到 |
| 向前兼容(向上兼容) | 旧机器能运行新机器的程序 | ❌ 一般做不到 |
| 向上兼容 | 低档机的程序能在高档机上运行 | ✅ 通常成立 |
| 向下兼容 | 高档机的程序能在低档机上运行 | ❌ 一般不成立 |
只有”向后兼容”是系列机的硬要求——新的能跑旧的。反过来不行:老 CPU 遇到新指令会触发非法指令异常。
边界辨析:这四个词在中文资料里是乱的
“向上/向下/向前/向后”这四个词,不同教材的用法互相冲突,同一个词在两本书里可能指相反的方向。
考场上的自保办法:不要背词,读题干的解释。
只有一条结论是稳的,而且它足够答题:
凡是选项描述的是前者,判对;描述的是后者,判错。 至于它管这叫”向后兼容”还是”向下兼容”,按题干的定义走。
这与 1.2.3 的另一处术语歧义(“汇编程序”指工具还是指程序)是同一类问题——中文术语撞车时,抓住实质而不是名字。 第 7 章 7.2.4 的”端口”也是同一种情况。
软件可移植性:锁住源码,放开机器码
同一个软件可以不加修改或稍加修改就运行在不同硬件上的能力。
它靠三样东西实现,层次由低到高:
| 靠什么 | 保住什么 | 例子 |
|---|---|---|
| 系列机(同 ISA) | 机器码直接通用 | x86 程序在新老 Intel CPU 上都能跑 |
| 重新编译(高级语言) | 源码通用,机器码重新生成 | 同一份 .c 在 ARM 和 x86 上各编译一次 |
| 虚拟机 / 解释器 | 中间代码通用 | Java 字节码 |
“高级语言可移植”的准确含义是第二行——源码级可移植,不是机器码级。 这条在 1.1.2 说过。
固件:软件的形态,硬件的位置
固件是将程序固化在 ROM 中组成的部件。
它的意义在于给”软硬件功能等价”提供了第三个选项:
| 实现方式 | 速度 | 灵活性 | 成本 |
|---|---|---|---|
| 纯硬件(电路) | 最快 | 最差 | 高 |
| 固件(ROM 中的程序) | 中 | 中(可重刷) | 中 |
| 纯软件(主存中的程序) | 慢 | 最好 | 低 |
典型例子是 BIOS——它必须在主存还没被初始化时就能运行,所以只能固化在 ROM 里(3.2.2)。
微程序控制器的控制存储器也是固件的一种形态(5.4.3)——这正是 1.2.4 说 M0 层”由硬件或固件实现”的原因。
摩尔定律
内容与边界见 1.1.1,这里只重申三点:
- 对象是集成度(晶体管数),不是主频、不是性能。
- 是经验观察,不是物理定律。
- 它已经明显放缓——所以性能提升的来源从”晶体管更快”转向了”结构更聪明”,这就是第 3~7 章存在的原因。
边界
| 说法 | 判断 | 理由 |
|---|---|---|
| ”系列机的组成必须相同” | ❌ | 体系结构相同,组成可以完全不同 |
| ”系列机的体系结构可以改” | ❌ | 改了就跑不了旧程序 |
| ”旧机器能运行新机器的程序” | ❌ | 遇到新指令会触发非法指令异常 |
| ”高级语言程序的机器码可移植” | ❌ | 源码可移植,机器码要重新生成 |
| ”固件是硬件” | ❌ | 本质是软件 |
| ”固件不能修改” | ❌ | EEPROM / Flash 可重刷 |
| ”摩尔定律保证性能翻倍” | ❌ | 只说集成度 |
| ”兼容只有一个方向” | ❌ | 有多个方向,只有”新跑旧”是必须的 |
对照速查
| 术语 | 一句话 | 锁住哪一层 |
|---|---|---|
| 系列机 | 同 ISA、不同实现 | 锁体系结构,放开组成 |
| 兼容 | 新的能跑旧的 | 锁指令系统 |
| 软件可移植性 | 换机器仍能用 | 锁源码或中间码 |
| 固件 | ROM 里的程序 | 功能是软件,形态近硬件 |
| 摩尔定律 | 集成度约 18 个月翻倍 | —— |
考点
- 系列机的定义:同体系结构、不同组成。
- 兼容的方向:新跑旧成立,旧跑新不成立。
- 固件的本质是软件。
- 可移植性的三个层次。
链接
- 🏠 返回总览:计算机组成原理第 1 章:计算机系统概述总览
- ⬅️ 上一节:1.3.1 计算机的主要性能指标
- 🔑 体系结构 vs 组成:1.2.4 计算机系统的层次结构
- 🔗 摩尔定律:1.1.1 计算机硬件的发展
- 🔗 固件的存放位置:3.2.2 只读存储器
- 🔗 非法指令异常:5.5.2 异常和中断的分类
- 📖 名词库:第 1 章名词库