03 布尔逻辑和逻辑门(Boolean Logic & Logic Gates)

289 阅读4分钟

3. 布尔逻辑 和 逻辑门-Boolean Logic & Logic Gates_哔哩哔哩_bilibili

1. 简介

在第 03 集中,视频详细讲解了布尔逻辑和逻辑门。其核心内容涉及二进制、布尔代数以及基本的逻辑门(NOT、AND、OR 和 XOR)。通过对这些概念的介绍,观众能够理解计算机底层如何通过简单的电子元件实现复杂的逻辑运算。

2. 什么是二进制

2.1 计算机的发展历史

在前几集的内容中,我们了解到了早期的计算机是机电设备,通常使用十进制计数,如通过齿轮数代表十进制。随着技术的进步,计算机逐渐演变为基于晶体管的电子计算机。

2.2 二进制的基本概念

二进制是一种只使用两种状态(开和关)来表示信息的计数系统。在电子元件中,电路闭合(有电流通过)代表“真”(true),电路断开(无电流通过)代表“假”(false)。二进制也可以用 0 和 1 表示。

3. 为什么使用二进制

3.1 简单易区分的信号

虽然早期的一些计算机采用了三进制甚至五进制,但随着状态的增多,信号的区分变得更加困难,容易产生信号交叠的情况。二进制通过使用最简单的“开”和“关”信号,有效地减少了这种问题。

3.2 布尔代数的支持

二进制的另一个重要原因在于已有的数学分支——布尔代数。布尔代数专门处理“真”和“假”的逻辑问题,已解决了所有法则和符号操作的问题。这为计算机科学的发展奠定了坚实的理论基础。

4. 布尔代数及基本逻辑门单元

4.1 布尔代数的基本运算

在布尔代数中,变量的值是“真”和“假”,操作包括非(NOT)、与(AND)、或(OR)和异或(XOR)。

  1. 非(NOT):输出与输入相反,输入真,输出假,反之亦然。
  2. 与(AND):两个输入都为真时,输出才为真;若有一个为假,则输出为假。
  3. 或(OR):只要两个输入中有一个为真,输出就为真。
  4. 异或(XOR):两个输入相异时输出为真,两个输入相同时输出为假。

4.2 使用晶体管构建基本逻辑门

我们通过以下方式用晶体管来实现这些基本逻辑门:

4.2.1 NOT 门

使用单个晶体管实现。当输入为真时,输出为假,反之亦然。

INPUTOUTPUT
TRUEFALSE
FALSETRUE

用晶体管构建的 NOT 门

4.2.2 AND 门

使用两个串联的晶体管。当两个输入都为真时,输出才为真。

INPUT AINPUT BOUTPUT
TRUETRUETRUE
TRUEFALSEFALSE
FALSETRUEFALSE
FALSEFALSEFALSE

用晶体管构建的 AND 门

4.2.3 OR 门

使用两个并联的晶体管。只要有一个输入为真,输出就为真。

INPUT AINPUT BOUTPUT
TRUETRUETRUE
TRUEFALSETRUE
FALSETRUETRUE
FALSEFALSEFALSE

用晶体管构建的 OR 门

4.2.4 XOR 门

XOR 门可以由多个基本逻辑门通过组合实现。其逻辑是:当输入有且只有一个为真时,输出为真。

INPUT AINPUT BOUTPUT
TRUETRUEFALSE
TRUEFALSETRUE
FALSETRUETRUE
FALSEFALSEFALSE

直接用晶体管构建 XOR 门有点烧脑子,我们可以用前面实现的三种门来构建。

用其他基本逻辑门构建的 XOR 门

5. 抽象层次的提升

通过抽象,我们可以从基本的电子元件逐步提升到逻辑门,再到更复杂的组件。计算机工程师在设计处理器时,通常不会关注具体的晶体管,而是基于更高层次的抽象(如逻辑门和更大的组件)进行设计。

5.1 符号表示法

以下是逻辑门的常用符号表示法:

  • NOT 门:用一个三角形前面加一个小圆点表示。 image.png
  • AND 门:用一个类似字母“D”的符号表示。 image.png
  • OR 门:用一个类似太空船的符号表示。 image.png
  • XOR 门:用 OR 门前加一个类似弯曲笑脸的符号表示。 image.png

5.2 逻辑门的组合应用

这些基本逻辑门可以组合起来,形成复杂的逻辑电路,比如上面说的 XOR 门就是由多个 NOT、AND 和 OR 门组合而成。

6. 总结

  • 二进制系统:介绍了二进制系统的基本原理及其在计算机中的应用。
  • 布尔代数:讲解了非(NOT)、与(AND)、或(OR)和异或(XOR)等基本布尔运算。
  • 基本逻辑门:介绍了如何利用晶体管构建 NOT、AND、OR 和 XOR 门。
  • 符号表示法:提供了常用逻辑门的符号表示方法。
  • 逻辑门组合:说明了逻辑门的组合应用,展示了复杂逻辑电路的构建方法。