布尔逻辑和逻辑门

布尔逻辑和逻辑门

首页休闲益智逻辑门更新时间:2024-08-03

(1) 二进制的原因

机电设备通常用十进制表示数字——比如用齿轮上的齿来表示——到带有可以打开或关闭电流的晶体管的电子计算机。

即使只有两种电力状态,我们也可以表示重要信息。我们称这种表示为二进制——字面意思是“两种状态”,就像自行车有两个轮子或两足动物有两条腿一样。

但是,这正是表示“真”和“假”值所需要的。在计算机中,当电流流动时,“开启”状态代表真实。关闭状态,没有电流流动,代表错误。

我们也可以将二进制写为 1 和 0,而不是真和假——它们只是同一信号的不同表达——但我们将在下一集中讨论更多。现在实际上可以使用晶体管不仅仅是打开和关闭电流,还可以允许不同级别的电流。一些早期的电子计算机是三元的,即三个状态,甚至五元,使用 5 个状态。

问题是,中间状态越多,就越难将它们分开。如果您的智能手机电池开始电量不足,或者由于有人在附近运行微波炉而产生电噪声,则信号可能会混淆……而且随着晶体管每秒改变状态数百万次,这个问题只会变得更糟!因此,将两个信号放置得尽可能远——仅使用“开和关”——为我们提供了最明显的信号,以最大限度地减少这些问题。

计算机使用二进制的另一个原因是已经存在一个专门处理真假值的数学分支。它已经弄清楚了操纵它们的所有必要的规则和操作。它被称为布尔代数。

George Boole 是 1800 年代一位自学成才的英国数学家,后来布尔代数也由此得名。他对表示“低于、高于和超出”亚里士多德的逻辑方法的逻辑陈述很感兴趣,不出所料,这种方法以哲学为基础。

(2)布尔代数和电路实现

在“常规”代数中——你可能在高中学到的类型——变量的值是数字,对这些数字的运算是加法和乘法之类的东西。但是在布尔代数中,变量的值是真假,运算是合乎逻辑的。布尔代数中共有三种基本运算:NOT、AND 和 OR 运算。事实证明这些操作非常有用,因此我们将单独查看它们。

NOT 接受单个布尔值(真或假)并否定它。它翻转真到假,假到真。我们可以写出一个小逻辑表,显示 Input 下的原始值,以及 Output 下应用操作后的结果。

input

output

0(假)

1(真)

1(真)

0(假)

体管实际上只是小型电控开关。它们有三根导线:两根电极和一根控制线。

当你给控制线通电时,它会让电流从一个电极流过晶体管,流到另一个电极。这很像管道上的水龙头——打开水龙头,水流,关闭水龙头,水就关了。您可以将控制线视为输入,将来自底部电极的导线视为输出。对于单个晶体管,我们有一个输入和一个输出。如果我们打开输入,输出也会打开,因为电流可以流过它。如果我们关闭输入,输出也会关闭,电流无法再通过。

或者用布尔值来说,当输入为真时,输出为真。当输入为假时,输出也为假。我们可以再次在逻辑表上显示。这不是一个非常令人兴奋的电路,因为它没有做任何事情——输入和输出是相同的。但是,我们可以稍微修改这个电路来创建一个 NOT。我们可以在之前移动它,而不是在晶体管的末端放置输出线。如果我们打开输入,晶体管允许电流通过它到达“地”,而输出线将不会接收到该电流 - 因此它将关闭。

在我们的水比喻中,接地就像你家里所有的水都从一根巨大的软管中流出,这样你的淋浴就没有任何水压了。所以在这种情况下,如果输入打开,输出关闭。

然而,当我们关闭晶体管时,电流被阻止流到地,相反,电流流过输出线。所以输入将关闭,输出将打开。这与我们的 NOT 逻辑表相匹配,所以恭喜,我们刚刚构建了一个计算 NOT 的电路!我们称它们为非门——我们称它们为门是因为它们控制着我们电流的路径。

NOT电路:当输入为高电平(1,真),三极管导通,输出接地(0,假);当输入为低电平(0,假),三极管断开,输出为高电平(1,真)

AND 布尔运算有两个输入,但仍然只有一个输出。在这种情况下,只有当两个输入都为真时,输出才为真。想想就像说实话一样。如果你不撒一点谎,你就是完全诚实的。

例如,让我们采取以下陈述,“我的名字是Carrie Anne,我穿着一件蓝色连衣裙。”这两个事实都是真实的,所以整个陈述都是真实的。

但是如果我说,“我的名字是凯莉安妮,并且我穿裤子”那是假的,因为我在英国,不穿裤子或者短裤。

Carrie Anne所说部分是真的,一个真和一个假,整体而言仍然是假的。如果我要颠倒那个陈述,它显然仍然是假的,如果我要告诉你两个完整的谎言,这也是假的的,我们可以再次将所有这些组合写在一个表格中。

input1

input2

output

0(假)

0(假)

0(假)

0(假)

1(真)

0(假)

1(真)

0(假)

0(假)

1(真)

1(真)

1(真)

要构建与门,我们需要将两个晶体管连接在一起,这样我们就有了两个输入和一个输出。如果我们只打开晶体管A,电流不会流动,因为电流被晶体管B阻止。或者,如果晶体管B导通,但晶体管A关闭,同样的事情,电流无法通过。只有当晶体管 A 和晶体管 B 导通时,输出线才有电流。

AND电路:当输入都为高电平(1,真),两个三极管导通,电流经过电阻,输出为高电平

最后一个布尔运算是 OR——其中只有一个输入必须为真,输出才为真。例如,我的名字是玛格丽特·汉密尔顿,或者我穿着一件蓝色连衣裙。这是一个真实的陈述,因为虽然不幸的是我不是玛格丽特·汉密尔顿,但我穿着蓝色连衣裙,所以整体陈述是真实的。如果两个事实都为真,则 OR 语句也为真。 OR 语句为假的唯一情况是两个输入都为假。

从晶体管构建或门需要一些额外的电线。我们没有串联两个晶体管——一个接一个——我们将它们并联。我们将电线从电流源连接到两个晶体管。

我们使用这个小弧线来说明电线相互跳过并且没有连接,即使它们看起来像交叉。如果两个晶体管都关断,则阻止电流流向输出,因此输出也关断。现在,如果我们只打开晶体管 A,电流可以流向输出。如果晶体管 A 关闭,但晶体管 B 开启,情况相同。基本上,如果 A OR B 打开,则输出也打开。此外,如果两个晶体管都打开,输出仍然打开。

OR电路:某一个输入为高电平(1,真),则某一个三极管导通,电流通过电阻,输出为高电平(1,真)

好的,现在我们有了 NOT、AND 和 OR 门,我们可以留下组成晶体管并向上移动一个抽象层。工程师用于这些门的标准是一个三角形,一个点代表 NOT,一个 D 代表 AND,一个宇宙飞船代表 OR。这些不是官方名称,但我喜欢这样想。

以这种方式代表它们并考虑它们使我们能够构建更大的组件,同时保持整体复杂性相对相同 - 请记住,晶体管和电线的混乱仍然存在。例如,计算中另一个有用的布尔运算称为 Exclusive OR - 或简称 XOR。 XOR 类似于常规的 OR,但有一个区别:如果两个输入都为真,则 XOR 为假。

只有一个输入为真而另一个输入为假时,XOR 才为真。这就像当你出去吃饭时,你的餐点有一份沙拉或一份汤——遗憾的是,你不能两者兼而有之!(两者都有,意味输入2个真,则XOR输出为假)从晶体管构建它非常令人困惑,但我们可以展示如何从我们的三个基本布尔门创建 XOR。

我们知道我们再次有两个输入——A 和 B——以及一个输出。让我们从 OR 门开始,因为逻辑表看起来几乎与 OR 相同。只有一个问题——当 A 和 B 为真时,逻辑与 OR 不同,我们需要输出“假”。

为此,我们需要添加一些额外的门。如果我们添加一个与门,并且输入为真且为真,则输出为真。这不是我们想要的。

但是如果我们在这之后立即添加一个 NOT 会将其翻转为 false。好的,现在如果我们添加一个最终的 AND 门并将该值与我们原始 OR 门的输出一起发送给它,AND 将接收“false”和“true”,并且由于 AND 需要两个值都为真,它的输出是假的。这是我们逻辑表的第一行。

如果我们处理剩余的输入组合,我们可以看到这个布尔逻辑电路确实实现了异或。 XOR 原来是一个非常有用的组件,我们将在另一集中讨论它,实际上工程师们也给了它自己的符号——一个微笑的 OR 门。

但最重要的是,我们现在可以将 XOR 放入我们的比喻工具箱中,而不必担心构成它的各个逻辑门,或构成这些门的晶体管,或者电子如何流过半导体。向上移动另一个抽象层。

XOR有很多种组合方式,这个方式似乎比视频的简单

当计算机工程师设计处理器时,他们很少在晶体管级别工作,而是使用更大的块,如逻辑门,甚至由逻辑门组成的更大的组件,我们将在未来的剧集中讨论。即使您是一名专业的计算机程序员,您也不会经常考虑您正在编程的逻辑是如何通过这些微小的组件在物理世界中实际实现的。

我们也从考虑原始电信号转移到我们的数据的第一个表示 - 真假 - 我们甚至有点计算的味道。仅使用本集中的逻辑门,我们就可以构建一个评估复杂逻辑语句的机器,例如,如果“姓名是约翰格林,下午 5 点之后,或者是周末,并且在必胜客附近”,那么“约翰会想要披萨”就等于真。有了这个,我饿了,下周见。

输入 :(姓名是约翰)and(下午5点后 or 周末)and(在必胜客附近)

输出:(约翰会想要披萨)

输入的逻辑运算 结果 等于输出:

当输入为CASE 1:姓名是约翰、下午5点后、在必胜客附近,输出为1,意味 约翰会想要披萨

当输入为CASE 2:姓名是约翰、 周末、在必胜客附近,输出为1,意味 约翰会想要披萨

在其它输入情况下,输入为假,意味约翰不想要披萨

也就是说,我们用逻辑门(3个and门和or门)组成电路后,当输入确定后,就可以判断出来约翰是否想要披萨。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved