记忆体是电脑中用于暂时储存资料的基本硬体,让中央处理器(CPU)能够快速存取和处理资料。它是电脑系统运作的核心,影响着整个系统的效能。

记忆体类型

主记忆体(Main Memory)

主记忆体又称为 RAM(Random Access Memory),是一种挥发性记忆体,需要电力才能维持资料(所以主机如果突然断电,你开启的分页和辛苦打的报告会不见,除非有自动存档)。主要用于暂时储存正在执行的程式和资料,以便 CPU 快速存取。

辅助记忆体(Auxiliary Memory)

辅助记忆体也称为外部储存或次要储存装置,如硬盘、USB 随身盘等。非挥发性,断电后仍能保留资料,但速度较慢。

  • SRAM(静态随机存取记忆体): 比 DRAM 更快但成本较高,一般用于高速缓冲区域。
  • ROM(唯读记忆体): 非挥发性,用于保存启动程序等基本资讯。
  • 快闪记忆体(Flash): 是一种非挥发性储存技术,主要用于资料储存和传输。被广泛应用在 USB 随身盘、记忆卡、固态硬盘(SSD)等设备中。

我之后有时间会专门介绍sram,在讲 SRAM 之前,先介绍 Latch 和 Flip Flop(学过数位逻辑设计的应该不陌生)。

SR Latch 和 Flip Flop 是 Sequential Circuit 的基本记忆电路,可以将逻辑运算完后的结果存起来。

SR Latch

SR Latch 由两个 NOR 或两个 NAND 组成。

Q、Q_ 是两个相反的状态:

  • 当 S=1, R=0 时(Set):
    • 下面的 NOR 不管 Q 的值为何,输出一定为 0(Q_=0)。
    • 上面的 0 和 0 NOR 结果为 1(Q=1)。
  • 当 R=1, S=0 时(Reset):
    • 强制 Q=0,Q_=1。
  • 当 S=0, R=0 时:
    • 状态维持不变(将之前的值锁住)。
  • 当 S=1, R=1 时:
    • 不允许(Invalid 或 Illegal State)。

下面的 NAND 大家可以自己想想看,为什么其 Function Table 会长那样。

D Flip Flop

D 是指 Data 输出只有在波形改变的瞬间(Edge Trigger)才会更新值。

  • Clk(Clock) 是一个规律的方波,目的是让 Sequential Circuit 里的逻辑运算同步。
  • 当 Rising Edge(正缘) 来时,Q 的值就会更新成 D 的值,并保持一个周期不变,在下次 Rising Edge 来时才会改变。
  • 当 Clock 正缘时才触发 Flip Flop,Clk=1 或 Clk=0 时,值是不会变的。

参考资料

  • 泛科学 - 记忆体
  • All About Circuits - S-R Latch
  • JavaTpoint - D Flip Flop
  • Latches and Flip-Flops