徒手画一个加法器吧

没学过<<数电模电>>,第一次深入的了解到计算机是怎么组成的,感觉非常生气。世界上最好的学习方法就是分享,此次就分享一下怎么徒手画一个加法器吧。emmmm....没画之前也不知道需要多大的地方。直接开始吧。

一、电子管到晶体管

1. 继电器

继电器是一种小电流控制大电路的自动开关。分为控制电路和工作电路,控制电路接通后,电流通过线圈,会在电路的线圈处产生电磁感应,吸附衔铁使右侧的工作电路接通。控制电路电压较低,工作电路电压较高,通过这个继电器装置,就实现了小电流控制大电路的装置。
继电器电路
电流在传输过程中,随着距离越来越长,会衰减的越来越多,此时,就可以通过继电器,放大电流,使得电流传输更远的距离。

2.非门

继电器的作用的间接控制另一个电路的通短。在上面的继电器中,控制电路输入电流,工作电路就会产生电流,工作电路和控制电路状态使同步的。把控制电路看作输入,工作电路看作输出,那么上面的继电器就是输入等于输出的。我们把控制电路标记为A端,工作电路标记为F端。再看另一种继电器。
继电器非门
在这个继电器中,电路结构与之前的基本类似,唯一的区别在于A端未输入电流时,F端的开关是闭合的,是有电流输出的,当A端有电流输入时,F端就会变成开路。此时的继电器,输入和输出相反,我们称此装置为非门。

3.与门

在第一个继电器中,A端的输入直接影响到F端。把门把此继电器进行改造,如下图所示,A端有两个控制电路,控制B端的两个开关的闭合,只有A端的两个电路都有电流时,F端才会有电流。这种串联的电路结构,就是与门。
继电器与门

4.或门

串联为与门,那么并联就是或门了,A端的控制电路中,只要有一个有电流,F端就会有电流。
继电器或门

5.异或门

异或门开始电路就没上面那么简单了,异或门由两个非门,两个与门一个或门组成。要说清楚可能需要去解释数理逻辑和电路之间的关系。更详细的可能还得用到真值表。鉴于我只是想画一画电路图,就不进行细说了。
我们用下面三个图示来表示与门,或门和非门。
门符号
异或是这样的。A和B两个输入,F为输出。只有A和B由一个为真是,F才为真。即A为真并且B为假时F为真,A为假并且B为真时F为真。如果A和B同时为真,则F为假,A和B同时为假,F也为假。
所以F为真,只有两种情况,A为真并且B为假 和 A为假并且B为真

我们用一个电路表示A为真B为假的情况,用另一个电路表示A为假B为真的情况。但是异或门的输入只有A和B,你没办发让输入即有电流,又没电流。所以我们需要把A的输入转换成两部分,一部分还是初始的输入,另一部分通过非门转换成相反的输入。所以A和B输入后通过非门大概是这个样子。
丑陋的电路
本来我因为像这样,画一个丑陋并且难以看懂的电路图,奈何并未真的学过电路。其实继电器左边的电路都是从输入电流到线圈,然后都回到了电源的负极。我们电流的流入方向表示为电流的输入,然后电流的流出表示为接地。继电器右边的电路,都是一个或多个开关,开关的上面为电流信号的输出,下边为右边电路电流的输入,我们用V表示电流的输入。所以上面丑陋的电路图被简化为下面这样。用A和B表示真,!A和!B表示假。
漂亮的简化电路
两面的电路只是一个输入点,我们还需要同样的电路作为另一个输入点。如下图所示,A和B输入转换成了A,!A,B,!B四个输出。然后把A和!B作为一个与门的输入,!A和B作为另一个与门的输入。两个与门的输出,作为一个或门的两个输入。经过或门得到F值。如果把此电路联通。当给A或B任意一个电路输入电流,另一个不输入电流时,F就是有电流输出的。如果A和B同时没电流,或同事有电流。则F没有电流输出。这就是一个完整的异或门。
异或门
异或门或许是最后一个用简化电路画出来的电路图了。后面基本就用门符号来表示4种逻辑门了。因为实在是太复杂了。

6.全加器

一口是吃不了一个胖子的。要画一个加法器,我们得一步一步的画。比如我们要计算5+5等于多少。对于我们人类来说,一眼就能看出5+5是10.在复杂一点的,15+15等于多少。这个时候我们可能需要列一个竖式来计算。计算过程是这样的。5+5得到10,个位得到0,然后向十为进1,然后在计算十位。1+1再加上个位进上来的1,十位的结果为3。所以16+16的结果是30.
但是在计算机的世界里。只有开关的闭合。用数字表示就是0和1.所以计算机的世界都是2进制的数字。15在计算机里面存为1111,1111+1111的过程和十进制类似。二进制从右边往左依次是0位,1位,2位等等。0位的1+1得10,0位为0,向1位进一位,计算1位,1+1再加上进上来的1,得11,1位位1,在向2位进1.依次这样计算得到最后的结果。
所以计算一个大的数字,无论是十进制还是二进制。都是计算被加数,加数的位和进位的和。得到的结果有当前位的结果和进位。所以对一位作加法,我们需要三个输入,2个输出。用A表示被加数,B表示加数,C1表示输入的进位,S表示结果,C0表示输出的进位。有个这3个输入和2个输出我们就可以计算二进制中,任意单个数字位的加法。这种计算单个位加法的电路就是全加器。
全加器示意图
这样一个复杂的逻辑电路,可以分为两个部分。通过A,B,C1得到S和通过A,B,C1得到C0.具体的分析过程需要通过真值表进行归纳。我们用A.B的形式表示A和B相与,可以简化为AB,用A+B的形式表示A和B相或。所以通过A,B,C1使得S为1,有一下四种情况。
!A.!B.C1
!A.B.!C1
A.!B.!C1
A.A.A
通过A,B,C1使得C0为1,有一下四种情况。
!A.B.C1
A.!B.C1
A.B.!C1
A.B.C1
我们把所有所有让S为1的情况作或运算。即四个情况,又一个满足,S就为1.C0同理。可以得到两个公式。
S = !A.!B.C1 + !A.B.!C1 + A.!B.!C1 + A.A.A
C0 = !A.B.C1 + A.!B.C1 + A.B.!C1 + A.B.C1

这样我们就通过A,B,C1三个输入得到了S和C0的值。我们把逻辑表达式转换为电路,就能得到一个全加器了。全加器中的与门有3个输入,或门有4个输入。

全加器电路图br/>整个全加器中用到了3个非门,7个与门,2个或门。整个全加器一共用了32了继电器。当然这是相当复杂的。我门可以通过数理逻辑推导把上面的公式转换成下面的形式。@表示异或
S = A@B@C1
C0 = C1(A@B)+AB
此公式对应的电路图如下所示。
简化全加器
此时的全加器,需要两个与门,2各异或门,1各或门,且都是2各输入的。
与门和或门,每个门需要2个继电器。异或门需要8个继电器,所以一共是22个继电器。
异或门的继电器,其实可以进一步简化为6个继电器。毕竟没学过数电模电,电路图看起来有点吃力,就不画了。
全加器可以计算一个位的加法。如果我们相计算多个位的加法,可以把多个全加器连起来。就成了本文的目标电路:加法器。
加法器

猜你喜欢

转载自blog.51cto.com/xiaofengfeng/2422960