布尔逻辑和二进制 - 计算机组成原理(三)

计算机为什么使用二进制

上一章我们讲到了,晶体管很好的控制“通”和“断”两种状态,事实上,如果从电压上来看可以有很多种不同的状态,但是由于磁场,电流变化等影响, 太多级别的状态不精准,而只有开关两种状态信号的话,我们能够非常好的区分开他们

而计算机使用二进制还有一个很重要的原因是,有一个专门处理“真”与“假”的数学分支,就是布尔逻辑,由英国数学家乔治布尔提出。

布尔代数

在布尔代数中,有三个基本操作NOT,AND和OR

NOT

故名思意就是将真假取反,我们可以简单的用一个表描述输入输出

INPUTOUPUT
TRUEFALSE
FALSETRUE

而这个逻辑可以非常简单的用晶体管来实现,注意观察下图

下方是地线,如果input通电,上方电流就会接地,output就没有输出了,反之上面电流能从output输出,这就是一个简单的“非门”

AND

与门,是一种且逻辑,只有两个条件都达成,才能输出,还是按照一个输入输出表来描述

INPUT AINPUT BOUTPUT
TRUETRUETRUE
TRUEFALSEFALSE
FALSETRUEFALSE
FALSEFALSEFALSE

它也可以用晶体管来实现,可以看到以下结构,任意A或者B通电,上面电流都不能到OUTPUT输出,只有A和B都通电,上方电流才能通过

OR

或门,两个条件任意一个达成就这一正常输出,还是以一个表格来表示

INPUT AINPUT BOUTPUT
TRUETRUETRUE
TRUEFALSETRUE
FALSETRUETRUE
FALSEFALSEFALSE

使用晶体管的话,如下实现,只有在A和B都是OFF的情况下,才输出OFF,只有AB任意一个ON,输出就可以是ON

抽象

抽象是各个学科当中都使用的一种方法,忽略底层实现,而用一个抽象的概念代表某种逻辑。

后面我们会使用三个符合分别指代非门,与门和或门

接下来就举一个例子

XOR

异或门,它是或门的一个变种,也可以用一个输出输出表来展示,它表示的是只有输入AB信号不一致时,输出TRUE;如果输入AB的信号一致,则输出FALSE

INPUT AINPUT BOUTPUT
TRUETRUEFALSE
TRUEFALSETRUE
FALSETRUETRUE
FALSEFALSEFALSE

用晶体管来完成这个非常复杂,而如果我们用抽象的逻辑门来表示就非常简单了

可以看到用了4个逻辑门来达成了上表异或门的功能

如果此时每次使用异或都要画出来四个逻辑门还是非常复杂,此时可以再次使用抽象的方法将四个逻辑门抽象成一个异或门

上一章:

晶体管 - 计算机组成原理(二)icon-default.png?t=N7T8https://blog.csdn.net/pietian1157/article/details/138000492?spm=1001.2014.3001.5502下一章:

算术逻辑单元-计算机组成原理(四)icon-default.png?t=N7T8https://blog.csdn.net/pietian1157/article/details/138034421?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22138034421%22%2C%22source%22%3A%22pietian1157%22%7D

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jacen.L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值