国庆期间,我造了台计算机( 六 )
其实就是当保持位 0 的时候 , 复位和置位通过与门的输出肯定是 0, 根本影响不到之前的结果 。
但是这样就有三位输入了 , 比较麻烦 。 从上面的观察来看有意义的输入其实是上面开下面关 , 或者上面关下面开 , 所以一定是相反的 。 所以搞个反向器这样就只有两个输入了 。
文章插图
这个叫电平触发的D型触发器 , D表示 Data , 数据的输入 。 电平触发就是当保持位为某一个特定电平时 (例子是 1) , 触发器就会保存数据端的输入值 。
理解了保持位之后 , 我们需要引入时钟(标志为 clk) , 一个有规律的来回变化的时钟 , 当时钟从 1 切换到 0 的时候上一次操作的内容就被保存了 , 所以把保持位的输入替换成时钟输入 。
这样的电路叫做电平触发的D型锁存器 , 它表示电路锁存住一位数据 , 并保持到将来使用 , 它也称之为 1 位存储器 。
有了 1 位存储器 , 那多位存储器就很简单了 , 就是将多个锁存器合在一起 , 如下图是八位锁存器 。
文章插图
这里还需要提一下边沿触发器 , 不同于电平触发器的是 , 边沿触发器是在 0 变成 1 的瞬间记录结果 , 像电平触发器是在 1 的时候 , 每个结果都会被覆盖性地记住 , 在某些场景下边沿触发器的瞬时性更合适 。
电路图如下 , 由两级 R-S 触发器链接而成 , 其实这种电路 , 看得很乱 , 觉得很复杂 , 没事 , 知道结果就行了 。
文章插图
简化的画法如下:
文章插图
然后我们再来看下这个电路:
文章插图
将振荡器的输出作为时钟的输入 , 然后反向 Q 端(上图中下面的Q代表反向Q , 图少了一横)的输入又作为 D 的输入 。
文章插图
出来的波形图是这样的 , 可以看到 Q 的输出频率是时钟的一半 , 所以这种电路称为分频器 。
而分频器的输出又可以是下一个分频器的输入 , 我们再来看下这个图:
文章插图
出来的波形图是这样的:
文章插图
再填上 0 和 1:
文章插图
从 Q3 开始每一列从下往上看 , 是不是 0000、0001、0010.... 这就是计数器 , 把 8 个集成一下放在黑盒中 , 就构成了 8 位的计数器 。
文章插图
当然这个计数器是异步的 , 后面的得等前面的通知 , 比较不准确 , 所以更好的是同步计数器 , 不过比较复杂 , 这里就不介绍了 。
简单组装一下至此我们已经有了加法器、振荡器(时钟)、锁存器(触发器)和计数器 , 接下来我们就开始组装一下它们 。
比如现在我们有一个灯泡 , 想测试一下八个锁存器 , 八个锁存器的话那么需要 3 个开关来表示具体选择哪个锁存器 , 2 的 3 次方等于8 。
文章插图
推荐阅读
- 在家请一个健身教练,要分几个步骤?
- 亚马逊在假日季期间销售了数十亿件产品,全球第三方销售增长50%
- 大一期间在学习C语言之外还想再学习一些专业知识,该如何规划
- 新三年旧三年 国庆帮老伙计的电脑再战三年
- 那么多做互联网的,为啥是阿里搞出了双十一?
- 国庆结束,我决定买特斯拉了
- 未来考研想学习人工智能,本科期间是否需要学习一下Java
- 顺丰香港一司机收派员确诊,工作期间并没有任何不适病征
- COVID-19大流行期间 全球骚扰电话呼叫量仍增长了18%
- 大三期间自学Java如何能持续提升编程能力