【从与非门到计算机】第一话 逻辑门与加法器
来源:哔哩哔哩    时间:2023-07-08 17:03:37

看到标题,有些人可能会问:只用一种门怎么可能怎么做计算机啊啊啊叠氮你是不是疯掉了啊啊啊啊啊

但是没想到吧,与非门通过组合可以转化成所有逻辑门。


(资料图片)

首先要科普一下数字电路中的重叠律:AA=A,即自己与自己还是自己

非A的符号是,又根据重叠律,,正好是A和A进行与非运算的结果!所以与非门的两个输入连接在一起就是非门。

接着是德·摩根定律和还原律。

还原律指的是,也就是一个数进行两次非运算还是原来的数。所以与门只需要在与非门的基础上添加一个非门即可。原理则很简单:

而德·摩根定律说的是和,于是有,也就是说,在与非门两个输入接上非门就是或门。或非门同理。

而同或门和异或门则需要通过真值表搭建。

这是同或门的真值表:

可以看出,。所以总共需要5个与非门。

异或门就简单了,6个与非门搞定。网上有4个与非门的图,但是有些不太好理解,所以就用6个吧~

所以这样构建逻辑门:

这样就可以快乐地做计算机啦~

加法器

顾名思义,计算机的一个重要的任务就是计算。所以在计算机中有一个结构,叫做ALU,即算术逻辑单元。现在开始构建ALU~

从最简单的加法开始。众所周知,两个1位二进制数相加,结果最多2位。所以一位二进制数加法器有两个输出,分别代表结果的两个位。

如果画出真值表,则是这样子的:

可以发现当前位(也叫本位)就等于A xor B,而进位则等于A and B。于是可以搭建出以下的电路:

我们能够计算一位二进制加法了,那么多位呢?试着用这种加法器计算一下01+11吧!

第一位1+1,向高一位进1,第二位要计算0+1+1……怎么办,半加器只能计算两数相加,三数相加怎么办?这时候就需要给加法器升级了。

三个数相加不会超过两位,所以也只有进位和本位。根据A+B+C=(A+B)+C=A+(B+C),我们只需要两个加法器就好。

为什么要用一个或门呢?你想,A+B+C如果有一个进位,就要输出。但是与C相加的不是A+B,而是(A+B)的本位,那么当A=1,B=1,C=0时就不会输出进位。但现实并非如此,所以A+B有进位时也要输出进位。所以才需要一个或门。

封装起来:

连起来就能用:

在下一话,我们将会讲到补码、负数和减法器的制作。敬请期待!

X 关闭

Copyright ©  2015-2022 每日文化网版权所有  备案号:浙ICP备2022016517号-15   联系邮箱:5 146 761 13 @qq.com