SRAM 单元的核心是一个锁存器(Latch),它有两个稳态(State),用于存储 0 或 1。
SRAM 的基本存储单元通常由 六个晶体管(6T cell) 构成:
结构组成:六个晶体管 (6T Cell)
-
交叉耦合的反相器 (Cross-Coupled Inverters):
-
两个 P-type MOSFET (PMOS) 晶体管 和 。
-
两个 N-type MOSFET (NMOS) 晶体管 和 。
-
这四个晶体管构成两个相互连接的反相器。反相器的输出端连接到另一个反相器的输入端,形成一个双稳态环。
-
这个环路就是实际存储数据的部分,有两个稳定的电压状态,分别代表逻辑 0 和逻辑 1。
-
-
存取晶体管 (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 个数据包)。