触发器
复习
- 锁存器能保存一个比特,但使能期间会一直跟随输入
- 时钟为全机提供共同的交接时刻
- 时序图让我们看见信号随时间的变化
TL;DR
- D 触发器只在指定的时钟边沿接收输入
- 边沿之间,无论 D 怎样变化,Q 都保持不动
- 触发器是同步计算机最常用的一位记忆单元
正文
D 锁存器像一扇门:使能为 1 时,门一直开着。我们真正想要的,是只在铃响的一瞬间开门,把门口的数据拉进来,然后立刻关上。
这就是 D 触发器。
只在边沿拍一张照片
假设它在上升沿工作:
时钟上升沿到来:Q ← D
其他所有时间: Q 保持原值
可以把它想成一台相机。D 是镜头前不断变化的景物,时钟上升沿是快门。Q 保存的是按下快门那一刻的画面,而不是整段过程。
例如:
| 上升沿 | 采样时 D | 采样后 Q |
|---|---|---|
| 第 1 次 | 1 | 1 |
| 第 2 次 | 1 | 1 |
| 第 3 次 | 0 | 0 |
在第 1 次与第 2 次之间,D 即使来回变化,Q 仍然保持 1。
它和锁存器差在哪里
- 锁存器在使能的一段时间内开放
- 触发器只在时钟边沿采样
“开放一段时间”和“只开一瞬间”看似差别不大,却让整台机器容易安排得多。所有触发器同时在边沿收下旧结果,随后组合逻辑在下一个周期内计算新结果;等下一次边沿,再一起交接。
除了 D 触发器,还有 JK、T 等类型。它们能方便地完成翻转或计数,但我们的机器用 D 触发器已经足够,暂时不添新零件。
一只触发器只能记一个比特。要保存一个 8 位数,只要把 8 只并排放好。
思考题
为什么边沿触发比“整段时间都开放”的锁存方式更容易组织多步计算?
小结
知识点
- D 触发器在时钟边沿采样
- Q 在两个采样边沿之间保持不变
- 同步电路在边沿交接、在周期内计算
思考题答案(仅供参考)
因为数据只在统一边沿进入下一阶段,各级不会在同一周期里一路穿透。一个周期用来计算,下一个边沿再收下结果,步骤的先后因此清楚可控。
协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
封面图
设计师 | 南国微雪