---
title: 《计算机组成原理》章节重点
author: 萑澈
pubDatetime: 2026-07-16T18:30:00+08:00
featured: false
draft: false
printable: true
tags:
  - 计算机组成原理
  - 章节重点
  - 考研重点
description: 《计算机组成原理》章节重点整理，涵盖计算机系统概述、总线、存储器、I/O系统、数据表示与运算、指令系统、CPU结构等内容。
---
## 考查目标

1. 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式，具有完整的计算机系统的整机概念。
2. 理解计算机系统层次化结构概念，熟悉硬件与软件之间的界面，掌握指令集体系结构的基本知识和基本实现方法。
3. 能够运用计算机组成的基本原理和基本方法，对有关计算机硬件系统中的理论和实际问题进行计算、分析，并能对一些基本部件进行简单设计。

---

## 第一章 计算机系统概述

### 计算机发展历程

第一台电子计算机 ENIAC（Electronic Numerical Integrator And Computer）诞生于 1946 年的美国宾夕法尼亚大学。ENIAC 用了 18000 电子管、1500 继电器、重 30 吨、占地 170m²、耗电 140kw、每秒计算 5000 次加法。冯·诺依曼（VanNeumann）首次提出存储程序的概念，将数据和程序一起放在存储器中，保证计算机自动、连续地执行程序。50 多年来，虽然对冯·诺依曼机进行了很多改革，但结构变化不大，仍然称为冯·诺依曼机。

冯·诺依曼计算机的特点是：

- 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成；
- 指令和数据以同等地位存放于存储器内，并可以按地址访问；
- 指令和数据均用二进制表示；
- 指令由操作码、地址码两大部分组成，操作码用来表示操作的性质，地址码用来表示操作数在存储器中的位置；
- 指令在存储器中顺序存放，通常自动顺序取出执行；
- 机器以运算器为中心（原始冯·诺依曼机）。

一般把计算机的发展分为四个阶段：

- 第一代（1946 - 50 年代后期）：电子管计算机时代；
- 第二代（50 年代中期 - 60 年代后期）：晶体管计算机时代；
- 第三代（60 年代中期 - 70 年代前期）：集成电路计算机时代；
- 第四代（70 年代初 - 至今）：大规模集成电路计算机时代。

### 计算机系统层次结构

#### 计算机硬件的基本组成

计算机硬件主要指计算机的实体部分，通常有运算器、控制器、存储器、输入和输出五部分。CPU 是指将运算器和控制器集成到一个电路芯片中。

#### 计算机软件的分类

计算机软件按照面向对象的不同可分两类：

- **系统软件**：用于管理整个计算机系统，合理分配系统资源，确保计算机正常高效地运行，这类软件面向系统。
- **应用软件**：是面向用户根据用户的特殊要求编制的应用程序，这类软件通常实现用户的某类要求。

#### 计算机的工作过程

1. **计算机的工作过程就是执行指令的过程**：指令由操作码和操作数组成，操作码指明本指令完成的操作，地址码指明本指令的操作对象。
2. **指令的存储**：指令按照存储器的地址顺序连续地存放在存储器中。
3. **指令的读取**：为了纪录程序的执行过程，需要一个记录读取指令地址的寄存器，称为指令地址寄存器（程序计数器）。每次读取一条指令之后，程序计数器加一。
4. **执行指令的过程**：在控制器的控制下，完成以下三个阶段任务：
   - 取指令阶段：按照程序计数器取出指令，程序计数器加一
   - 指令译码阶段：分析操作码，决定操作内容，并准备操作数
   - 指令执行阶段：执行操作码所指定内容

### 计算机性能指标

#### 吞吐量、响应时间

- **吞吐量**：单位时间内的数据输出数量。
- **响应时间**：从事件开始到事件结束的时间，也称执行时间。

#### CPU 时钟周期、主频、CPI、CPU 执行时间

- **CPU 时钟周期**：机器主频的倒数，Tc
- **主频**：CPU 工作主时钟的频率，机器主频 Rc
- **CPI**：执行一条指令所需要的平均时钟周期
- **CPU 执行时间**：TCPU = In × CPI × TC

#### MIPS、MFLOPS

- **MIPS**（Million Instructions Per Second）：MIPS = In/(Te × 10⁶) = Rc/(CPI × 10⁶)。只适合评价标量机，不适合评价向量机。
- **MFLOPS**（Million Floating Point Operations Per Second）：MFLOPS = Ifn/(Te × 10⁶)。测量单位比较适合于衡量向量机的性能。

---

## 第二章 总线

### 总线概述

#### 总线的基本概念

总线是连接各个部件的信息传输线，是各个部件共享的传输介质，总线上信息的传送分为串行和并行传输。

#### 总线的分类

1. **片内总线**：芯片内部的总线
2. **系统总线**：计算机各部件之间的信息传输线
   - 数据总线：双向，与机器字长、存储字长有关
   - 地址总线：单向，与存储地址、I/O 地址有关
   - 控制总线：部分出部分入，控制器控制所有部件
3. **通信总线**：用于计算机系统之间或计算机系统与其他系统之间的通信
   - 传输方式：串行通信总线和并行通信总线

#### 总线的组成及性能指标

- 总线的结构分为单总线结构和多总线结构。
- **性能指标**：总线宽度、总线带宽、时钟同步/异步、总线复用、信号线数、总线控制方式、其他（负载能力、电源电压、总线宽度能否扩展等）。

### 总线仲裁

总线仲裁逻辑可分为集中式和分布式两种。

#### 集中仲裁方式

1. **链式查询**：BG 信号沿菊花链串行传送，到达最近的发出请求的设备后不再下传。对电路故障最敏感。
2. **计数器定时查询**：计数器计数值通过地址线发往各设备，匹配的设备对 BS 线置“1”。
3. **独立请求方式**：每个设备有单独的 BRi 和 BGi 信号，由排队电路决定优先级。响应速度最快。

#### 分布仲裁方式

不需要中央仲裁器，各个主设备功能模块都有自己的仲裁号和仲裁电路。将唯一仲裁号发送到共享总线上，获胜的仲裁号保留在总线上。

### 总线操作和定时

#### 操作类型

- 读和写
- 块传送
- 写后读或读后写
- 广播和广集

#### 定时协议

1. **同步定时方式**：所有模块由统一时钟脉冲控制，动作在时钟周期开始产生。
2. **异步定时方式**：应答方式或互锁机制，操作由主设备或从设备的特定信号确定。

### 总线标准

#### 系统总线

- **ISA**：工业标准体系，最早出现的微型计算机总线标准
- **EISA**：扩展工业标准体系，完全兼容 ISA
- **VESA**：视频电子标准协会，已淘汰
- **PCI**：外围设备互联，32 位或 64 位高性能局部总线
- **AGP**：专用于连接主存和图形存储器的视频接口标准

#### 设备总线

- **IDE**：集成驱动电子设备
- **SCSI**：小型计算机系统接口
- **RS-232**：串行通信总线标准
- **USB**：通用串行总线

---

## 第三章 存储器

### 存储器的分类

1. **按存储介质分类**：半导体存储器、磁表面存储器、磁芯存储器、光盘存储器
2. **按存取方式分类**：随机存储器、只读存储器、串行访问存储器
3. **按在计算机中的作用分类**：主存、辅存、缓存

### 存储器的层次化结构

存储器有 3 个重要指标：速度、容量和每位价格。速度越快，位价越高；容量越大，位价越低；容量大，速度就越低。

存储系统层次结构主要体现在**缓存-主存-辅存**两个存储层次上。

### 半导体随机存取存储器

#### SRAM 存储器的工作原理

- 静态存储单元由四到六个晶体管组成（典型为六管）
- 信息为非破坏性读出，不需要重写或刷新
- 结构简单、可靠性高、速度快，但占用元件多、功耗大、集成度不高

#### DRAM 存储器的工作原理

- 常见的有三管式和单管式两种
- 靠电容存储电荷的原理来寄存信息
- 电容电荷一般只能维持 1-2ms，必须在 2ms 内刷新
- 与 SRAM 相比，集成度更高、功耗更低

### 只读存储器

- **ROM（掩模式 ROM）**：制造商写入内容，只能读不能写入
- **PROM（可编程 ROM）**：用户一次性写入，熔丝通断表示信息
- **EPROM（可擦除 PROM）**：浮动栅 MOS 电路保存信息，紫外线擦除
- **E²PROM（电擦除 PROM）**：电擦除，重复改写次数有限（约 10 万次）
- **闪速存储器（Flash Memory）**

### 存储器与 CPU 的连接

包括存储容量的扩展（位扩展、字扩展、字位扩展）和存储器与 CPU 的连接。

#### 习题

用 16K × 16 位的 DRAM 芯片构成 64K × 32 位存储器，需要 8 个芯片。存储器可分为 4 个模块，每个模块 16K × 32 位，各模块通过 A15、A14 进行 2:4 译码器选择。

---

## 第四章 I/O 系统

### I/O 系统基本概念

输入输出系统的发展概况：

1. **早期**：分散连接，CPU 和 I/O 设备串行工作，程序查询方式
2. **接口模块和 DMA 阶段**：总线连接，CPU 和 I/O 设备并行工作，中断方式和 DMA 方式
3. **具有通道结构的阶段**
4. **具有 I/O 处理机的阶段**

### 外部设备

#### 输入设备

- **键盘**：目前应用最普遍的输入设备，标准 101 键
- **鼠标**：机械式（金属球 + 电位器）、光电式（光电转换器）

#### 输出设备

**显示器**：

- 按器件分：CRT、LED、等离子体
- 按显示内容分：字符、图形、图像
- 字符显示：字符发生器
- 图形显示：主观图像
- 图像显示：客观图像，分辨率可达 1024 × 1024 像素

**打印机**：

- 按印字原理分：打击式（点阵式）、非打击式（激光、静电、喷墨）
- 激光打印机：充电→曝光→显影→转印→分离→定影→放电清洁
- 喷墨打印机：连续式和随机式

#### 外存储器

**硬盘存储器**：

- 性能指标：存储密度（道密度、位密度）、存储容量（C = n × k × s）、寻址时间（寻道时间 + 等待时间）、数据传输率（Dr = Db × V）、误码率
- 类型：固定磁头/移动磁头、可换盘/固定盘
- 磁道记录格式：柱面、扇区

**磁盘阵列（RAID）**：

- RAID-0：无冗余无校验的数据分块
- RAID-1：磁盘镜像阵列
- RAID-2：海明纠错码
- RAID-3：奇偶校验冗余，数据位交叉
- RAID-4：独立传送，数据块交叉
- RAID-5：独立传送，数据块交叉，分布式冗余校验

**光盘存储器**：

- 利用激光束烧蚀凹坑存储信息
- 种类：只读光盘、写一次/多次读光盘、可重写光盘
- CD-ROM 扇区结构：同步区（12 字节）+ ID 区（4 字节）+ 数据区（2048 字节）+ 校验区（288 字节）= 2352 字节

### I/O 接口

#### I/O 接口的功能

1. 实现设备的选择
2. 实现数据缓冲达到速度匹配
3. 实现数据串并格式转换
4. 实现电平转换
5. 传送控制命令
6. 反映设备状态（“忙”、“就绪”、“中断请求”）

#### I/O 端口及其编址

1. **专门的 I/O 指令**：如 IN/OUT 指令，由 M/IO# 信号区分
2. **存储器映射 I/O**：从主存地址空间中分出一部分地址作为 I/O 设备端口

### I/O 方式

#### 程序查询方式

CPU 不断查询 I/O 设备是否准备好，CPU 利用率不高。

#### 程序中断方式

**中断响应过程**：

- 中断源提出请求
- 中断判优：查询法（软件）或串行排队链法（硬件）

**中断处理过程**：

1. 关中断
2. 保存断点和现场
3. 判别中断源，转向中断服务程序
4. 开中断（允许中断嵌套）
5. 执行中断服务程序
6. 退出中断（关中断→恢复现场→恢复断点→开中断→返回）

**多重中断与中断屏蔽**：

- 多重中断：中断嵌套
- 中断屏蔽：每个中断源设置中断屏蔽触发器，组成中断屏蔽寄存器

#### DMA 方式

DMA 是 I/O 设备与主存储器之间由硬件组成的直接数据通路。

**DMA 控制器组成**：

1. 主存地址寄存器（MAR）
2. 外围设备地址寄存器（ADR）
3. 字数计数器（WC）
4. 控制与状态寄存器（CSR）
5. 数据缓冲寄存器（DBR）
6. 中断机构

**DMA 传送过程**：

1. DMA 预处理（CPU 执行 I/O 指令初始化）
2. DMA 控制数据交换
3. CPU 中断后处理

**DMA 工作方式**：

- CPU 暂停方式
- CPU 周期窃取方式
- CPU 和 DMA 交替工作方式

#### 通道方式

I/O 通道是代替 CPU 管理控制外设的独立部件，能执行有限 I/O 指令集合。

**通道种类**：

1. **字节多路通道**：分时服务于多台低速设备
2. **选择通道**：每次选择一台高速设备，独占通道
3. **数组多路通道**：结合字节多路和选择通道的特点

---

## 第五章 数据的表示和运算

### 数制与编码

#### 进位计数制及其相互转换

- **基数**：进位计数制中所拥有数字的个数
- **权**：每位数字的值 = 数字 × 所在位置的常数

转换方法：

- 二/八/十六进制 → 十进制：按权展开
- 十进制 → 二进制：整数除 2 取余，小数乘 2 取整
- 二进制 ↔ 八/十六进制：3 位/4 位一组转换

#### 真值和机器数

- **真值**：正负号 + 绝对值
- **机器数**：符号数字化（0 正 1 负）

#### BCD 码

4 位二进制码表示 1 位十进制数。加法修正规则：和 ≤ 9 不需修正；和 ≥ 10 或有进位需加 6 修正。

#### 字符与字符串

- **ASCII 码**：7 位二进制，128 个字符
- **EBCDIC 码**：8 位二进制
- 字符串存放：向量存储法、串表存储法

#### 校验码

- **奇偶校验码**：奇校验/偶校验，码距为 2
- **海明校验码**：加入校验位，满足 2ʳ ≥ k + r + 1
- **CRC 校验码**：M(x)·xʳ 除以生成多项式 G(x) 的余数作为校验码

### 定点数的表示和运算

#### 定点数的表示

1. **无符号数**：字长全部位数表示数值，范围 0 ~ 2ⁿ⁺¹ - 1
2. **带符号数**：
   - **原码**：最高位为符号位（0 正 1 负），数值以绝对值形式给出
   - **补码**：正数同原码，负数为对应正数取反加 1
   - **反码**：正数同原码，负数为对应正数取反

#### 定点数的运算

- **位移运算**：左移绝对值扩大，右移绝对值缩小。算术移位符号位不变。
- **原码加减**：符号位和数值位分别处理，较复杂
- **补码加减**：连同符号位一起相加，进位自然丢掉
  - 加法：[A]补 + [B]补 = [A+B]补
  - 减法：[A]补 - [B]补 = [A]补 + [-B]补
- **溢出判别**：
  1. 同号数相加结果符号与加数不同
  2. 最高位进位 C ≠ 符号位进位 Cf
  3. 双符号位 fs2 ⊕ fs1 = 1

### 浮点数的表示和运算

#### 浮点数的表示

N = M × Rᴱ，R 为基数（一般 2、8 或 16）

**IEEE 754 标准**：

- 单精度（32 位）：1 位符号 + 8 位阶码 + 23 位尾数（实际 24 位，含隐含位 1）
- 双精度（64 位）：1 位符号 + 1 位阶码 + 52 位尾数（实际 53 位，含隐含位 1）
- 阶码采用移码，偏移量 127
- 规格化数：1.M × 2^(E-127)
- 非规格化数：0.M × 2^(-126)

#### 浮点数的加/减运算

1. **对阶**：小阶向大阶看齐
2. **尾数加减**
3. **规格化**
4. **舍入**：0 舍 1 入法
5. **检查阶码溢出**

### 算术逻辑单元 ALU

#### 串行加法器和并行加法器

- **串行进位加法器**：逐级产生进位，速度慢
- **并行进位加法器**：提前进位/先行进位
  - 进位产生函数：Gi = Ai·Bi
  - 进位传递函数：Pi = Ai + Bi
  - Ci = Gi + Pi·Ci-1
- **单级先行进位**：组内并行，组间串行
- **多级先行进位**：组内组间都并行

#### ALU 的功能和结构

- 算术运算部件：加法器、减法器、乘法器、除法器、增量器、减量器
- 逻辑运算：与、或、非、异或、移位
- 通用寄存器组：存取速度最快
- 专用寄存器：IP（PC）、FLAGS

---

## 第六章 指令系统

### 指令格式

#### 指令的基本格式

一条指令包含操作码和地址码：

- **操作码**：表示操作的性质及功能
- **地址码**：指出操作数的地址、操作结果的存储地址、下一条指令的地址

#### 指令的操作码

- 定长操作码：操作码位数固定
- 扩展操作码：操作码位数可变，位数取决于指令条数

---

## 第七章 CPU 的结构和功能

### CPU 的结构

CPU 由运算器、控制器和寄存器组组成。主要寄存器包括：PC、IR、MAR、MDR、AC、状态条件寄存器。

#### 习题

说明 CPU 中的主要寄存器及其功能：

1. **指令寄存器（IR）**：保存当前正在执行的一条指令。
2. **程序计数器（PC）**：确定下一条指令的地址。
3. **地址寄存器（MAR）**：保存当前 CPU 所访问的内存单元的地址。
4. **缓冲数据寄存器（MDR）**：CPU 和内存/外设之间的中转站；补偿速度差；可兼作操作数寄存器。
5. **通用寄存器（AC）**：为 ALU 提供工作区。
6. **状态条件寄存器**：保存条件码及中断、系统状态信息。

说明机器周期、时钟周期、指令周期之间的关系：指令周期包含若干 CPU 周期（机器周期），一个 CPU 周期包含若干时钟周期。

CPU 响应中断的条件：

1. 中断允许触发器开放
2. 中断请求触发器处于“1”状态
3. 外设中断允许触发器为“1”
4. 现行指令结束的最后一个状态周期

### 控制器的功能和工作原理

#### 硬布线控制器

采用组合逻辑电路产生控制信号。

1. **时序与节拍**：每一步由一个机器周期完成
2. **操作码译码器**：指出本指令执行什么操作
3. **操作控制信号的产生**：根据指令和机器周期产生各信号

举例：“+”操作控制信号的逻辑表达式为 “+” = 加法指令·(cy2+cy4) + 减法指令·cy2 + 转移指令·cy2 + …

#### 微程序控制器

**基本概念**：

- **微操作**：最基本的、不可再分的操作
- **微命令**：实现微操作的控制命令
- **微指令**：同时发出的控制信号执行的一组微操作
- **微程序**：微指令序列的集合

**微指令编码方式**：

1. 直接控制法：每一位代表一个微命令
2. 字段直接编译法：互斥微命令编成字段，二进制编码
3. 字段间接编译法：一个字段的微命令兼由另一字段解释

**微地址形成方式**：

- 入口地址：一级转移、多级转移
- 后继地址：增量方式、增量与下址字段结合

### 指令流水线

#### 基本原理

指令取指完成后不等该指令执行完毕即可取下一条指令。把指令过程分成多个子过程，重叠执行。

#### 影响流水线性能的因素

1. **结构相关**：硬件资源满足不了指令重叠执行
2. **数据相关**：后继指令需要前面指令的执行结果
3. **控制相关**：分支指令和其他改变 PC 值的指令

#### 流水线性能

- **吞吐率**：单位时间完成的指令数
- **加速比**：流水线速度 / 非流水线速度
- **效率**：各功能段的利用率

#### 超标量和动态流水线

- **超标量**：集成多条流水线，每个时钟周期可完成多条指令
- **动态流水线**：同一时间将不同功能段连接成不同功能子集
- **多功能流水线** vs **单功能流水线**
- **静态流水线** vs **动态流水线**

---

## 习题答案汇总

### 总线

1. 三种集中式总线控制中，**链式查询**方式对电路故障最敏感。
2. 独立请求方式响应速度最快，链式查询方式对电路故障最敏感。
3. 地址总线信号状态是**单向双态的**。
4. 总线带宽计算：Dr = D × f

### 运算器

1. 算术右移：符号位不变，顺次右移 1 位，最低位移至进位标志位。
2. 补码运算目的：简化运算器的设计。
3. 移码表示阶码好处：便于比较阶码大小。
4. 规格化浮点表示法好处：使浮点表示是唯一的且保留最多的有效数字。
5. 下溢：运算结果的绝对值小于机器所能表示的最小绝对值。
6. 补码运算变为 CFH：算术右移。
7. Booth 补码一位乘法最多需要 **n** 次加法运算。
8. 8 位补码 4 个 1 和 4 个 0 最小值：-112。

### I/O 系统

1. 磁盘驱动器读写数据的基本存取单位为**扇区**。
2. 中断处理过程：设备提出请求→指令结束响应→关中断→保存断点→判别中断源→开中断→执行中断服务→退出中断。

### 控制器

1. 控制器的功能是控制机器各个部件协调一致地工作。
2. RISC 机器一定是流水 CPU。
3. 扩展操作码：最多 14 条一地址指令。
4. 四级流水线：时钟周期取 90 ns；数据相关推迟两个时钟周期（180 ns）。
