计算机组成原理第 1 章:计算机系统概述总览

本页有两个身份。 上半部分是第 1 章的导航;下半部分是整本《计算机组成原理》的地图——七章的关系、贯穿全书的隐线、跨章公式总表。

第 1 章是最后写的,正因为如此,它能把前面六章已经建立起来的东西汇总在一处。


上篇:第 1 章导航

这一章不难,但考点密度很高。「体系结构 vs 组成」「透明」「主机的范围」「MAR/MDR/PC/IR 的位数」「 三因子」这几条几乎年年出现。提问少不代表分值少。

章节导航

*1.1 计算机发展历程 *选学

节页一句话
*1.1.1计算机硬件的发展四代按主要逻辑器件分;ENIAC 不是存储程序机;摩尔定律的对象是集成度
*1.1.2计算机软件的发展三级语言;编译 vs 解释的判据是生不生成目标程序;软硬件功能等价

1.2 计算机系统层次结构

节页一句话
1.2.1计算机系统的组成⭐ 主机 = CPU + 主存,不含辅存
1.2.2计算机硬件⭐ 冯·诺依曼五特点;MAR/MDR/PC/IR 的位数;以存储器为中心
1.2.3计算机软件源程序/目标程序;汇编语法不属于 ISA
1.2.4计算机系统的层次结构⭐ 体系结构 vs 组成 = 程序员看不看得见;「透明」是”看不见”
1.2.5计算机系统的工作原理⭐ 存储程序;五步链条;取指的四条传送

1.3 计算机的性能指标

节页一句话
1.3.1计算机的主要性能指标⭐ ;三个因子方向相反
1.3.2几个专业术语系列机 = 同 ISA 不同实现;新跑旧成立,旧跑新不成立

本章高频边界

完整清单(54 条)在名词库末尾。这里只列最容易翻车的。

说法判断
主机 = CPU + 主存 + 硬盘❌ 硬盘是外设
指令系统属于计算机组成❌ 属于体系结构
Cache 容量属于体系结构❌ 属于组成,对程序员透明
”透明”就是清楚可见❌ 恰恰相反:看不见
所有计算机都有 M0 微程序机器级❌ 硬布线控制器没有
M2~M4 是实际机器❌ 都是虚拟机器
IR 的位数等于存储字长❌ 等于指令字长
PC 的位数等于指令字长❌ 等于 MAR 位数
现代计算机以运算器为中心❌ 以存储器为中心
ENIAC 采用存储程序方式❌ 用插线设置程序
主频越高性能越好❌ 还要看 和
IC 是程序里写的指令条数❌ 是动态执行条数
各类指令的 CPI 直接取平均❌ 按动态条数加权
链接由操作系统完成❌ 链接归工具链,装入才归 OS
PC+1 中的 1 表示 1 个字节❌ 表示一条指令的长度
旧机器能运行新机器的程序❌ 触发非法指令异常
固件是硬件❌ 本质是软件

计算模板

量公式注意
主存容量位数位数MAR 位数由单元个数定
CPU 执行时间 是动态条数
加权平均 CPI不能算术平均
MIPS不能跨 ISA 比较
阿姆达尔,上限 是原时间中的占比
VRAM(第 7 章)色深色深先取

审题四问:① 是动态的吗?② 多类指令加权了吗?③ 单位是十进制(频率)还是二进制(容量)?④ 问的是”快多少倍”还是”时间少多少”?


下篇:《计算机组成原理》全书地图

七章在讲同一件事的七个侧面

整本书回答的是同一个问题:一条 C 语句怎么变成电平变化,以及这个过程怎么才能更快。

flowchart TD
    C1["第 1 章 系统概述<br/>把地图画出来"] --> C2["第 2 章 数据的表示和运算<br/><b>用什么表示</b>"]
    C2 --> C4["第 4 章 指令系统<br/><b>用什么命令操作</b>"]
    C4 --> C5["第 5 章 中央处理器<br/><b>谁来执行</b>"]
    C2 --> C3["第 3 章 存储系统<br/><b>放在哪</b>"]
    C3 --> C5
    C5 --> C6["第 6 章 总线<br/><b>靠什么互连</b>"]
    C6 --> C7["第 7 章 输入/输出系统<br/><b>怎么与外界交换</b>"]

    classDef c1 fill:#f3e5f5,stroke:#6a1b9a,stroke-width:3px
    classDef data fill:#e3f2fd,stroke:#1565c0
    classDef exec fill:#ffcdd2,stroke:#b71c1c
    classDef conn fill:#c8e6c9,stroke:#1b5e20
    class C1 c1
    class C2,C3 data
    class C4,C5 exec
    class C6,C7 conn
章三级节回答什么索引
1 计算机系统概述9系统由什么组成、程序怎么跑、怎么评价性能本页
2 数据的表示和运算12数怎么表示、怎么算→
3 存储系统23程序和数据放在哪、怎么又大又快→
4 指令系统14能对硬件下什么命令→
5 中央处理器25指令怎么被执行→
6 总线7部件之间怎么连→
7 输入/输出系统10怎么与外部世界交换→
合计100

第 1 章的每一节都是某一章的入口:

第 1 章的内容在哪一章被兑现
二进制表示指令和数据(1.2.2)第 2 章(2.1)
主存储器、MAR/MDR(1.2.2)第 3 章(3.2.3)
指令由操作码和地址码组成(1.2.2)第 4 章(4.1.2)
编译链接五步(1.2.5)第 4 章(4.1.1)
取指的四条传送(1.2.5)第 5 章(5.2.1)
PC / IR / CU(1.2.2)第 5 章(5.1.3)
M0 微程序机器级(1.2.4)第 5 章(5.4.3)
以存储器为中心(1.2.2)第 6、7 章(7.3.3 DMA)
南桥北桥、内存控制器(1.2.2)第 6 章(6.1.3)
三因子(1.3.1)全书——每一项优化都在动其中一个

贯穿全书的九条隐线

这是本页最值得反复看的一节。 这九条各自在两章以上出现,认出一条,就少背好几张对照表。

① 「有符号 / 无符号」是解释的属性,不是数据的属性

硬件只有一串位、一个加法器。 有符号与无符号的区别只发生在五处:溢出判据、比较、右移、除法、扩展。

立于 2.1.3,引用于 2.1.4、2.2.3、2.2.4。

② 「面积换时间」

把串行的过程摊开成并行的电路,用更多晶体管换更短的关键路径。

出处摊开的是什么
2.2.1先行进位加法器(进位传播)、桶形移位器、阵列乘法器
3.5.3比较器数量 = 相联度;LRU 计数器阵列同理
5.6.5超标量:多套功能部件

③ 「延迟和带宽是两个独立的量」

第 3 章除 Cache 外的所有提速手段,都只提高带宽,一次访问的延迟一点没缩短。

SDRAM 的同步、DDR 的双沿、多体交叉、突发传送——一个都没让”读一个字要多久”变短。

立于 3.1.2,引用于 3.2.1、3.2.4、6.1.5。

它的第 1 章版本就是 1.3.1 的「响应时间 vs 吞吐量」。

④ 「Cache—主存」与「主存—辅存」是同一思想的两次应用

全部差别由一件事推出:未命中代价相差六个数量级。

3.6.5 用它现场推出四条结论(全相联 / 只用写回 / 交给 OS 并切换进程 / 页大两个数量级)——比背对照表更常考。

⑤ 「地址翻译分层」

“地址”这个词在书里指过至少六种不同的东西,混在一起就全乱了。分层见 4.2.1,跨到 3.6.2 与 OS 的页表。

⑥ 「要整齐就得按最慢的来」——全书出现 7 次

这是出现次数最多的一条。 每一次的形式不同,代价形式也不同:

#出处谁按谁定代价
15.2.1机器周期按访存时间定不访存的操作也占一个机器周期
25.2.3单周期方案按最慢指令定 简单指令陪着等
35.4.2同步控制的节拍按最慢操作定控制简单,时间浪费
45.6.1流水段按最慢段定 段间不均衡就有浪费
55.6.2快指令补空段陪着走完换来写端口不冲突、完成顺序不乱
66.2.2同步总线按最慢从设备定拍数快设备只能陪着等
77.1.3定时查询按最慢设备定轮询间隔太长丢数据,太短接近独占

它的对立面也是同一条线索:异步定时(6.2.2)、多周期方案(5.2.3)、中断(7.3.2)都是在说”别整齐了,各按各的速度来”——代价是需要握手、需要额外的控制。

⑦ 「多个请求者争一个资源」——出现 5 次,分界线是「事前预约 vs 事后补救」

出处争什么谁裁决会不会冲突
5.5.3 中断判优CPU 的响应判优电路事前,不冲突
6.2.1 总线仲裁总线使用权仲裁器事前,不冲突
令牌环(计网)介质使用权令牌本身事前,不冲突
7.3.3 DMA 与 CPU 争总线主存/总线周期优先级固定,DMA 优先事前,不冲突
以太网 CSMA/CD(计网)介质使用权没有裁决者允许冲突,事后重传

真正的分界不是”总线 vs 网络”,而是「事前预约」还是「事后补救」。 前四个在同一侧,只有以太网单独在另一侧——它敢碰撞,是因为上面还有一层重传。

⑧ 「功能往硬件里搬」——速度上去,成本和灵活性下来

出处搬进硬件的是什么换来 / 付出
1.1.2软硬件逻辑等价(这条线的总纲)——
2.2.1进位传播、逐位乘加快;面积换时间
4.4.1一整段常用操作 少; 高、 低
5.4.2控制信号的产生快;改不动
7.3.3数据搬运CPU 解放;硬件复杂、要争总线

⑨ 「把慢的关在外面」

不让慢的东西占住公共资源,这是提高利用率的通用手法。

出处把什么关在外面
6.2.1 分离事务从设备准备数据的时间不占总线
7.2.1 接口缓冲设备的慢不占总线
3.5.2 Cache主存的慢大部分不出现在 CPU 面前
5.6.5 乱序执行一条卡住的指令不挡住后面的

全书公式总表

章公式用在哪
1.2.2主存容量位数位数容量题的起点
1.3.1全书性能分析的总口径
1.3.1阿姆达尔
3.1.2平均访问时间
3.5.2Cache 性能
5.6.4流水线加速比
6.1.5总线带宽
7.1.2色深显存容量
7.3.x查询/中断/DMA 的 CPU 占用率

跨章的三处「教材编排 ≠ 原理归属」

本笔记有三处刻意与教材的章节编排不同,都是因为”原理在别处”:

内容教材放在本笔记归到理由
中断的完整机制(隐指令、向量、判优、屏蔽字、嵌套)7.3.25.5.3原理属于 CPU,分开记两边都记不牢
编译链接五步1.2.54.1.1它的机制细节属于 ISA
总线仲裁的三种电路(2026 目录无此节)5.5.3与中断判优同构,讲一次即可

三处的处理手法相同:原理页写透,教材所在的那一节写”接口”——列清分工,只补该节特有的部分。

复习顺序(全书)

若从零开始,按这个顺序读,每一章都能用上前一章:

  1. 第 1 章(本章)—— 先把地图和 公式立住。
  2. 第 2 章 —— 数怎么表示,这是后面一切的基础。
  3. 第 3 章(最厚)—— 存储层次,全书分值最高。
  4. 第 4 章 —— 指令系统,接第 2 章的编码。
  5. 第 5 章(节数最多)—— CPU,接第 4 章的指令。
  6. 第 6 章 —— 总线,接第 5 章的数据通路。
  7. 第 7 章 —— I/O,用到第 5 章的中断和第 6 章的主从判据。

若时间紧,按分值:第 3 章 > 第 5 章 > 第 4 章 > 第 2 章 > 第 7 章 > 第 6 章 > 第 1 章。

但第 1 章不能跳——它的概念题是送分题,而且1.2.4 的「体系结构 vs 组成」是判断题的常客。

链接