王道《计算机组成原理》· 讲义 + 21 天学习日程表

面向零基础 / 跨考小白 · 网页课件版 · 日月明(2021 年 408 考 127 分 · 全栈程序员)

王道《计算机组成原理》核心考点讲义

面向零基础 / 跨考小白 · 配合《小白 21 天学完王道计算机组成原理日程表》使用

用法:每章先看 CodeBrick 动画建立画面(计组 Visual 总入口 roadmap ;计组 Blog 图文总入口 co-blog )→ 读王道对应节 → 做本节「习题精选」→ 用本讲义「自测」验收。

计组是 408 里最"硬核"的一门:它不像 OS 偏概念,而是处处要算(数制、补码、Cache、地址线、流水线)。本讲义把每个必会计算都点出来,照着练就能拿稳分。


第 1 章 计算机系统概述(地基,考频不低,拿分要稳)

1.1 计算机发展历程

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 冯氏机六大特点能背几条;② 四代划分标志是什么;③ 现代计算机和冯氏原结构在"中心"上有何不同。

1.2 计算机系统层次结构

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① MAR/MDR 各管什么;② 编译和解释区别;③ 列举 3 个对汇编程序员透明的部件。

1.3 计算机的性能指标

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 写出 CPU 执行时间公式;② 给了 IC、CPI、f 能算执行时间;③ 为什么主频高不一定快。

视频关联(点关键词跳到对应集)


第 2 章 数据的表示和运算(408 计算题第一主力,必须拿满)

2.1 数制与编码

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 8 位补码范围是多少、为什么比原码多一个负数;② 给十进制求 8 位补码;③ 16 位数据需要多少位海明校验位。

2.2 运算方法和运算电路

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 用双符号位判断溢出;② 写 [A-B]_补 的硬件做法;③ Booth 算法 01/10 分别加什么。

2.3 浮点数的表示与运算

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 写出 32 位浮点某十六进制码对应的十进制真值;② 浮点加减五步;③ 单精度偏移量是多少、为什么尾数有 24 位精度。

视频关联(点关键词跳到对应集)


第 3 章 存储系统(分值大、计算多,层次结构是核心思想)

3.1 存储器概述

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① SRAM 与 DRAM 区别;② 存储层次从高到低列一遍;③ 局部性原理两大类型。

3.2 主存储器

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 给了地址线 14、数据线 8,算容量;② DRAM 三种刷新方式;③ 低位/高位交叉编址分别解决什么。

3.3 主存储器与 CPU 的连接

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 用 1K×4 芯片组成 4K×8 存储体,需要多少片、怎么扩展;② 给地址范围画片选译码;③ 线选法与译码法地址是否连续。

3.4 外部存储器

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 给转速算平均旋转延迟;② RAID 5 与 RAID 1 冗余区别;③ 磁盘地址由哪几部分组成。

3.5 高速缓冲存储器(Cache,计算大题常客)

核心考点

映射方式主存块放哪标记位特点
-----------------------------------
直接映射固定唯一的 Cache 行(i = j mod C)主存字块标记 + 行号冲突率高、电路简单、无需替换算法
全相联映射任意 Cache 行只主存块标记冲突最低、查找慢(需相联存储器)、贵
组相联映射固定组内的任意行(组间直接、组内全相联)标记 + 组号折中,最常用(如 8 路组相联)

易错警示

CodeBrick 配合(直达链接):

自测:① 主存地址三段各是什么;② 给 Cache 容量/块大小/相联度算标记总位数;③ 写回与写直达区别、需不需要脏位。

3.6 虚拟存储器

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 页式逻辑地址怎么划分;② TLB 与 Cache 本质区别;③ 多级页表解决的什么问题。

视频关联(点关键词跳到对应集)


第 4 章 指令系统(考试偏概念 + 一道操作码扩展大题)

4.1 指令系统

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 指令由哪两段组成;② 给约束设计扩展操作码(算最多支持几条三地址指令);③ 定长 vs 扩展操作码优劣。

4.2 寻址方式

核心考点

方式有效地址 EA特点
------------------------
立即寻址操作数在指令中(A 即数)快,数受限,不能修改
直接寻址EA = A(地址码即主存地址)简单,寻址范围受 A 位数限
间接寻址EA = (A)(A 指向的单元存地址)范围大,多次访存
寄存器寻址EA = Ri(操作数在寄存器)快,无需访存
寄存器间接EA = (Ri)寄存器存地址
隐含寻址操作数隐含(如 ACC)省地址码
基址寻址EA = (BR) + A面向系统,程序浮动、扩大寻址
变址寻址EA = (IX) + A面向用户,循环/数组,IX 变
相对寻址EA = (PC) + A转移用,与位置无关、可浮动
堆栈寻址EA = SP 指向进栈出栈

易错警示

CodeBrick 配合(直达链接):

自测:① 列 5 种数据寻址并说 EA 怎么算;② 基址与变址区别;③ 相对寻址为什么利于程序浮动。

4.3 程序的机器级代码表示

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① AT&T 与 Intel 语法操作数顺序区别;② call 指令压的是什么;③ lea 和 mov 取数区别。

4.4 CISC 和 RISC

核心考点

维度CISCRISC
------------------
指令数多少
指令长度变长定长
寻址方式多少
访存指令任意仅 Load/Store
控制方式微程序为主硬布线为主
寄存器较少大量通用
目标缩小代码体积提高执行效率

易错警示

CodeBrick 配合(直达链接):

自测:① RISC 三条核心特征;② Load/Store 架构什么意思;③ CISC 与 RISC 控制方式区别。

视频关联(点关键词跳到对应集)


第 5 章 中央处理器(408 最重一章,数据通路 + 流水线是大头)

5.1 CPU 的功能和基本结构

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① CPU 五大功能;② 运算器和控制器各含哪些关键部件;③ PC、IR、MAR、MDR 是否对用户透明。

5.2 指令执行过程

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 指令周期包含哪几个阶段;② 取指周期数据流;③ 三级时序层次关系。

5.3 数据通路

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 单总线为什么要暂存寄存器;② 画一条 add R1,R2 的微操作序列;③ Load 指令数据通路经过哪些寄存器。

5.4 控制器

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 硬布线与微程序各优缺点;② 控制存储器干什么用;③ 水平型与垂直型微指令区别。

5.5 异常和中断机制

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 异常与中断来源区别;② 中断响应步骤;③ 故障 Fault 与陷阱 Trap 返回点有何不同。

5.6 指令流水线(计算大题主力,时空图必会)

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 吞吐率/加速比/效率公式;② 画 5 段流水线时空图算完成时间;③ 数据相关的三种类型,哪种必须处理。

5.7 多处理器

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① Flynn 四类各举例子;② 超线程和真多核区别;③ MESI 是干什么的。

视频关联(点关键词跳到对应集)


第 6 章 总线(分值不大但概念清晰,拿分稳)

6.1 总线概述

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 系统总线三类各传什么;② 给宽度和频率算带宽;③ 为什么现代高速总线多用串行。

6.2 总线事务和定时

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 三种集中仲裁各特点;② 同步与异步定时区别;③ 分离式通信为什么效率高。

视频关联(点关键词跳到对应集)


第 7 章 输入/输出系统(好拿分,I/O 方式对比要熟)

7.1 I/O 系统基本概念

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① I/O 接口五大功能;② 统一编址与独立编址区别;③ 为什么需要 I/O 接口。

7.2 I/O 接口

核心考点

易错警示

CodeBrick 配合(直达链接):

自测:① 接口里三类寄存器各干嘛;② 状态口和控制口访问方向;③ 端口是什么。

7.3 I/O 方式

核心考点

方式CPU 干预数据通路特点
--------------------------------
程序查询(轮询)最高(全程忙等)CPU 直接经接口简单但 CPU 大量空转
中断驱动每次传输完成通知CPU 经接口CPU 可去做别的事,每次传送仍有中断开销
DMA(直接存储器访问)仅起停/结束设备↔主存直传,不经 CPU块传输极高效,DMA 控制器接管总线
通道(I/O 处理机)几乎不干预通道执行通道程序大型机,进一步解放 CPU

易错警示

CodeBrick 配合(直达链接):

自测:① 四种 I/O 方式按 CPU 干预排序;② DMA 为什么不经 CPU 还要申请总线;③ DMA 与中断驱动的本质区别。

视频关联(点关键词跳到对应集)


配套视频资源(Bilibili 补强)

下面两个都是分集合集,按王道小节逐集讲解,适合第一遍打底、卡壳处反复看、自测后对照练手(具体每集与本章对应点请用视频平台目录/章节标记自行定位)。

用法建议:每天按《21 天日程表》推进一章 → 先看 CodeBrick 动画建立画面 → 读王道书 + 本讲义 → 做本节「习题精选」→ 用本讲义「自测」验收 → 用上方分集合集查漏补缺。


补充课程 / 工具(黄金组合)

王道是主线。组原零基础或觉得王道节奏快时,换湖科大教书匠讲得更细。

高频考点速查(冲刺用)

计算大题主力(7 类,务必能手算): 1. 数制与补码运算(原/反/补/移码范围、补码加减溢出、补码求负) 2. IEEE754 浮点(偏移量 127/1023、隐含位、真值还原、加减五步、范围与精度) 3. Cache 映射与命中率(三段地址、标记位计算、直接/全相联/组相联、平均访问时间) 4. 主存容量与地址线/数据线计算、位/字/字位扩展、片选译码 5. 指令操作码扩展(扩展操作码设计、约束下最多指令数) 6. 流水线时空图与吞吐率/加速比/效率(相关冒险、转发与停顿) 7. 中断向量与优先级(向量表、多重中断屏蔽字、响应流程)

概念高频(简答/选择): 冯诺依曼结构 · MAR/MDR/PC/IR 作用与透明性 · 存储层次与局部性 · SRAM vs DRAM · Cache 三种映射与写策略 · TLB 与 Cache 区别 · 虚拟存储器页/段/段页式 · 寻址方式(基址/变址/相对)· CPU 数据通路与微操作 · 硬布线 vs 微程序 · 异常 vs 中断 · 指令流水线三类相关 · CISC vs RISC · 总线仲裁与定时 · I/O 四种方式(尤其 DMA 与中断区别)。


—— 日月明(2021 年 408 考 127 分 · 全栈程序员)

小白 21 天学完王道《计算机组成原理》日程表

适用对象:零基础 / 跨考小白,目标啃下王道 2026《计算机组成原理》并具备 408 应试基础。

核心方法:先动画建立直觉 → 再精读王道定义 → 立刻做本节习题 → 卡住真人答疑。

每日建议投入 2–3 小时。所有 CodeBrick 资源(计组 Visual / 计组 Blog)均免费。

工具链怎么配合

阶段总览

阶段天数目标
------------------
1 入门直觉Day1–3建立计组全局画面,第 1 章轻量过(发展历程/层次/性能指标)
2 啃核心·数据表示与运算Day4–7数制编码/补码运算/IEEE754(408 计算第一主力)
3 啃核心·存储系统Day8–12主存/Cache 三种映射/虚拟存储(计算大题重灾区)
4 啃核心·指令与 CPUDay13–17指令格式/寻址/CPU 结构/数据通路/流水线(最重一章)
5 扫尾章Day18–19总线 + I/O 系统(抓大放小,DMA 与中断区别必会)
6 真题闭环Day20–21真题查漏 + 错题复习 + 总复盘

21 天明细

天阶段王道书(看哪节)CodeBrick(做什么)当日任务 / 输出自测(能答出来 = 真懂)
----------------------------------------------------------------------------------------------
1入门直觉1.1 计算机发展历程、1.2 计算机系统层次结构计组 Visual 总入口通览 7 大模块记冯氏机六大特点;弄清五大部件能背冯氏机特点;现代计算机以什么为中心
2入门直觉1.2 层次结构(MAR/MDR/PC/IR、透明性)、1.3 计算机性能指标计组 Blog 计算机组成图文理解 MAR/MDR 作用;手算 CPU 执行时间;做 1.2/1.3 习题能区分 MAR/MDR;会算 IC×CPI/f;列举透明部件
3入门直觉复习第 1 章 + 第 1 章疑难点计组 Visual 再跑层次/性能指标动画画「五大部件 + 数据流向」框架图;第 1 章习题总练能画出计算机硬件组成框图;翻译 vs 解释
4数据表示2.1 数制与编码(进位制、原/反/补/移码、定点数)计组 Visual 数制与编码动画数制互转;写 8 位补码范围;做 2.1 前半习题8 位补码范围 [-128,127] 为什么;移码怎么求
5数据表示2.1 校验码(奇偶/海明/CRC)+ 2.2 运算方法和运算电路(补码加减、溢出)计组 Blog 补码运算图文双符号位判断溢出;手算 [A-B]_补;做 2.1/2.2 习题溢出 OF 与进位 CF 区别;补码加减怎么做减法
6数据表示2.2 乘除法(原码/Booth、原码除)、标志位计组 Visual 运算电路动画理解 Booth 规则;做 2.2 后半习题Booth 01/10 分别加什么;CF/SF/OF/ZF 含义
7数据表示2.3 浮点数(IEEE754、加减五步、范围精度)计组 Blog 浮点数图文还原 32 位浮点真值;算单精度偏移;做 2.3 习题单精度偏移 127、尾数 24 位精度;浮点加减五步
8存储系统3.1 存储器概述(分类、SRAM/DRAM、层次、局部性)计组 Visual 存储层次动画列 SRAM/DRAM 区别;理解局部性;做 3.1 习题为什么 Cache 用 SRAM、主存用 DRAM;层次靠什么有效
9存储系统3.2 主存储器(结构、容量计算、刷新、多体并行)计组 Blog 主存图文给地址线/数据线算容量;区分三种刷新;做 3.2 习题按字节/字编址区别;低位交叉用于提速还是扩容量
10存储系统3.3 主存与 CPU 连接(位/字/字位扩展、片选译码)计组 Visual 地址译码动画用 1K×4 组 4K×8 算片数;写片选逻辑;做 3.3 习题字扩展/位扩展分别扩什么;线选法地址是否连续
11存储系统3.4 外部存储器(磁盘指标、RAID)计组 Blog 磁盘与 RAID 图文算平均旋转延迟;记 RAID 0/1/5/6/10 特性;做 3.4 习题平均旋转延迟是半圈;RAID 5 与 1 冗余区别
12存储系统3.5 高速缓冲存储器(三种映射、容量、写策略、替换)计组 Visual Cache 映射动画算组相联标记位数;手算平均访问时间;做 3.5 习题主存地址三段;写回 vs 写直达;Cache 容量含不含标记位
13存储系统3.6 虚拟存储器(页/段/段页式、TLB)计组 Blog 虚拟存储图文区分 TLB 与 Cache;手算多级页表;做 3.6 习题;第 3 章总练TLB 缓存什么、Cache 缓存什么;虚地址怎么转物理地址
14指令与 CPU4.1 指令系统(格式、操作码扩展)、4.2 寻址方式计组 Visual 指令与寻址动画设计扩展操作码;列 5 种寻址 EA 算法;做 4.1/4.2 习题扩展操作码不能前缀冲突;基址 vs 变址区别
15指令与 CPU4.3 机器级代码表示、4.4 CISC 和 RISC计组 Blog 汇编与 RISC/CISC 图文看懂 AT&T vs Intel 语法;背 CISC/RISC 对比表;做 4.3/4.4 习题AT&T 操作数顺序;RISC 的 Load/Store 架构是什么
16指令与 CPU5.1 CPU 功能与基本结构、5.2 指令执行过程计组 Visual CPU 结构/指令周期动画画 CPU 组成框图;写取指周期数据流;做 5.1/5.2 习题CPU 五大功能;指令周期含哪几阶段;三级时序层次
17指令与 CPU5.3 数据通路、5.4 控制器(硬布线/微程序)计组 Blog 数据通路与微程序图文画 add 指令微操作序列;对比硬布线/微程序;做 5.3/5.4 习题单总线为什么需暂存寄存器;控制存储器干什么用
18指令与 CPU5.5 异常和中断机制、5.6 指令流水线基础计组 Visual 流水线与中断动画写中断响应流程;背三类相关;做 5.5 习题异常 vs 中断来源;Fault 与 Trap 返回点;中断向量存什么
19指令与 CPU5.6 流水线计算 + 5.7 多处理器计组 Visual 流水线时空图动画画时空图算吞吐率/加速比;记 Flynn 四类;第 5 章总练吞吐率公式分母 (k+n-1);RAW 必须处理;SIMD/MIMD 例子
20扫尾章6.1 总线概述、6.2 总线事务和定时计组 Blog 总线图文算总线带宽;背三种集中仲裁;做 6 章习题;7.1/7.2 I/O 基本概念总线带宽怎么算;三种仲裁各特点;统一 vs 独立编址
21真题闭环7.3 I/O 方式 + 无新书按薄弱查漏计机 Visual I/O 方式动画 + 错题二刷DMA 与中断对比;做 50–80 道真题标错因;列未懂清单四种 I/O 按 CPU 干预排序;DMA 不经 CPU 为何还要抢总线;列 ≤5 个仍不懂点

使用说明

1. 每日顺序:先看 CodeBrick 动画/Blog 建立画面 → 再读王道对应节 → 做本节习题精选 → 对答案与解析 → 自测栏答不出就回看。 2. 自测是硬指标:自测栏答不顺,当天内容就没真懂,别急着往后赶;计组尤其要"能算出来"才算懂。 3. 卡住就问:一道题卡 20 分钟以上,直接找日月明真人答疑(5 元/题),保持节奏比硬磕重要。 4. 重高频轻低频:Day20–21 把力气压在数据表示、Cache、指令流水线、数据通路这些高频计算区;总线/I/O 抓大放小即可。

—— 日月明(2021 年 408 考 127 分 · 全栈程序员)