Article

计算机组成原理-CH0-概览

这是一份基于视频《计组学完还很懵?一幅图带你通关计算机组成原理》整理的深度阅读笔记。本文将视频中的核心架构图拆解为逻辑清晰的文字,帮助你从全局视角掌握计算机组成原理(计组)的核心知识点。

May 3, 2026 修考 8 min read

内容概述

本视频通过一幅高度集成的架构图,将计算机组成原理中看似零散的知识点串联起来。视频首先回顾了计算机的硬件基础(CPU、主存、辅存及缓存),随后重点讲解了三个支撑起计组 80% 核心内容的执行过程:ALU 的运算逻辑指令的执行周期以及虚实地址转换(存储体系)。其核心思想在于解释计算机如何通过多级存储结构解决速度矛盾,以及指令如何在硬件底层流转。


专题分解

1. 计算机硬件基础与存储体系

计算机由五大部件组成,但从现代架构来看,核心在于 CPU 与存储系统的交互。

  • 中央处理器 (CPU):由运算器和控制器组成。需要注意的是,现代计算机已将原本属于主存的 MAR(存储器地址寄存器)MDR(存储器数据寄存器) 集成到了 CPU 内部,以提高访问效率。
  • 存储器的层级与速度矛盾
    • 辅存(Secondary Storage):存放操作系统、游戏(如 GTA)、应用程序(如微信)的地方。其物理操作(磁盘寻道、读取)速度极慢,远跟不上 CPU。
    • 主存(Main Memory):即内存。采用 DRAM(动态随机存取存储器) 制成,利用 MOS 管存储电荷。虽然比辅存快十万倍,但仍比 CPU 运算慢。
    • 高速缓存 (Cache):采用 SRAM(静态随机存取存储器) 制成,底层是双稳态触发器。它的速度是 DRAM 的 10 倍,造价高、容量小,专门用于缓冲 CPU 与主存间的速度差异。
    • 快表 (TLB):同样采用 SRAM 制成,是页表的小型快速副本。

2. 虚拟存储器与分页管理

为了解决“大程序”与“小内存”的矛盾(例如 100G 的游戏如何在 16G 内存中运行),计算机引入了 虚拟存储器(Virtual Memory) 的概念。

  • 核心机制:程序不会一次性全部装入内存,而是“按需调入”。
  • 分页管理:将程序切分为大小相等的“页”,随机存储在主存的空闲位置。
  • 页表 (Page Table):为了记录这些页存放在主存的具体位置,系统创建了页表。由于 CPU 直接访问主存(页表所在地)速度慢,因此引入了 TLB(快表)。CPU 会先查 TLB,查不到再访问主存中的慢页表。

3. 核心过程一:ALU 的运算逻辑(加减法实现)

ALU(算术逻辑单元) 是运算器的核心。视频重点解析了加法器的构造及如何实现减法。

  • 加法器结构:形状类似“裤衩”,有两个输入端。
  • 减法实现原理:计算机硬件不直接做减法,而是将减法转化为加法。
    • 公式:A - B = A + (-B)的补码
    • 多路选择器 (MUX):通过控制信号(sub)选择路径。如果是减法,信号为 1,数据 B 经过非门取反,同时在加法器的进位输入端加 1,从而完成补码转换。
  • 标志位 (Flags):加法器运算后会输出四个核心信号:
    • OF (Overflow):溢出标志。最高位进位与次高位进位进行异或运算得到。
    • SF (Sign):符号标志。反映结果的正负。
    • ZF (Zero):零标志。结果全为 0 时该位为 1。
    • CF (Carry):进位/借位标志。

4. 核心过程二:指令的执行周期

指令执行通常分为四个阶段:取指、间址、执行、中断。视频重点回顾了取指执行

  • 取指阶段 (Fetch)
    1. PC(程序计数器)输出指令地址到 MAR
    2. 主存根据 MAR 的地址,将指令读入 MDR
    3. MDR 将指令送入 IR(指令寄存器)。
    4. IR 将操作码送往 CU(控制单元)进行译码分析。
  • 控制单元 (CU) 设计
    • RISC(精简指令集):通常采用组合逻辑(硬布线)设计。
    • CISC(复杂指令集):通常采用微程序控制设计。
  • 递归(套娃)架构:微程序控制设计实际上是计算机内部的“深度套娃”。它包含 CM(控制存储器)CMARCMDR,其逻辑结构与外部的 CPU-主存模型几乎完全一致。

5. 核心过程三:虚实地址转换(访存全过程)

这是计组中最综合的过程,涉及 CPU 如何通过虚拟地址(VA)找到实际物理地址(PA)并取回数据。

  • 地址拆分:虚拟地址分为 虚拟页号页内地址
  • 转换路径
    1. 查 TLB:用虚拟页号在快表中匹配。命中后取出 物理页号(实页号)
    2. 拼接:物理页号 + 原始页内地址 = 物理地址 (PA)
    3. 查 Cache:物理地址分为 Tag(标记)和块内地址。对比 Cache 行中的 Tag。
    4. 命中处理:若 Cache 命中,直接返回数据。
  • 缺失处理(异常路径)
    • TLB 缺失:去访问主存中的页表。
    • 页表缺失(缺页):产生缺页异常,需要去辅存调入数据。由于速度差距达十万倍,缺页的代价极大。
    • Cache 缺失:去主存中读取整行数据并填入 Cache。

框架与思维模型

1. 速度补偿模型 (Speed Gap Model)

这是理解计算机硬件层级的核心模型。

  • 原理:每一级更快的存储器都是为了缓冲下一级较慢存储器的延迟。
  • 应用:寄存器 -> Cache (SRAM) -> 主存 (DRAM) -> 辅存 (Disk)。

2. 递归/嵌套思维模型 (The Recursive Design Model)

  • 描述:计算机在设计上存在大量的“复用”和“相似性”。
  • 表现:控制器内部的微程序设计(CM/CMAR/CMDR)实际上就是主存系统(Main Memory/MAR/MDR)的微缩版。理解了外部大系统的运作方式,就能理解内部微控制器的逻辑。

3. 需求驱动调入模型 (Demand-Paging Model)

  • 描述:通过“按需调入”和“分页”技术,用逻辑上的复杂换取物理上的灵活性。
  • 应用:虚拟存储技术通过页表实现了小内存运行大程序的可能。

总结

掌握计组的关键不在于死记硬背每个寄存器的名字,而在于理解数据是如何流动的(运算过程)、指令是如何跑起来的(执行过程)以及地址是如何转换的(存储过程)。这三条主线交织在由 SRAM、DRAM、磁盘和 CPU 组成的硬件网络中,共同构成了现代计算机的基石。


计算机组成原理通关导读

一、硬件基石

  • CPU: ALU(加法器) + CU(微程序/硬布线)
  • 存储: Cache(SRAM) -> 主存(DRAM) -> 辅存(Disk)

二、三大核心流程

  1. ALU运算: 加法实现减法 (补码 + MUX)
  2. 指令流转: PC -> MAR -> MDR -> IR -> CU
  3. 地址转换: VA -> TLB -> (Page Table) -> PA -> Cache -> (Main Memory)

三、核心术语速查

  • TLB (Translation Lookaside Buffer): 快表
  • SRAM (Static RAM): 静态随机存取存储器 (用于Cache)
  • DRAM (Dynamic RAM): 动态随机存取存储器 (用于主存)
  • MUX (Multiplexer): 多路选择器