Skip to content

第一章 计算机系统概论

1. 计算机系统的组成

一台计算机从功能上看包括 5 个基本子系统:输入、输出、存储、控制、算术逻辑运算。

部件/系统作用常考点
运算器完成算术运算和逻辑运算核心部件是 ALU
控制器取指令、分析指令、发出控制信号不负责数据运算结果的存储
存储器存放程序和数据分为主存和辅存
输入设备向计算机输入信息如键盘、鼠标
输出设备输出处理结果如显示器、打印机

完整的计算机系统 = 硬件系统 + 软件系统

2. CPU、主机、外部设备

概念组成
CPU运算器 + 控制器
主机运算器 + 控制器 + 主存储器
外部设备输入设备 + 输出设备 + 外接辅助存储器
完整计算机系统硬件设备 + 软件设备

3. ALU、控制器和常见寄存器

名称作用
ALU完成算术运算和逻辑运算
控制器解释指令并发出控制信号
程序计数器 PC存放下一条待执行指令的地址
指令寄存器 IR存放当前正在执行的指令
累加器 ACC暂存运算数据或运算结果

MIPS 速度指标

  • MIPS(Million Instructions Per Second)= 指令数 ÷ (执行时间 × 10⁶)
  • 评估计算机执行速度常用每秒执行的指令数作为依据
  • 例:执行 100 万条指令用时 0.5 秒 → MIPS = 1 / 0.5 = 2 MIPS

ALU 不是只做加法,也不是只做算术运算,也不负责长期存放运算结果。

4. 存储系统与存储单位

单位含义
bit / 比特信息表示的最小单位,取值 0 或 1
Byte / 字节常用存储容量单位,1B = 8bit
KB1KB = 2^10B = 1024B
MB1MB = 2^20B
GB1GB = 2^30B

存储系统通常指主存和辅存

  • 主存:可被 CPU 直接访问,速度较快,容量较小
  • 辅存:容量大、速度慢、断电可长期保存

5. 冯·诺依曼机基本思想

冯·诺依曼机的核心思想是存储程序——程序和数据一样存放在存储器中,由计算机自动取出并执行。

特点说明
存储程序程序和数据都存放在存储器中
程序控制按程序规定自动执行
按地址访问存储器按地址访问
顺序执行一般按指令地址顺序执行,遇到转移指令可改变顺序

6. 软件系统

类型例子作用
系统软件操作系统、编译程序等管理计算机资源,支持程序运行
应用软件文本处理程序、表格软件等面向具体应用任务

计算机只能直接识别和执行机器语言,需要借助编译程序等翻译软件把高级语言翻译成机器语言。

7. 性能指标和地址空间

8 位微型机 + 16 位地址计算

例:8 位微型机(一次处理 8 位数据)若用 16 位表示地址:

  • "8 位"指数据宽度,不是地址位数
  • 地址空间 = 2^16 = 65536
  • 地址空间只与地址位数有关,与机器字长无直接关系

本章重点速记

  • 5 子系统:输入/输出/存储/控制/算术逻辑运算
  • CPU = 运算器 + 控制器;主机 = CPU + 主存
  • 冯·诺依曼:存储程序 + 按地址访问 + 顺序执行
  • 软件分系统软件和应用软件;机器语言是计算机唯一直接识别的语言
  • MIPS = 每秒百万条指令
  • 地址空间 = 2^地址位数(与机器字长无关)

第二章 总线

1. 总线概念与分类

总线是连接多个部件的信息传输线,是各部件共享的传输介质。

分类方式类型连接对象/含义高频考点
按位置分片内总线CPU 内部各部件之间CPU 内部
系统总线CPU、主存、I/O 设备之间三大部件之间
通信总线计算机系统之间系统之间
按内容分数据总线传送数据属于系统总线
地址总线传送地址信息选择存储单元和 I/O 接口地址
控制总线传送控制信号和状态信号控制读写、响应等

2. 总线结构的优缺点

  • 优点:便于增减外设,便于模块化设计,减少信息传输线
  • 缺点:共享介质,同一时刻不能有多个信息源同时传送(不是"地址、数据、控制信息不能同时出现")

3. 主设备、从设备与总线仲裁

概念含义
总线主设备获得总线控制权,能主动发起总线操作
总线从设备被主设备访问,只能响应命令
总线仲裁多个主设备申请总线时,控制器进行判优

4. 集中式总线控制方式

方式特点高频考点
链式查询结构简单,请求线少,优先级固定只有一条总线请求线;对电路故障最敏感
计数器定时查询通过计数器依次查询设备优先级取决于计数起点
独立请求每个设备有独立请求线和响应线响应最快;控制线多

要点:

  • 计数器定时查询:从 0 开始则设备号小优先,从终止点开始则机会相等
  • 独立请求:N 个设备有 N 个请求 + N 个响应信号
  • 链式查询:N 个设备只有一条请求线,对电路故障最敏感

5. 三总线结构与 PCI 总线

三总线结构:I/O 总线、主存总线、DMA 总线(与按内容分的"数据/地址/控制总线"不同)。

PCI 总线:与处理器时钟频率无关的高速外部总线,支持自动配置,兼容性较好,系统中可有多条 PCI 总线。

6. 总线通信控制

通信方式含义/特点高频考点
同步通信由统一时序控制,有统一时钟同步控制 = 统一时序
异步通信无统一时钟,靠应答信号协调不互锁速度最快

异步通信速度比较:不互锁 > 半互锁 > 全互锁(全互锁最慢但更可靠)。

7. 总线带宽计算

总线带宽 = 每个总线周期传送的数据量 × 总线频率

例:总线周期并行传送 8B,时钟频率 66MHz → 带宽 = 8B × 66MHz = 528MB/s

注意:8B 不是 8bit;MHz = 10⁶;MBps 一般按 10⁶ B/s 算。

本章重点速记

  • 系统总线:CPU、主存、I/O 之间;通信总线:计算机之间
  • 三种集中式控制:链式查询(一条请求线)/ 计数器定时查询(设备号小优先)/ 独立请求(响应最快)
  • PCI:与 CPU 时钟无关的高速外部总线,支持自动配置
  • 异步通信速度:不互锁 > 半互锁 > 全互锁
  • 带宽 = 每周期数据量 × 总线频率

第三章 存储器

1. 存储器基础概念

类型特点例子
高速缓存 Cache容量小、速度最快、成本最高CPU Cache
主存可被 CPU 直接访问,速度较快,容量较小RAM、ROM
辅存容量大、速度慢、成本低、可长期保存磁盘、U盘、光盘

主存 vs 辅存:主存小快贵,辅存大慢廉

2. RAM、ROM 与常见存储芯片

类型特点
RAM可读可写,通常易失
ROM只读或主要读,非易失
PROM可编程,但通常只能写入一次
EPROM可擦除可编程(紫外线擦除)

可编程的只读芯片不一定是可改写的

PROM 可编程但一般不能反复改写——这是常考的"看似对实则错"陷阱。

3. SRAM、DRAM、磁盘与刷新

存储介质是否需要刷新说明
SRAM不需要刷新速度快,成本高,常用于 Cache
DRAM需要刷新集成度高,成本低,常用于主存
磁盘不需要定时刷新信息可长期保存

4. 半导体存储芯片材料特点

类型特点
双极性半导体存储芯片速度快,但价格贵,功耗较大
MOS 存储芯片集成度高,成本较低,应用更广

双极性存储芯片速度比 MOS 快,但价格也贵。

5. 存取时间、存取周期

概念含义
存取时间从启动一次存取操作到完成该操作所需的时间
存取周期存储器进行连续两次读/写操作所允许的最短时间间隔

6. 主存容量受什么限制

最大主存容量主要受地址总线位数限制(n 位地址 → 最多 2^n 个地址空间),不是受指令中地址码位数限制。

7. 字长、存储容量与寻址范围

核心公式:按字编址的寻址范围 = 存储容量 / 每个字的字节数

字长每字占多少字节
8 位1B
16 位2B
32 位4B
64 位8B
字长存储容量按字编址计算寻址范围
32 位256KB256KB / 4B64K
32 位64KB64KB / 4B16K
16 位64KB64KB / 2B32K
16 位1MB1MB / 2B512K

K/M 是数量级(不带 B)

按字编址算出来是 64K,不是 64KB。带 B 是字节数,不带 B 是个数(像 kg/km 一样)。

8. 存储芯片容量表示法

M × N 位:M 个存储单元,每个单元 N 位。

  • 地址线数 = log₂(M)
  • 数据线数 = N

例:16K × 32 位 中,16K = 2^14,地址线 14 根;数据线 32 根;合计 14 + 32 = 46 根。

9. RAM 芯片引出线最少数目

引出线数 = 地址线 + 数据线 + 控制线(CS、WE 等 2 根)

RAM 容量地址线数据线控制线最少引出线
512 × 8 位98219
32K × 8 位158225
128K × 16 位1716235

10. 地址空间计算

地址空间 = 2^地址位数

例:8 位微型机用 16 位地址 → 2^16 = 65536 个。8 位指数据宽度,不是地址位数。

本章重点速记

  • 主存小快贵,辅存大慢廉
  • DRAM 需要刷新,SRAM / 磁盘不需要
  • 双极性快但贵,MOS 集成高
  • 按字编址寻址范围 = 容量 ÷ 每字字节数(不带 B)
  • M × N 位:地址线 = log₂(M) 根,数据线 = N 根
  • 引出线 = 地址线 + 数据线 + 控制线(一般 2 根)

第四章 输入输出系统

1. I/O 系统基础

I/O 系统负责主机与外部设备之间的信息交换。I/O 接口的作用:数据缓冲、速度匹配、格式转换、状态检测和控制命令传送。

2. 串行传输与并行传输

方式特点适用场景
串行传输按位依次传送远距离
并行传输多位同时传送近距离高速

主机和终端串行传送数据时,需进行串-并 / 并-串转换(可用软件实现)。串行传输的特点是"线路成本低、远距离",是"传输速度快"。

3. I/O 编址方式

编址方式特点是否需要专门 I/O 指令
统一编址外设接口和主存共用地址空间不需要
独立编址I/O 地址空间和主存地址空间分开需要

统一编址:外部设备和主存共用 CPU 的整个访问存储空间,无需单独的 I/O 指令。

4. 主机与外设的数据传送方式

方式基本特点CPU 参与程度
程序查询方式CPU 不断查询设备状态,串行工作最高
中断方式设备准备好后主动发中断请求较高
DMA 方式外设和主存之间直接传送数据较低
  • 程序查询方式:"除非计算机等待,否则无法传送"——效率低
  • 中断方式:CPU 不必一直等待外设,提高利用率

5. 中断响应过程中的硬件自动操作

操作完成方式
程序计数器 PC 内容的保护和更新硬件自动完成
中断响应周期中,允许中断触发器置 0硬件自动完成

6. 中断向量与中断向量地址

概念含义
中断服务程序入口地址中断服务程序开始执行的位置
中断向量通常存放中断服务程序入口地址
中断向量地址存放中断服务程序入口地址的地址

中断向量地址 ≠ 中断服务程序入口地址本身,而是"入口地址的地址"。

7. DMA 方式

  • 适合高速外设和大批量数据传送
  • CPU 只在传送前初始化,传送中由 DMA 控制器接管总线
  • DMA 不能完全取代中断方式(开始 / 结束 / 异常处理仍需中断配合)

8. DMA 的周期窃取 / 周期挪用

周期窃取:DMA 控制器在需要访问主存时,暂时占用一个存储器存取周期(不是指令周期、CPU 周期、总线周期)。

概念含义
周期挪用常用于 DMA 输入输出
周期窃取DMA 窃取一个存取周期

9. 四种 I/O 方式对比

I/O 方式数据传送特点CPU 是否等待适用情况
程序查询方式CPU 主动查询设备状态经常等待简单低速设备
中断方式设备准备好后通知 CPU不必一直等待随机、低速或中速
DMA 方式主存和外设直接传送CPU 参与少高速、大批量

程序查询:CPU 与设备串行工作;中断:减少等待;DMA:适合高速但不取代中断

本章重点速记

  • 串行:远距离、成本低;并行:近距离、高速
  • 统一编址:无需专门 I/O 指令;独立编址:需要
  • 程序查询:CPU 与设备串行工作,效率低
  • 中断方式:PC 保护与更新由硬件自动完成
  • 中断向量地址 = 入口地址的地址(不是入口地址本身)
  • DMA 适合高速大批量,但不能完全取代中断
  • 周期窃取 = 窃取一个存取周期

第五章 计算机的运算方法

1. 数制转换与大小比较

进制例子转换要点
二进制(101001)2按 2 的权展开
八进制(52)8一位八进制 = 3 位二进制
十六进制(2B)16一位十六进制 = 4 位二进制

例:(101001)2 = 41(52)8 = 42(2B)16 = 43,最小的是 (101001)2

2. 原码、反码、补码、移码

表示方法正数表示负数表示0 的表示
原码符号位 0,数值位为真值绝对值符号位 1,数值位为真值绝对值有 +0 和 -0
反码与原码相同符号位不变,数值位按位取反有 +0 和 -0
补码与原码相同反码末位 + 10 唯一
移码真值加偏置值,常用于阶码与补码符号位相反、数值位相同0 唯一

真值 0 表示形式唯一的是补码和移码。

3. 定点整数和定点小数的表示范围

  • 整数定点机:原码、反码、补码均可表示 -1
  • 小数定点机:只有补码能表示 -1[x]补 = 1.000...0 表示 -1)
  • n 位补码整数范围:-2^(n-1) ~ 2^(n-1)-1
  • n+1 位定点数(1 符号位 + n 数值位):
    • 整数 0 ≤ |N| ≤ 2^n - 1
    • 小数 0 ≤ |N| ≤ 1 - 2^-n

4. 补码转换与位数判断

负数补码:先写正数二进制 → 按位取反 → + 1。求 [-X]补 时,也可对 [X]补 直接取反 + 1。

真值8 位补码十六进制
-271110 0101E5H
-391101 1001D9H
560011 100038H

判断位数:-2^(n-1) ≤ x。例:x = -8192 = -2^13,至少需 14 位

5. 补数、求负和移码

  • 模 M 系统中,-x 的补数 = M - x
  • 移码与补码:同一数值,符号位相反,数值位相同

6. 补码加减运算和溢出判断

补码加减法:符号位一起参加运算,最高位进位通常丢弃。X - Y = X + (-Y)

方法判断规则
符号判断法两个同号数相加,结果变号 → 溢出
进位判断法最高有效数值位进位与符号位进位不同 → 溢出
变形补码法结果两个符号位不同 → 溢出

变形补码要点

两个符号位不同才是溢出,相同则不是。

7. 逻辑移位和算术移位

移位方式左移右移
逻辑移位低位补 0高位补 0
算术移位低位补 0,符号位按规则保留高位补符号位

8. 浮点数基础

N = 尾数 × 基数^阶码,阶码决定范围,尾数决定精度。

规格化浮点数

  • 正数补码尾数:0.1xxx...
  • 负数补码尾数:1.0xxx...

9. 浮点数上溢、下溢

情况机器处理
上溢停止运算,进行溢出中断处理
下溢继续运行,结果按机器零处理

10. 浮点数最接近 0 的负数

16 位浮点数,阶码 7 位含 1 位阶符,尾数 9 位含 1 位数符。

  • 原码:最小负阶码 -63,最小尾数绝对值 2^-8 → -2^-71
  • 补码:最小负阶码 -64,最小尾数绝对值 2^-8 → -2^-72

本章重点速记

  • 真值 0 表示唯一:补码、移码
  • 小数定点机只有补码能表示 -1
  • 补码求负:[X]补 取反 + 1;移码 = 补码符号位取反
  • 补码溢出:同号相加变号 / 变形补码两符号位不同
  • 算术右移补符号位
  • 浮点规格化:正 0.1xxx,负 1.0xxx
  • 上溢停机中断,下溢按机器零处理

第六章 指令与寻址方式

本章核心:① 怎么找操作数(寻址 → 算 EA) ② 怎么算指令字长

1. 指令基本组成

指令 = 操作码 + 地址码

  • 操作码:做什么(加/减/跳转...)
  • 地址码:操作数在哪

2. 寻址方式 → 算有效地址 EA

寻址方式EA 公式一句话理解
立即寻址操作数在指令里最快,数据就在指令里
直接寻址EA = D形式地址 D 就是 EA
间接寻址EA = (D)D 单元里装的才是 EA
寄存器寻址数据在寄存器地址码短,速度快
寄存器间接EA = (R)寄存器里装的是地址
基址寻址EA = (BR) + D基址寄存器 + 偏移
变址寻址EA = (IX) + D变址寄存器 + 偏移
相对寻址EA = (PC) + DPC + 位移量

速度排序:立即 > 寄存器 > 直接 > 间接

隐含寻址(ACC)

  • 操作数位置由指令隐含规定,无需显式地址字段
  • 例:单地址指令中第二操作数隐含在 ACC(累加器)
  • 特点:节省地址字段长度,常见于累加器型指令系统

大小端存储

  • 大端:高字节存低地址("大大在上")
  • 小端:低字节存低地址("小小在下")
  • 例:32 位整数 0x12345678 从低地址到高地址
    • 大端:12 34 56 78
    • 小端:78 56 34 12

寄存器-存储器型寻址空间

  • 操作数可来自寄存器存储器
  • 例:ADD R1, M[2000H] —— 一操作数在寄存器 R1,另一操作数在存储器 2000H 单元
  • 寻址空间 = 寄存器数 + 存储单元数
  • 与纯寄存器型 / 纯存储器型指令系统的区别:操作数来源不唯一

3. 相对寻址位移量(高频坑点)

位移量 = 目标地址 − 取完指令后的 PC

例:PC=2009H,2 字节指令,跳转目标 2000H

  • 取完 2 字节:PC = 200BH
  • 位移 = 2000H − 200BH = −0BH

:是"取完指令后"的 PC,不是取指前。

4. 指令格式位数计算

核心公式指令字长 = 操作码位数 + 寻址特征位数 + 地址码位数

项目计算
操作码位数⌈log₂(指令条数)⌉(向上取整)
寻址特征位数⌈log₂(寻址方式种数)⌉
地址码位数log₂(直接寻址范围)

例 1:98 种操作,指令字长 16 位,6 种寻址方式

  • 操作码:⌈log₂ 98⌉ = 7 位;寻址特征:⌈log₂ 6⌉ = 3 位;地址码:16−7−3 = 6 位

例 2:156 条指令,一地址格式,直接寻址 64K 存储单元

  • 操作码:⌈log₂ 156⌉ = 8 位;地址码:log₂ 64K = 16 位;指令字长:8+16 = 24 位

几地址 = 地址字段数:一地址 ×1,二地址 ×2,三地址 ×3

一地址例外:1 个字段 + 1 个隐含 ACC = 2 个操作数

本章重点速记

  • 寻址速度:立即 > 寄存器 > 直接 > 间接
  • 相对寻址位移量 = 目标地址 − 取完指令后的 PC
  • 指令字长 = 操作码 + 寻址特征 + 地址码位数
  • 隐含寻址:操作数隐含在 ACC
  • 大小端:小端 = 低字节存低地址
  • 寄存器-存储器型:寻址空间 = 寄存器数 + 存储单元数

第七章 CPU 的结构和功能

本章核心:① CPU 怎么取指令 ② 流水线公式 ③ 微程序控制器

1. CPU 基本组成

部件作用关键点
ALU算术运算 + 逻辑运算不是指令译码
控制器 CU分析指令 + 发出控制信号控制各部件协调
寄存器组暂存指令/地址/数据在 CPU 内部,速度快
PC下一条指令地址取指时送 MAR
IR当前正在执行的指令从 MDR 送来
MAR主存地址接地址总线
MDR主存数据接数据总线

2. 指令周期数据流

取指周期

PC → MAR → 地址总线 → 主存 → 数据总线 → MDR → IR,同时 PC+1 → PC

步骤说明
PC → MAR待取指令地址送 MAR
MAR → 地址总线 → 主存按地址访问主存
CU 发命令控制主存读出
主存 → 数据总线 → MDR指令送入 MDR
MDR → IR指令送入指令寄存器
PC+1 → PC指向下一条

中断周期

保存断点:断点地址 → MAR → 主存PC → MDR → 主存 最后:中断入口 → PC

取指是读,中断保存断点是写。

3. 中断服务入口地址 → 找法

方法含义
硬件向量法由硬件提供入口地址
软件查询法程序查询中断源

注意:这是入口地址的找法,不是总线仲裁中的"链式查询"等概念。

4. 微程序控制

四级概念

概念含义
微命令最基本控制命令
微指令若干微命令组成
微程序若干微指令组成(实现一条机器指令)
控制存储器存微程序的存储器

微程序存放在控制存储器(ROM)

  • 控制存储器用 ROM 实现,掉电不丢失,开机即可读取
  • 每条机器指令对应一段微程序,存放在控制存储器中
  • 控制器工作时,从 ROM 中读出对应微程序,发出相应控制信号
  • ROM 只读特性保证微程序不会被破坏

微程序控制器 vs 硬布线控制器

特性微程序控制器硬布线控制器
实现方式微程序 + ROM组合逻辑电路
速度较慢(需读 ROM)较快
规整性规整、易修改不规整、难修改
适用CISC 复杂指令RISC 精简指令

5. 指令流水线

核心公式:n 条指令,k 级流水,每阶段 t → 总时间 = (k + n − 1)t

情况公式
不采用流水(每条 2t)2nt
二级流水(k=2)(n + 1)t

例:10 条指令,二级流水 = (2+10−1)t = 11t;不流水 = 20t

6. 地址空间

n 位地址 → 地址空间 = 2^n

例:8 位微型机用 16 位地址 → 2^16 = 65536

:8 位微型机的"8 位"指数据宽度,不是地址位数。

本章重点速记

  • CPU = ALU + CU + 寄存器组
  • 取指:PC → MAR → 主存 → MDR → IR,PC+1
  • 中断:保存 PC → 写主存 → 中断入口 → PC
  • 流水线:n 条 k 级流水 = (k+n-1)t
  • 控制存储器 = ROM,存微程序
  • 硬布线控制器速度更快;微程序控制器更易修改