SRAM 单元的核心是一个锁存器(Latch),它有两个稳态(State),用于存储 0 或 1。

SRAM 的基本存储单元通常由 六个晶体管(6T cell) 构成:

结构组成:六个晶体管 (6T Cell)

  1. 交叉耦合的反相器 (Cross-Coupled Inverters):

    • 两个 P-type MOSFET (PMOS) 晶体管

    • 两个 N-type MOSFET (NMOS) 晶体管

    • 这四个晶体管构成两个相互连接的反相器。反相器的输出端连接到另一个反相器的输入端,形成一个双稳态环

    • 这个环路就是实际存储数据的部分,有两个稳定的电压状态,分别代表逻辑 0 和逻辑 1。

  2. 存取晶体管 (Access Transistors):

    • 两个 N-type MOSFET (NMOS) 晶体管

    • 这两个晶体管连接到位线(Bit Line, BL 和 字线(Word Line, WL)。它们作为开关,用于在读/写操作时控制存储单元与位线的连接。

突发模式

1. 为什么能这样做?

基于**“局部性原理 (Spatial Locality)”**。 当 CPU 读取内存地址 A 的数据时,它极大概率接下来会用到地址 A+1, A+2 的数据(比如读取数组、顺序执行指令)。既然大概率要用,不如一次性全拿过来。

2. 硬件是怎么实现的?

SDRAM 芯片内部有一个 列地址计数器 (Column Address Counter)

  • 当 CPU 给定起始列地址(比如 Col 0)后。

  • 在下一个时钟周期,这个计数器自动 +1(变成 Col 1),再下一个周期自动再 +1(变成 Col 2)。

  • 这样就不需要外部总线再传输地址信号了,省去了建立地址的时间。

3. 突发长度 (Burst Length, BL)

这是一次突发传输能传送的数据数量。

  • BL 是可以通过模式寄存器 (Mode Register) 编程设定的。

  • 常见的长度有:1, 2, 4, 8,或者 全页 (Full Page)

  • 现在主流的 DDR 内存通常默认 BL=8(一次读写 8 个数据包)。