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。
2.1.2 AND 门回路
- 起始状态:两个输入都为 1,输出为 1。
- 若将其中一个输入设为 0,输出变为 0,并保持这个状态,即使输入恢复为 1,输出仍为 0。
2.2 AND-OR 锁存器
将 OR 门和 AND 门的两个电路组合起来构建了 AND-OR 锁存器,可以实现记录 0 和 1 的功能。设有两个输入,分别为“设置”(Set)和“复位”(Reset)。
2.3 Gated Latch(门锁)
为了更便于操作,引入了 Gated Latch,通过添加额外的逻辑门,可以实现单条数据线的输入,以及“允许写入”(Write Enable)信号线的控制。
如果进一步抽象,就变成了这样:
测试显示,可以通过启用信号线和数据线来写入和保存数据。
3. 扩展到多位寄存器
3.1 寄存器的构建
将多个 1 位的锁存器并排,可以构成一个存储多位数值的寄存器。早期计算机通常使用 8 位、16 位、32 位寄存器,现在许多计算机已经使用 64 位寄存器。
3.2 矩阵排列
为了节省信号线,将锁存器排列成矩阵结构。通过行和列的共同控制,激活特定的锁存器。
这样的 256 位内存只需要 35 条线,包括 1 条数据线、1 条允许写入线、1 条允许读取线和 32 条(16 行和 16 列)锁存器选择线。
3.3 多路复用器
利用多路复用器(Multiplexer)可以有效地选择具体的行和列地址,从而访问特定的存储位置。
4. 构建 256 字节的内存模块
这是一个 256 位内存模块:
将 8 个 256 位内存模块并排,构成的 256 字节内存模块,每个地址存储 8 位值。通过统一地址输入和控制信号,实现对存储数据的读写操作。
5. 现代内存的扩展
5.1 随机存取存储器(RAM)
现代计算机内存通过不断打包更大规模的存储单元,扩展到兆字节(MB)和千兆字节(GB)的规模。计算机内存提供随机访问的特性,因此称为 RAM。
5.2 内存模块示例
展示了一根实际的 RAM 模块,包括其内部的结构和数据存储方式。视频解释了不同类型的 RAM,如 DRAM、Flash memory 和 NVRAM,尽管实现方式不同,但本质上都存储大量信息。
6. 总结
- 使用 OR 门和 AND 门反馈构建基本存储电路。
- 通过 Gated Latch 实现单位数据的写入和保存。
- 利用矩阵排列和多路复用器高效管理多位内存。
- 现代 RAM 可以扩展到兆字节和千兆字节,提供随机存取特性。