跳转至内容

计算机硬件基础:逻辑门

来自 Wikibooks,开放书籍,开放世界

试卷 2 - ⇑ 计算机系统基础 ⇑

← 程序翻译器类型 逻辑门 布尔门组合 →


1854 年,英国数学家 乔治·布尔 开发了布尔代数。与使用数字的代数不同,布尔代数使用真值,即 **真** (1) 和 **假** (0)。通过使用真值定义句子并对这些真值执行运算,您可以计算出复杂语句的总体结论。布尔代数对计算机科学产生了巨大影响,计算机理解的语言是一种 1 和 0 的语言,即布尔语言。

0 0 0 0
1 0 0 1
0 1 0 1
1 1 1 1
0 1
1 0
布尔代数在真值表中的示例

逻辑门是执行布尔输入运算的硬件部件,使我们能够使用抽象的布尔代数创建复杂设备。逻辑门是硬件的基本构建块,处理器将由数十亿个逻辑门组成。逻辑门通常有一个或两个输入,在下面的示例中,它们由 A 和 B 定义。你需要了解六种类型的门

非门(NOT)

[编辑 | 编辑源代码]
非门只有一个输入和一个输出

非门 始终输出与输入相反的值,例如 1(非门)0。非门接收一个布尔输入并将其翻转。可以进行双重否定。这将反转原始否定。符号将在其上有一个额外的横线。

在布尔代数中,我们通过在字母 () 或字母 () 上方放置横线来编写 非门 符号。

以下是工作中的非门的示例
  • 非(不下雨) = 下雨

总而言之,这是一个显示 A 和 之间关系的真值表

A
0 1
1 0

与门(AND) (.)

[编辑 | 编辑源代码]
与门接收两个输入并将它们组合成一个输出

与门 将组合两个输入的布尔值(可以获得两个以上的输入,但我们不需要了解这里那种类型的门)。当且仅当 **两个输入都为真** 时,它才会输出真。如果任何输入为假,它将输出假。

在布尔代数中,我们通过在两个 () 或更多 () 值之间放置一个点来编写 与门 符号。

以下是工作中的与门的示例
  • 六大于四,猫大于沙鼠 = 真

记住 AND 门工作原理的一个简单方法是把它想象成一个点亮灯泡的电路。如果两个开关都打开,灯泡就会亮;如果任何一个开关关闭,灯泡就不会亮。

与 AND 门等效的电路图

总结一下,下面是一个真值表,显示了两个输入 A 和 B 的所有不同值以及将这些值 AND 运算后的结果。

A B A.B
0 0
0
0 1
0
1 0
0
1 1
1

OR (+)

[edit | edit source]
OR 门接受两个输入并将其组合成一个输出。

OR 门将组合两个输入的布尔值。如果一个或多个输入为真,则输出为真。如果两个输入都为假,则输出为假。

在布尔代数中,我们通过在两个 () 或多个 () 值之间放置一个加号来表示 OR 符号。

以下是一些 OR 门工作示例:
  • 人类有两条腿 OR 大象有 8 条腿 = TRUE

记住 OR 门工作原理的一个简单方法是把它想象成一个点亮灯泡的电路。如果一个或多个开关打开,灯泡就会亮;如果两个开关都关闭,灯泡就不会亮。

与 OR 门等效的电路图

总结一下,下面是一个真值表,显示了两个输入 A 和 B 的所有不同值以及将这些值 OR 运算后的结果。

A B A+B
0 0
0
0 1
1
1 0
1
1 1
1

XOR ()

[edit | edit source]
XOR 门接受两个输入并将其组合成一个输出。

异或,XOR,门将组合两个输入的布尔值。如果只有一个输入为真,则输出为真。如果两个输入都为假或两个输入都为真,则输出为假。

在布尔代数中,我们通过在两个 () 或多个 () 值之间放置一个带圆圈的加号来表示 XOR 符号。

以下是一些 XOR 门工作示例:
  • 在下雨 XOR 不下雨 = TRUE

为了总结,这里是一个真值表,显示了两个输入 A 和 B 的所有不同值以及将这些值异或在一起的结果

A B
0 0
0
0 1
1
1 0
1
1 1
0

与非门(NAND)

[edit | edit source]
一个与非门接收两个输入,并将它们组合成一个输出

一个与非门将组合两个输入的布尔值,将它们与在一起,然后对结果取反。如果一个或更少输入为真,那么输出将为真。如果两个输入都为真,那么输出将为假。要绘制一个与非门,您需要绘制一个与门并在前面添加一个圆圈,如上所示。

在布尔代数中,我们通过取一个与方程并对结果取反来写一个与非符号 ().

以下是一些与非门工作的示例
  • (A=A) 与非 (A<>B) = TRUE

为了总结,这里是一个真值表,显示了两个输入 A 和 B 的所有不同值以及将这些值与非在一起的结果

A B
0 0 0
1
0 1 0
1
1 0 0
1
1 1 1
0

或非门(NOR)

[edit | edit source]
一个或非门接收两个输入,并将它们组合成一个输出

一个或非门将组合两个输入的布尔值,将它们或在一起,然后对结果取反。如果没有输入为真,那么输出将为真。如果一个或两个输入为真,那么结果将为假。要绘制一个或非门,您需要绘制一个或门并在前面添加一个圆圈,如上所示。

在布尔代数中,我们通过取一个或方程并对结果取反来写一个或非符号 ().

以下是一些或非门工作的示例
  • (A=A) 或非 (A<>B) = FALSE
A B
0 0 0
1
0 1 1
0
1 0 1
0
1 1 1
0


练习:逻辑门

给出或语句的符号和门图

答案

+

给出与语句的符号和门图

答案

.

给出异或语句的符号和门图

答案

给出以下方程的答案

真与真

答案

真 + 假

答案

真 + 真

答案

答案

非(真) . 真

答案

答案

画一个与非门和真值表

答案

A B
0 0 0
1
0 1 0
1
1 0 0
1
1 1 1
0

完成下表

名称 与非门(NAND) 或非门(NOR) 与门(AND) 非门(NOT) 或门(OR) 异或门(XOR)
符号
真值表

答案

名称 与非门(NAND) 或非门(NOR) 与门(AND) 非门(NOT) 或门(OR) 异或门(XOR)
符号
真值表
A B
0 0 0
1
0 1 0
1
1 0 0
1
1 1 1
0
A B
0 0 0
1
0 1 1
0
1 0 1
0
1 1 1
0
A B A.B
0 0
0
0 1
0
1 0
0
1 1
1
A
0 1
1 0
A B A+B
0 0
0
0 1
1
1 0
1
1 1
1
A B
0 0
0
0 1
1
1 0
1
1 1
0
华夏公益教科书