进阶 #hardware#logic-gates

SR 锁存器

SR 锁存器(SR Latch)是用两个与非门交叉连接实现的最简单的存储单元

从组合逻辑到时序逻辑

前面的 逻辑门加法器 都属于组合逻辑电路——输出只取决于当前输入,没有记忆能力。就像一台计算器,你按完等号后一松手,结果就消失了。

但计算机需要”记忆”。你打开电脑,操作系统加载进内存,这些数据要一直保存着,直到被新数据覆盖。

锁存器(Latch) 就是存储的起点——它可以记住 1 位数据(0 或 1),直到被新的信号改变。

想象你房间里的电灯开关:按一下开,再按一下关。开关自己”记住”了当前是开还是关——这就是 1 位存储器。

SR 锁存器电路

SR 锁存器由两个与非门交叉连接而成:

graph LR
    S[S] --> NAND_A[NAND A]
    R[R] --> NAND_B[NAND B]
    NAND_A --> Q[Q]
    NAND_B --> Q̅[Q̅]
    NAND_A -.->|反馈| NAND_B
    NAND_B -.->|反馈| NAND_A
  • S(Set,置位):使 Q = 1
  • R(Reset,复位):使 Q = 0
  • Q:存储的值
  • :Q 的取反(用于输出完整性)

状态表

SRQ 的下一个状态
00不允许(无效)
011(置位)
100(复位)
11保持不变

工作原理

  1. S=0, R=1:与非门输出 1,Q 被置为 1(SET)
  2. S=1, R=0:与非门输出 0,Q 被复位为 0(RESET)
  3. S=1, R=1:锁存器保持当前状态不变(存储
  4. S=0, R=0:Q 和 Q̅ 同时为 1,破坏”Q 和 Q̅ 必须相反”的逻辑关系,所以这个输入是不允许的(无效状态)

为什么会出现无效状态?就像你同时对一个开关说”开!“和”关!“——电路不知道该听谁的。SR 锁存器的这个缺陷,会在 D 触发器 中被解决。

从锁存器到寄存器

一个 SR 锁存器只能存储 1 位。将多个锁存器组合,可以构成:

  • D 触发器:增加时钟控制,解决输入约束问题
  • 寄存器:多个触发器并排,实现多位数存储
  • 内存:更大规模的存储阵列

小结

SR 锁存器是最简单的存储单元——只用两个与非门交叉连接,就能”记住”1 位数据。它的 Q 和 Q̅ 双稳态是所有时序逻辑电路的基础。但它有两个问题:(1) 有无效状态(S=0,R=0);(2) 输入变化时立即响应,无法统一控制。下一节将介绍如何用时钟信号解决这些问题——D 触发器