18新利最新登入布尔逻辑是如何工作的

布尔逻辑”width=
布尔逻辑影响计算机是如何运作的。18新利最新登入蒙蒂Rakusen /盖蒂图片社

有没有想过计算机可以做一些类似平衡支票簿,还是18新利最新登入下国际象棋,或拼写检查文档?这些事情,只是几十年前,只有人类能做的。现在电脑做明显缓解。18新利最新登入如何“芯片”由硅和电线的东西似乎需要人类的思想吗?

如果你想了解这个问题的答案在核心,你需要明白的第一件事就是所谓的布尔逻辑。布尔逻辑,最初由乔治·布尔在1800年代中期,可以映射到很多意想不到的事情比特和字节。布尔逻辑的伟大之处是,一旦你熟悉了,布尔逻辑(或者至少部分你需要为了理解计算机的操作)有些简单。在本文中,我们将首先讨论简单的逻辑“盖茨”,然后看到如何把它们变成有用的东西。18新利最新登入

广告

简单的门

非门
和门
或门
或非门

有三、五、七个简单的盖茨,你需要了解,这取决于你想数一数(您将看到为什么一会儿)。18新利最新登入与这些简单的盖茨您可以构建组合,将实现任何你可以想象数字组件。这些门是要在这里似乎有点干,非常简单,但在下面几节中我们将会看到一些有趣的组合,会让他们更鼓舞人心。如果你没有这样做,阅读18新利最新登入比特和字节是如何工作的在继续之前会有帮助。

非门

最简单的门被称为一个“变频器”,或非门。需要一点作为输入,并生成输出它的反面。表的逻辑是:

广告

一个问

0 1

1 0

非门的一个输入一个和一个输出称为(“Q”用于输出,因为如果你使用“O”,你会容易混淆为零)。表显示了门的行为。18新利最新登入当你申请一个0到Q产生一个1。当你申请一个1 Q产生一个0。简单。

和门

和门执行逻辑”和“操作在两个输入,a和B:

B问

0 0 0

0 1 0

1 0 0

1 1 1

一个与门背后的理念是,“如果一个B都是1,那么Q应该1。”You can see that behavior in the logic table for the gate. You read this table row by row, like this:

B问

0 0 0如果是0,B = 0, Q是0。

0 1 0如果是0,B是1,问是0。

1 0 0如果是1,B是0,Q是0

1 1 1如果是1,B是1,问是1。

或门

下一个门或门。它的基本思想是,“如果是1B是1(或两者都是1),然后问是1。”

B问

0 0 0

0 1 1

1 0 1

1 1 1

与非门

这三个基本盖茨(这是一种方法计算)。是很常见的承认两人:与非也不门。这两个门是简单的组合,或一个或门和非门。如果将这两个门,然后计数上升到5。这是NAND和和盖茨的基本操作,你可以看到他们只是反演和或门:

或非门

B问

0 0 1

0 1 0

1 0 0

1 1 0

与非门

B问

0 0 1

0 1 1

1 0 1

1 1 0

最后两门,有时是添加到列表中XORXNOR盖茨,也被称为“异或”和“独家也不是“盖茨,分别。下面是他们的表:

XOR门

B问

0 0 0

0 1 1

1 0 1

1 1 0

XNOR门

B问

0 0 1

0 1 0

1 0 0

1 1 1

XOR门
XNOR门

一个XOR门背后的理念是,“如果一个B是1,但是同时,Q是1。”的reason why XOR might not be included in a list of gates is because you can implement it easily using the original three gates listed.

如果你尝试所有四种不同模式A和B通过电路和跟踪它们,你会发现,问的行为像一个XOR门。由于XOR门容易理解的象征,通常更容易认为XOR“标准门”并使用它以同样的方式,或在电路图。

广告

简单的方案

在这篇文章比特和字节,您了解了二进制加法。在本节中,您将学习如何创建一个电路的二进制使用前一节中描述的大门18新利最新登入。

让我们从一开始一位加法器。假设你有一个项目,您需要添加一位在一起,得到答案。你会设计一个电路,第一看所有的逻辑组合。你可以通过查看以下四个总结:

广告

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

看起来好直到1 + 1。在这种情况下,你有那个讨厌的移位担心的。如果你不关心携带(毕竟,因为这是一个比特加法问题),然后你可以看到,您可以解决这个问题用一个XOR门。但如果你是关心的,那么你可能会改写你总是包含的方程2位的输出像这样:

0 + 0 = 00

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

从这些方程可以形成逻辑表:

1比特加法器和外卖的食物

B问公司

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

通过查看这个表可以看到,您可以实现问XOR门和公司(外卖)和门。简单。

如果您想要添加两个8位字节在一起吗?这变得有点困难。最简单的解决方案是模块化问题可重用组件然后复制组件。在这种情况下,我们只需要创建一个组件:一个满二叉加法器

全加器的区别,我们看着前面加法器是一个完整的加法器接受一个输入+ a和B入库(CI)的输入。一旦我们有了一个完整的加法器,然后我们可以一起字符串其中8个创建一个byte-wide加法器和级联进位位从一个加法器。

在下一节中,我们将看看如何实现一个完整的加法器电路。18新利最新登入

广告

完整的方案

全加器的逻辑表比表我们使用稍微复杂一点,因为现在我们有3输入位。它看起来像这样:

字节全加器的入库和外卖的食物

CI B问有限公司

0 0 0 0 0

广告

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

完整的蛇可以以各种各样的方式来实现。

有许多不同的方式,你可能会实现这个表。我要提出一个方法的好处是容易理解。如果你看看问,你可以看到,前4位的行为像一个XOR门A和B,而底部4位表现得像一个XNOR门关于A和B .同样,前4位的公司表现得像一个和门A和B,和底部4位表现得像一个或门。这些事实,以下电路实现全加器:

这绝对不是最有效的方法来实现一个完整的加法器,但是它非常容易理解和跟踪通过逻辑使用这种方法。如果你有心,看看你能做些什么来实现这个逻辑用更少的大门。

现在我们有一个功能叫做“全面加法器。”What a computer engineer then does is "black-box" it so that he or she can stop worrying about the details of the component. A黑盒为一个完整的加法器看起来像这样:

黑盒,现在容易画4比特全加器:

在这个图中每个位提要的外卖的食物直接入库的第二位。0是根植于初始的入库。如果你输入两个4比特数字A和B线,你会得到4比特和问行,+ 1额外的最后外卖的食物。你可以看到这个链可以扩展你喜欢,通过8、16或32位(如果需要的话)。

我们刚刚创建的4比特加法器称为脉动进位加法器。就这个名字,因为携带部分“脉动”从一个加法器。这个实现简单的优点但是缺点的速度问题。在实际电路中,开关状态盖茨花时间(纳秒的时间,但在高速计算机纳秒)。所以32位或64位脉动进位蛇可能需要100 - 200纳秒解决最终的总和,因为带着涟漪。出于这个原因,工程师创造了更高级的蛇超前进位小蝰蛇。盖茨要求实现超前进位的数量很大,但是加法器的沉淀时间要好得多。

广告

人字拖

最简单的反馈电路使用两个逆变器

比较有趣的一件事你可以做与布尔盖茨是创建内存和他们在一起。如果正确安排盖茨,他们会记得一个输入值。这个简单的概念的基础内存(随机存取存储器)的计算机,也可以创建一个各种各样的其他有用的电路。

记忆依赖于概念反馈。也就是说,门的输出被反馈到输入。最简单的反馈电路使用两个逆变器所示。18新利最新登入

广告

如果你遵循的反馈路径,你可以看到,如果问是1,它永远是1。如果它是0,它永远是0。因为很高兴能够控制电路我们创建,这个没有多大用处,但它确实让你看看反馈是如何工作的。18新利最新登入

事实证明,在“真正的”电路,你可以使用这种简单的逆变器反馈方法。一个更有用的反馈电路使用两个NAND盖茨如下所示:18新利最新登入

这个电路有两个输入(R年代)和两个输出(问的)。由于反馈,其逻辑表有点不同寻常的比先前我们看到的:

R S Q Q”

0 0非法

0 1 1 0

1 0 0 1

1记得

的逻辑表显示的是:18新利最新登入

  • 如果R和S是对立的,然后问遵循年代和Q Q的倒数。
  • 如果两个R和S同时切换到1,然后电路记得以前在R和S。

还有有趣的非法状态。在这种状态下,R和S去0,没有记忆的价值意义。由于非法的国家,你通常添加一点条件逻辑在输入端,以防止它,所示:18新利最新登入

在这个电路中,有两个输入(D和E),你能想到的D“数据”E为“启用”。If E is 1, then Q will follow D. If E changes to 0, however, Q will remember whatever was last seen on D. A circuit that behaves in this way is generally referred to as a触发器

在下一节中,我们将看看j - k触发器。

广告

的j - k触发器

触发器是一个非常常见的形式j - k触发器。目前还不清楚,从历史上看,“j - k”这个名字从何而来,但它通常是在一个黑盒子是这样的:

在这个图中,P代表“预设”,C代表“清楚”Clk代表“时钟”。

广告

j - k触发器可以用来创建和边沿触发门闩,cpu的设计是重要的。

P C Clk J K问的

1 1 1与0 1 0 1 0

1 1 1与0 0 1 0 1

1 1 1与0 1 1切换

1 0 x x x 0 1

0 1 x x x 1 0

下面是桌子说:首先,预设和明确覆盖J, K和时钟。如果预置趋于0,那么Q→1;如果明显趋于0,那么问→0时无论什么J, K和Clk正在做的事情。18新利最新登入然而,如果预设和清晰的都是1,然后J, K和Clk可以操作。的1与0符号意味着当时钟变化从1到0,J和K的值被记住,如果他们是对立的。在下降沿的时钟(从1到0),J和K。18新利最新登入然而,如果J和K碰巧1下降沿,然后简单地问切换。问,从其当前状态变为相反的状态。

现在你可能会问自己:“在这个世界上,好吗?”It turns out that the concept of "edge triggering" is very useful. The fact that J-K flip-flop only "latches" the J-K inputs on a transition from 1 to 0 makes it much more useful as a memory device. J-K flip-flops are also extremely useful in计数器(当得到了广泛应用创建一个数字时钟)。这里的一个例子4比特计数器使用j - k拖鞋:

这种电路的输出是A, B, C和D,他们代表着4比特二进制数。到最左边的触发器的时钟输入信号变化来自1 - 0和1反复(一个振动信号)。柜台将计数low-going边缘它看到了这个信号。即每次输入信号变化从1到0,4比特数由A, B, C和D将增加1。所以计数会从0到15,然后循环回到0。您可以添加尽可能多的信息你想这个计数器和任何你喜欢的。例如,如果你把一个门磁开关,计数器将计数门开启和关闭的次数。如果你把一个光学传感器在路上,柜台可以计算汽车的数量。

另一个使用j - k触发器的创建边沿触发锁存器,如下所示。18新利最新登入

在这个协议中,D的值是“锁住”当钟边从低到高。门闩是设计中非常重要的东西呢中央处理单元(cpu)和在计算机外围设备。

广告

实现盖茨

在前面的部分中我们看到,通过使用非常简单的布尔盖茨,我们可以实现蛇,计数器,门闩等等。这是一个很大的成就,因为不久前人类是唯一能做的事情的人喜欢把两个数字加起来。用一个小工作,不难设计逻辑电路实现减法,乘法,除法……你可以看到,我们不是远离一个袖珍计算器。从那里,它是全面跳不远cpu在电脑使用。

在现实18新利最新登入生活中我们如何实现这些盖茨吗?布尔先生提出了他们在纸上,纸上他们看起来很好。使用它们,但是,我们需要在18新利最新登入现实实现它们,以便积极盖茨可以执行他们的逻辑。一旦我们实现这个跨越,我们沿着道路已经开始向创造真正的计算设备。

广告

理解物理实现的最简单的方法是使用布尔逻辑继电器。事实上,这是第一个计算机是如何实现的18新利最新登入。没有一个实现了计算机与继电器了——今天,人们使用sub-microscopic晶体管蚀刻到硅片上。这些晶体管小而快得令人难以置信,它们消耗很少的功率而继电器。18新利最新登入然而,继电器是非常容易理解的,他们可以实现布尔逻辑很简单。因为简单,您将能够看到,从“盖茨在纸上”映射到“积极盖茨在现实中实现”是可能的,简单。执行相同的映射与晶体管一样容易。

让我们开始一个逆变器。实现一个非门继电器很简单:我们要做的是使用电压来表示状态。我们将定义一个二进制1 6伏,一个二进制0 0伏特(地面)。然后我们将使用一个6伏电池为我们的电路提供能量。我们的非门将因此看起来像这样:

(如果这个数字对你没有任何意义,请阅读18新利最新登入继电器的工作原理一个解释。)

在这个电路中可以看到,如果你应用零伏,那么你得到6伏在问;如果你申请6伏,你得到0伏在问:很容易实现一个逆变器接力!

同样很容易实现一个与门两个继电器:

在这里你可以看到,如果你6伏适用于A和B, Q将有6伏。否则,Q将零伏。这正是我们想要的行为从一个和门。更简单——只是一个或门钩A和B两个连接在一起来创建一个。如果你喜欢你可以得到比这更漂亮的并行和使用两个继电器。

从这个讨论中可以看到,您可以创建三个基本盖茨——不,和或——从继电器。然后您可以钩这些物理盖茨一起使用的逻辑图如上所示创建一个物理8位脉动进位加法器。18新利最新登入如果你使用简单的开关应用A和B输入加法器和钩八问行灯泡,你可以把任意两个数字加起来,阅读灯上的结果(“光”= 1,“灯”= 0)。

布尔逻辑的形式简单的盖茨非常简单。从简单的盖茨可以创建更复杂的功能,如添加。物理实现盖茨是可能的和容易。从这三个事实你有数字革命的核心,你理解,核心,计算机是如何工作的。18新利最新登入

广告

特色

广告

加载……
Baidu