Article
计算机组成原理-CH0-概览
这是一份基于视频《计组学完还很懵?一幅图带你通关计算机组成原理》整理的深度阅读笔记。本文将视频中的核心架构图拆解为逻辑清晰的文字,帮助你从全局视角掌握计算机组成原理(计组)的核心知识点。
内容概述
本视频通过一幅高度集成的架构图,将计算机组成原理中看似零散的知识点串联起来。视频首先回顾了计算机的硬件基础(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):
PC(程序计数器)输出指令地址到MAR。- 主存根据
MAR的地址,将指令读入MDR。 MDR将指令送入IR(指令寄存器)。IR将操作码送往CU(控制单元)进行译码分析。
- 控制单元 (CU) 设计:
- RISC(精简指令集):通常采用组合逻辑(硬布线)设计。
- CISC(复杂指令集):通常采用微程序控制设计。
- 递归(套娃)架构:微程序控制设计实际上是计算机内部的“深度套娃”。它包含 CM(控制存储器)、CMAR、CMDR,其逻辑结构与外部的 CPU-主存模型几乎完全一致。
5. 核心过程三:虚实地址转换(访存全过程)
这是计组中最综合的过程,涉及 CPU 如何通过虚拟地址(VA)找到实际物理地址(PA)并取回数据。
- 地址拆分:虚拟地址分为 虚拟页号 和 页内地址。
- 转换路径:
- 查 TLB:用虚拟页号在快表中匹配。命中后取出 物理页号(实页号)。
- 拼接:物理页号 + 原始页内地址 = 物理地址 (PA)。
- 查 Cache:物理地址分为 Tag(标记)和块内地址。对比 Cache 行中的 Tag。
- 命中处理:若 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)
二、三大核心流程
- ALU运算: 加法实现减法 (补码 + MUX)
- 指令流转: PC -> MAR -> MDR -> IR -> CU
- 地址转换: VA -> TLB -> (Page Table) -> PA -> Cache -> (Main Memory)
三、核心术语速查
- TLB (Translation Lookaside Buffer): 快表
- SRAM (Static RAM): 静态随机存取存储器 (用于Cache)
- DRAM (Dynamic RAM): 动态随机存取存储器 (用于主存)
- MUX (Multiplexer): 多路选择器