进阶 #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̅:Q 的取反(用于输出完整性)
状态表
| S | R | Q 的下一个状态 |
|---|---|---|
| 0 | 0 | 不允许(无效) |
| 0 | 1 | 1(置位) |
| 1 | 0 | 0(复位) |
| 1 | 1 | 保持不变 |
工作原理
- S=0, R=1:与非门输出 1,Q 被置为 1(SET)
- S=1, R=0:与非门输出 0,Q 被复位为 0(RESET)
- S=1, R=1:锁存器保持当前状态不变(存储)
- S=0, R=0:Q 和 Q̅ 同时为 1,破坏”Q 和 Q̅ 必须相反”的逻辑关系,所以这个输入是不允许的(无效状态)。
为什么会出现无效状态?就像你同时对一个开关说”开!“和”关!“——电路不知道该听谁的。SR 锁存器的这个缺陷,会在 D 触发器 中被解决。
从锁存器到寄存器
一个 SR 锁存器只能存储 1 位。将多个锁存器组合,可以构成:
小结
SR 锁存器是最简单的存储单元——只用两个与非门交叉连接,就能”记住”1 位数据。它的 Q 和 Q̅ 双稳态是所有时序逻辑电路的基础。但它有两个问题:(1) 有无效状态(S=0,R=0);(2) 输入变化时立即响应,无法统一控制。下一节将介绍如何用时钟信号解决这些问题——D 触发器。