美文网首页
《编码》读书笔记 ——从计算机记忆到计数

《编码》读书笔记 ——从计算机记忆到计数

作者: 纸简书生 | 来源:发表于2018-03-01 18:09 被阅读30次

    这一篇将介绍触发器与反馈器。这是计算机保持记忆的关键,比较难的是计算机如何计数。这篇的电路图多而复杂,越到后面越懵逼。多看几遍,有时候如果看不懂,只要把他的作用记清楚就可以了。反正我是第一遍,第二遍也没看懂,多看了几遍才有感觉。

    振荡器

    不知道读者对小时候念书的上课铃还有印象没,比如本人念小学的时候,上课铃声还是电铃实现的,叮叮叮。这篇我们从电铃开始讲起。

    电铃实现的电路图如下


    此电路中,开关一旦关闭,金属片就会上下跳动。得益于地磁铁的特性,电路会随之连通或者断开。声音也会随之发出。如果把金属片,换成小锤子,旁边放个锣,这就构成了电铃。

    其实可以用反向器简化:


    反向器中的继电器就会在连通和断开这两种状态反复交替。一定要记住,反向器本质就是一个继电器,而继电器将状态取反从而得到另一个状态是需要一点点时间的。

    上面中的电路叫做振荡器,振荡器完全不需要人为的干涉,可以自发地工作。

    当用0和1表示振荡器的输出时,可以用图形形象的表示,并且加上时间轴。就可以看到振荡器在0和1之间按照固有规律进行交替变化。所以振荡器也叫做时钟,通过振荡器进行计数也是一种计时方式。


    用周期和频率来表示振荡器运行速度的快慢。如下图:



    周期是0.05s,频率是1/0.05=20hz。

    反馈和触发器

    之前介绍过或非门,特点就是两端输入都没电压输出才会产生电压。

    如果有如下电路(左边或非门的输出是右边或非门的输入,而右边或非门的输出是左边或非门的输入),这样的连接叫做反馈。


    这个电路非常神奇。

    对于上面的开关:

    • 默认状态下,左边或非门两个输入为0则输出1到右边或非门,右边或非门输入1和0输出0,灯泡不亮
    • 当接通上面的开关,左边或非门输入1和0,则输出0,右边或非门输入0和0 输出1,灯泡亮
    • 这个时候断开上面的开关,左边或非门输入0和1(这个1是来至右边或非门的输出),输出0,右边输入0和0,输出1,灯泡亮

    对于下面的开关:

    • 接着接通下面的开关,左边输入的是0和1,输出0,右边输入1和0,输出0。灯泡不亮
    • 然后断开下面的开关,左边输入0和1,输出0,右边输入0和1,输出0,灯泡不亮。
    • 然后接头下面开关,左边输入0和0,输出1,右边输入1和1,输出0,灯泡不亮

    两个开关都断开,灯泡有时候亮有时候不亮,这和之前的情况完全不同。当两个开关都断开时,有两个稳定状态,这类电路统称为触发器。

    规律:


    触发器可以保持信息,记住某些信息,比如如果灯泡是亮着的,则可以推测最后一次连通的是上面的开关,如果灯泡不亮,则可推测上一次连通的是下面的开关。

    R-S(复位和设置)触发器就是上面介绍的触发器,是最简单的一种



    S对应上面的开关,R对应下面的开关,Q为电路灯泡的输出状态,Q反是对Q的取反。
    下面是输入输出表


    倒数第二行表示的是如果S、R都为0则输出标志位Q和Q反,代表输出保持为S、R同时被设为0的以前的值。

    电路符号



    R-S触发器最突出是他可以记住哪个输入端的最终状态为1。如果能够记忆住特定时间点上的信号,就更好了。

    下面的电路图就实现这个(在R-S触发器中增加两个与门)


    这个电路有两个输入,一个数据端,一个保持位。保持位的作用是使得当前的状态被记住,通常情况下保持为设置为0,这种情况下数据端不会对电路产生影响。当为1的时候,数据端就会被电路系统记住。随后保持为又为0,这时候电路已经记住了数据端的最后一次输入,之后无论数据端输入什么都不会对电路造成影响。

    • 当保持位为0,重置、置位对电路都不会有影响
    • 当保持位位1,就和R-S触发器功能一致。

    如果我们只想要两个输入达到效果的话,需要考虑到之前在讲R-S触发的真值表的时候,同时为1的时候非法,要尽量避免。真正有意义的是S为0,R为1或者R为0,S为1。如果把置位看成是数据端信号,取反看为复位信号(因为有意义的就是S、R互相反),则可以得到下面的电路图。

    • 当输入均为0的时候,输出Q也为0(此时Q反为1)。保持为为0,电路不会受影响
    • 当保持位为1,电路反映了数据端的输入的值,Q的输出和数据端输入一致。
    • 这个时候如果保持位再次为0,则数据端对电路没有影响。数据端上次的数据就被记住了。

    上面这套电路被称作为D(Data)型触发器。所谓的电平触发是指当保持位为某一特定电平比如1,触发器才保存数据端的输入。

    如果把保持位换成最开始将的振荡器也就是时钟,这样就可以指定什么时候保存数据了。


    这个电路有个名字叫做电平触发的D型锁存器,表示电路锁存住一位数据并保持它,以便将来使用,叫做1位存储器。

    锁存器在加法器中使用

    在讲计算机如何实现加法的那篇中,没有讲到如何存储。这里提一下

    下图是一个8位锁存器,每个锁存器包含两个或非门,两个与门和一个反向器。所有的时钟输入端都连在一起。


    他可以一次保存8个数,上面是输入端,下面是输出端,当输入的时钟信号是1的时候,输入端的8位值被送到Q端,当信号再次为0时,8位值将保持不变。直到时钟信号再次被置为1。

    8位锁存器符号


    最终得到下面这个电路



    8位加法器的8个S(求和)输出既和灯泡相连,也和锁存器相连。标记为保存的开关是锁存器的时钟输入,存放加法器的运算记过。2-1选择器决定选择加法器来至锁存器还是来至第二批的开关。闭合代表用锁存器的数据。

    看看选择器的结构(根据输出,决定输出的数据从哪里来)


    • 选择器为1的时候,则或门输出就和B端输入一样;为0就和A端输入一样。

    输出结果


    现在这个加法器不能处理进位输出信号。可以加大加法器、锁存器、选择器的宽度,比如用16位宽度,至少要比可能遇到最大和的位数多一位。

    如何给触发器清零呢,之前可以通过复位来实现,但是有可能我们不能直接控制复位的输入。改进如下



    清零信号总是强制使得Q输出为0,达到清零的目的。

    边沿触发器

    R-S触发器为了是数据端保存在锁存器中,必须把时钟的输入从0变为1,但是当时钟输入为1的时候,输入端数据是可以改变的。但是对于某些应用而言,这样的电平触发器不合适。

    于是有了边沿触发器,边沿触发器只有当时钟从0变为1时,才会引起输出的改变。在边沿触发器中,时钟输入为1数据端的输入也不会改变,仅仅只有在0变为1的瞬间,数据端的输入才会影响输出。

    下面是连接方式(这是怎么发现的?我也不知道):

    不要怕电路麻烦,一步一步分析就明白了

    • 数据输入端为1,因为时钟输入默认为0,经过取反变为1,二级触发器保持不变,因为时钟仍位0,现在把时钟变为1.
    • 变1之后,二级触发器输出改变,使得Q输出变为1。这时候无论数据端如何改变都不会影响Q的输出。
    • 只有在时钟从0变化到1的瞬间Q的输出才会改变。

    有点懵逼,眼睛都看花了

    变化通过箭头↑,



    0变1称为时钟的正跳变,1变0称为负跳变。

    符号如下:



    小三角形表示触发器是边沿触发器。

    分频器与计数器

    之前介绍过振荡器,如果把振荡器与边沿触发器的D触发器的时钟输入端连接,同时Q反输出连接到本身的D端。



    这个触发器很奇特,输出的同时也是自己的输入。

    如果按照顺序实验这个电路,会得到下面的规律



    换一种观察方式


    如果这个振荡器的频率是20hz,那么Q的输出频率是他的一半10hz。正因为如此这个电路称为分频器。分频器之间可以相互连接。



    上面四个Q的变化规律如下



    如果把这些信号标上0和1

    把这个图顺时针旋转90度,每行4个数字。你会有神奇的发现

    这个电路具备了计数的功能,如果电路中添加更多的触发器,则计数范围会更大。每一次正跳变都会使得输出增加1。

    8个触发器连接在一起,构成了一个8位计算器。如下图,这是个8位行波计数器


    变化是再出发起一级一级传递的,所以左后一个触发器的变化肯定会有延迟。现在的先进计数器是并行同步计数器,保证计数器的所有输出是同一时刻的。

    一个计数器的时序图可以将8个输出分别表示出来。


    下面是一个带有预置和清零功能的边缘触发器


    预置和清零信号会覆盖始终和数据的输入

    已经懵逼了,先不慌,后面回来看,先知道他的作用就行了

    电路符号:


    写在最后

    本篇从介绍简单的振荡器开始,到触发器(实现记忆功能),到8位锁存器,再到边沿计数器,再到计数器。从简单到复杂,中间比较难的就是计数器的实现,以后后面的带有预值清零的边沿触发器。如果第一遍看不懂没关系,第二遍,第三遍,实在看不懂就先记住特性。感觉在这条道路上越走越远了。世界太过于神奇。

    扩展阅读

    同步计算器的应用

    相关文章

      网友评论

          本文标题:《编码》读书笔记 ——从计算机记忆到计数

          本文链接:https://www.haomeiwen.com/subject/kllnxftx.html