美文网首页
《编码》读书笔记 —— 布尔代数与逻辑门

《编码》读书笔记 —— 布尔代数与逻辑门

作者: 纸简书生 | 来源:发表于2018-02-28 16:06 被阅读139次

    在开始正式介绍加法器器之间复习一下要用到的基础知识。方便后面看起来不吃力。

    注意:电路符号截图比较小,居然在简书上显示不出。

    布尔代数

    传统的数学仅仅描述了数字之间的关系。布尔发明了一种代数,看上去和传统代数一样,运算规则也很相似。最大的不同是布尔代数用于描述逻辑,说简单一点就是用来描述大脑如何工作的。

    传统代数中的交换律、结合律、分配率在布尔代数中都成立。在布尔代数中加法还可以分配乘法,这一点与传统代数不同。

    一些规则:

    • +号表示并集,x号表示交集
    • 符号1表示全集
    • 1与减号连用表示全集中排除一些事物。
    • 0表示空集,不包含任何元素

    由于这些符号和传统的数学符号表示的意义不一样,所以就会出现一些莫名奇怪的表达式。比如:

    现在字母去代替并集和交集的概念,比较接近表达式想表达的意思:


    举个通俗易懂的例子(为了说明问题):去相亲,对女方肯定有要求。首先是女的,这个条件用M表示;其次漂不漂亮,这个用B表示;比自己打还是小,用A表示;

    比如你的相亲表达式是:M*B+B*A,表示只要满足以下条件就可以了。

    • 是女的,并且漂亮,大小无所谓;或者漂亮,只要比自己小,是不是女的无所谓。

    字母不仅仅代表集合,这里字母可以用数字来赋值,比如只有数字0和1。1代表满足条件YES,0代表不满足条件No。根本这个规则把上面的相亲表达式替换为0和1的式子:(1*1+1*0)。如果化简结果为1则就符合你的标准。

    结合之前讲的电路知识,把布尔代数和电路相融合。开启了利用二进制计算的计算机篇章。

    逻辑 电路图
    AND
    OR

    逻辑门

    可以运用布尔代数的所有攻击去设计开关电路,同事简化一个描述网络的布尔表达式,也就可以简化响应的电路图。虽然电路中的所有元件在19世纪就已经被发明出来了,但是布尔表达式在电路和使用知道20世纪30年代才被发现。

    现在我们来实现一个选猫的游戏。前面用相亲的例子,现在用选猫一样。

    从左到又开关分别表示。是否公母、是否绝育、后两个表示颜色白黑褐,和其他颜色。

    计算机中,开关是一种输入设备,输入是控制电路如何工作的信息对应到上面,输入就是对应4个二进制数信息,这些信息用来描述一只猫。输出设备就是灯泡,如果开关描述一只符合标准的猫,灯就会亮。最原始的计算机就是这种感觉。

    继电器向开关一样可以并联、串联在电路中执行简单的逻辑任务。这种继电器的组合叫做逻辑门。之前提到过继电器不用人为控制而是通过电路控制,被其他继电器控制。这就意味着一些简单的逻辑门组合起来,可以实现更复杂的功能。比如简单的算数运算。组合非常的神奇

    之前在电报系统中讲到过继电器是为了放大微弱的信号实现强信号的,并且通过电磁铁实现。在这里我们更加关心的是继电器作为电流控制而非认为控制的开关。

    简化继电器先不看回路,单单看继电器,从输入输出开始。


    当电流流经是,电磁铁被触发,得到一个高电压。这里的接电线代表的是公共线路部分。

    继电器的输入不一定是开关、输出也未必灯泡。比如下图:

    连接继电器是建立逻辑门的关键。

    有种继电器叫做双掷继电器。拥有两个输出,但是两个输出在电的极性上是对立的。一端有电压,另一端就没有,是对逻辑NOT的描述。

    将总结如下

    类型 电路图 符号 说明 真值表
    与门(AND) 这个电路图实现了串联一样的效果。只有当两个继电器被触发的时候灯泡才会亮。
    或门(OR) 两个继电器的输出是接在一起,任何一个继电器都能点亮灯泡。
    反向器(NOT) 反向器不是逻辑门(一个逻辑门通常有两个或者多个输入),用于将0(低频)转为1(高频) 取反

    有了上面这三种基本的关系以及电路图,就可以组合成为多种情况。

    • 结合选猫的例子

    开关断开表示公猫,闭合为母猫。



    是否未节育,和上面一样


    表示猫的颜色,
    两个开关都断开表示白色。使用两个反向器和一个与门来标识W。



    第一个开关闭合,第二个断开,表示黑色。一个反向器和与门表示实现。



    同样第二个开关闭合,第一个开关断开表示褐色。一个反向器和与门表示实现。

    两个开关闭合表示其他颜色。

    现在把四个小电路闭合成一个大电路。(黑实心点表示交叉线之间是连接的,没黑实心的点表示仅仅穿过,没有连接)


    这个图有点复杂,是对上面四种电路的合并。如果都断开输出信号W为1,其他都为0,如果第一个闭合,则输出信号B为1其他为0。其他同理。

    上面这个图有个别名,叫做2-4译码器,输入2个二进制,各种组合共表示4个不同的值。输出四个信号,任何时刻只能有一个是1。除此之外还有3-8译码器和4-译码器

    加入现在有个选择猫的表达式为(每个+号赌赢电路中的一个或门,一个x号对应一个与门):

    对应的电路图(注意反向器对应的是(1-W)


    左侧字母从上到下的顺序与他们表达式中出现的顺序一样。

    其他门

    之前将了两种最最简单的们,与门、或门。反向器不算是逻辑门。

    接着上面的图(基于双掷继电器)

    类型 电路图 符号 说明 真值表
    或非门 仅当两个开关都关闭了,灯泡才会亮。也就是都为0才为1。
    表示的结果和或门正好相反
    与非门 与或门连接相似只有当两个开关完全闭合的时候,灯泡才会熄灭,和与门恰好相反

    现在已经有了四个逻辑门和一个反相器。把这些组合在一起其实就是原始的继电器。
    比如:


    这个叫做缓冲器符号如下

    和反相器很类似。他的输入输出一样。适用于在输入信号很弱的时候,这也是电报器使用继电器的原因。另外缓存器还可以用于延迟一个信号。因为继电器需要一点时间(几分之一秒)才会被触发

    接下来继电器将退出介绍,以后电路会用缓冲器、反向器、和四种基本的逻辑门构成。

    注意在与门输入端的小圆圈,这些小圆圈表示在信号哪一点反转。将0(低电平)转换为1(高电平),反之一样。

    两个反向输入的与门和或非门是等价的



    两个反向输入的或门和与非门等价

    一般用摩根定律简化布尔操作数,因此可以用来简化电路。表示如下:


    写在最后

    至此已经把所有的基础准备知识介绍得差不多了。下一篇正式进入加法器的实现。

    相关文章

      网友评论

          本文标题:《编码》读书笔记 —— 布尔代数与逻辑门

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