06 寄存器&内存(Registers and RAM)

203 阅读3分钟

6. 寄存器 & 内存-Registers and RAM_BiliBili_哔哩哔哩_bilibili

1. 简介

在第 06 集中,视频主要介绍了计算机中的寄存器(Registers)和内存(RAM)的工作原理。通过从基本逻辑门开始,一步步构建存储单元,最终实现一个可以实际操作的存储模块。

2. 简单存储器的构建

2.1 逻辑门回到输入

视频开始展示了通过逻辑门构建简单存储器。通过使用基本的 OR 门和 AND 门,并将输出反馈到输入,可以实现简单的状态保存。

2.1.1 OR 门回路

  • 起始状态:两个输入都为 0,输出为 0。
  • 若将其中一个输入设为 1,输出变为 1,并保持这个状态,即使输入恢复为 0,输出仍为 1。

OR 门回路

2.1.2 AND 门回路

  • 起始状态:两个输入都为 1,输出为 1。
  • 若将其中一个输入设为 0,输出变为 0,并保持这个状态,即使输入恢复为 1,输出仍为 0。

AND 门回路

2.2 AND-OR 锁存器

将 OR 门和 AND 门的两个电路组合起来构建了 AND-OR 锁存器,可以实现记录 0 和 1 的功能。设有两个输入,分别为“设置”(Set)和“复位”(Reset)。

AND-OR 锁存器

2.3 Gated Latch(门锁)

为了更便于操作,引入了 Gated Latch,通过添加额外的逻辑门,可以实现单条数据线的输入,以及“允许写入”(Write Enable)信号线的控制。

Gated Latch(门锁)

如果进一步抽象,就变成了这样:

抽象的 Gated Latch(门锁)

测试显示,可以通过启用信号线和数据线来写入和保存数据。

3. 扩展到多位寄存器

3.1 寄存器的构建

将多个 1 位的锁存器并排,可以构成一个存储多位数值的寄存器。早期计算机通常使用 8 位、16 位、32 位寄存器,现在许多计算机已经使用 64 位寄存器。

8 位寄存器

3.2 矩阵排列

为了节省信号线,将锁存器排列成矩阵结构。通过行和列的共同控制,激活特定的锁存器。

16 * 16 门锁矩阵

被选中的锁存器

这样的 256 位内存只需要 35 条线,包括 1 条数据线、1 条允许写入线、1 条允许读取线和 32 条(16 行和 16 列)锁存器选择线。

3.3 多路复用器

利用多路复用器(Multiplexer)可以有效地选择具体的行和列地址,从而访问特定的存储位置。

多路复用器

4. 构建 256 字节的内存模块

这是一个 256 位内存模块:

一个 256 位内存模块

将 8 个 256 位内存模块并排,构成的 256 字节内存模块,每个地址存储 8 位值。通过统一地址输入和控制信号,实现对存储数据的读写操作。

8 个并排的 256 为内存模块

抽象为一个可寻址内存

5. 现代内存的扩展

5.1 随机存取存储器(RAM)

现代计算机内存通过不断打包更大规模的存储单元,扩展到兆字节(MB)和千兆字节(GB)的规模。计算机内存提供随机访问的特性,因此称为 RAM。

5.2 内存模块示例

展示了一根实际的 RAM 模块,包括其内部的结构和数据存储方式。视频解释了不同类型的 RAM,如 DRAM、Flash memory 和 NVRAM,尽管实现方式不同,但本质上都存储大量信息。

焊了 8 个内存模块的内存

不断放大后可以看到一个矩阵

6. 总结

  • 使用 OR 门和 AND 门反馈构建基本存储电路。
  • 通过 Gated Latch 实现单位数据的写入和保存。
  • 利用矩阵排列和多路复用器高效管理多位内存。
  • 现代 RAM 可以扩展到兆字节和千兆字节,提供随机存取特性。