国庆期间,我造了台计算机 (3)

只有当两个开关都断开的情况下灯泡才会亮,任何一个开关闭合灯泡都会熄灭,这个操作和 OR 操作相反,称之为 NOR 即或非门,简化后的符号比或门多了个小圆圈,代表反向。

国庆期间,我造了台计算机

或者这样,组合着画也一样。

国庆期间,我造了台计算机

然后我们再来看看这种电路,只有两个开关都闭合才会熄灭,这和与门正好相反,称之为 NAND 与非门。

国庆期间,我造了台计算机

简化符号是这样的,也是多了个圆圈:

国庆期间,我造了台计算机

我再总结一下这几个简化图,加深一下印象。

国庆期间,我造了台计算机

二进制加法机

有了上面这几样东西,我们就可以造个二进制加法机,不要小看加法,因为可以用加法来实现减法、乘法、除法等操作。

加法我们知道会得到当前的和、进位这两个信息,例如二进制中 1 + 1,当前和是 0 ,进位 1。

进位 0 1
0   0   0  
1   0   1  

可以看到只有 1 +1 进位 1 ,再仔细看看是不是和 AND 操作很像?只有 1 AND 1 结果才为1 。

AND 0 1
0   0   0  
1   0   1  

我们再来看看当前和的计算

和 0 1
0   0   1  
1   1   0  

大家可以在脑子里面想象下,如果拿 OR 操作来套用的话右下角结果不对,如果是 NAND 操作的话左上角结果不对,所以得两个结合一下,电路图如下。

国庆期间,我造了台计算机

分别通过或门和与非门之后再做与门,出来的结果就是当前和的结果,这个其实就是 XOR 异或门,简化表示就是:

国庆期间,我造了台计算机

所以加法需要通过两个逻辑门,分别是异或门来操作当前和,与门来操作进位,结合起来如下图所示:

国庆期间,我造了台计算机

这其实就是个半加器,简化的图如下所示:

国庆期间,我造了台计算机

那为什么叫半加器?因为只能一位一位的加,而前一位的进位参与不到下一位的计算,如果要加入进位那下一位的运行就是 A 的当前位 + B 的当前位 + A 和 B 之前的进位。

因此需要改装一下,两个半加器合起来再加一个或门。

国庆期间,我造了台计算机

假设 A 输入 1 , B 输入 1, 进位输入 1,从最左边开始第一个半加器 S 输出 0 , CO 输出 1,第二个半加器 S输出 1,CO 输出 0,最终和输出 1,进位输出 1,结果没毛病可行,这叫全加器,简化一下图:

国庆期间,我造了台计算机

全加器有了,咱们得组合起来,并且需要有输入和输出,我们通过开关来输入数字,由灯泡的亮暗显示结果。

国庆期间,我造了台计算机

这就是一个 8 位的计算器,有 9 个灯是因为两个 8 位相加结果可能是 9 位。

然后从最右边开始如下图所示接上全加器,进位接地表示 0 输入

国庆期间,我造了台计算机

中间的都如下接法,前一个的进位输出是下一位的进位输入。

国庆期间,我造了台计算机

最后一个就是把进位输出直接接到第九个灯上就行了。

国庆期间,我造了台计算机

此时你摆动控制面板的开关,就可以通过机器得到相加的结果。简化的画法如下图所示:

国庆期间,我造了台计算机

现在我们已经造出了八位加法器了,如果要 16 位呢?简单合一下就好了。

国庆期间,我造了台计算机

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxdfy.html