🧠 内存工作原理 · 全过程动态解析

地址线 / 数据线 / 控制线 → 取指 / 寻址 / 读 / 写,信号级到过程级完整拆解

CPU 与内存之间的三条总线 — 所有操作的物理基础

CPU 和内存之间通过 地址总线 数据总线 控制总线 三组线路通信。 无论取指、读数据、写数据,本质都是在这三组线上发出不同的信号组合。

地址总线(Address Bus)— "去哪里"的问题

CPU 在任何操作之前,必须先通过地址总线发送目标地址。地址线是单向的(CPU→内存), 每根线传输 1 个 bit(0 或 1),32根地址线可寻址 2³² = 4GB 空间。点击下方按钮查看不同位数能寻址多少空间。

数据总线(Data Bus)— "传什么"的问题

数据总线是双向的:读操作时内存→CPU,写操作时 CPU→内存。 数据线的宽度决定了一次能传输多少 bit。64位 CPU 的数据总线有 64 根,一次可传 8 字节。 点击按钮看数据在线流动的过程。

控制总线(Control Bus)— "做什么"的问题

控制线是指挥官。CPU 通过控制线告诉内存:"我要读还是写?"、"数据准备好了吗?"。 核心控制信号包括:
READ# 读信号   WRITE# 写信号   M/IO# 内存/IO选择   READY 就绪信号   CLK 时钟同步

内存阵列(Memory Array)— 地址如何映射到存储单元

内存内部像一个巨大的表格。地址经过行解码器列解码器,定位到具体的存储单元。 点击任意一个单元格,查看地址如何一步步分解为 Bank/Row/Column。

读数据全过程(Memory Read)— 从 CPU 发地址到拿到数据的完整时序

读数据 = CPU 从内存取一个值。过程分 5 步:①CPU发地址 ②CPU拉低READ#信号 ③内存收到后查地址 ④内存把数据放到数据总线 ⑤CPU采样数据。点击"逐步播放"观看每一步的信号变化。

写数据全过程(Memory Write)— 从 CPU 发数据到内存存入的完整时序

写数据 = CPU 往内存存一个值。过程分 5 步:①CPU发地址 ②CPU把数据放到数据总线 ③CPU拉低WRITE#信号 ④内存收到后把数据存到目标单元 ⑤内存拉高READY确认完成。

取指令全过程(Instruction Fetch)— CPU 取下一条要执行的指令

取指 = 读数据的特殊形式。CPU 把 PC(程序计数器)的值作为地址发到地址总线, 内存返回该地址处的机器码(指令)到指令寄存器(IR)。本质上就是一次读操作,但地址来源是 PC 而非通用寄存器。

三种操作对比 — 核心差异一目了然