D触发器
普通的电路,以及常规的逻辑门都有一个共性,那就是输出直接依赖于输入,当输入消失的时候,输入也跟着不存在了。触发器不同,当它触发的时候,输出会发生变化。但是,当输入撤销之后,输出依然能够维持。
这就是说,触发器具有记忆能力。若干年后,当工程师想在计算机中保存一个比特时,他们想到了触发器。不过R-S触发器有两个输出,保存一个比特不需要这么多。
解决的办法是只留下一个输出Q,而Q'废弃不用(把它的引线剪掉)。这样,被保存的比特可以从Q端观察到,或者把它取走,引到别的地方使用。通过它,可以知道当前触发器保存的是什么,是0还是1。
给R-S触发器安排两个门卫——这是两个与门,这两个门卫都归同一个经理管辖,这就是控制端CP:
通常情况下CP=0,意思是现在不想保存数据。这时不管D上是什么,S和R都是0,根据之前R-S触发器的真值表,触发器将保持原有的内容不变。当要改变触发器中保存的内容时,CP的值必须为1,要是D=1,那么S=1而R=0,于是“1”就被保存到触发器里(Q=1)。
换句话说,CP=0时,谁也别想再进入触发器,触发器将一直维持刚才保存的比特不变。一个需要经理亲自护送才能保存比特的触发器称为D触发器。D触发器的符号:
对于D触发器来说,控制端CP就好比是触发器公司的经理,当它出现的时候,才能表明来的人是安全的。不过CP通常是带有有效期的,它的有效期,就是CP=1的时间。当CP=1时,在它的持续时间,D触发器将会卖力工作,随时都会因为外来的比特变化而触发;一旦CP=0,就意味着过了有效期,触发器将不能保存新的比特。
如果从t0时刻开始,D端和CP端各自出现了下图所示的脉冲,那么,在t1时刻,触发器里保存的数据是0。
很明显,在CP=1期间,只要D端的比特改变了,触发器就会随时触发。所以,你一定要把想保存的比特放到D端,稳住,等CP从0变到1,再从1变到0之后才能成功保存。
是否可不用观察CP的状态,我们需要一种新的触发器,它只会在CP脉冲从0变成1,或者从1变成0的瞬间才会触发,这就下面要说的边沿触发。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架