计算机如何仅仅使用 0 和 1 来作出判断?
答案要从逻辑门说起。
第一章——引言
地球上的每一台计算机,从智能手机到超级计算机,都是建立在一个简单得令人惊讶的基础之上。
这个基础就是:
逻辑门。
这些微小的电子电路负责作出判断。
它们回答的问题包括:
这个信号是否开启?
两个信号是否都开启?
是否至少有一个信号开启?
通过组合数百万甚至数十亿个这样的简单判断,计算机就能够进行计算、运行操作系统、播放视频,甚至驱动人工智能。
在这个视频中,我们将了解:
什么是逻辑门;
逻辑门如何工作;
逻辑门的主要类型;
逻辑门如何组成更大的电路;
以及为什么逻辑门是现代计算技术的基础。
让我们开始吧。
第二章——从电信号到二进制
在理解逻辑门之前,我们必须先理解二进制。
在计算机内部,电信号通常只有两种状态:
低电压状态,对应二进制数值 0。
高电压状态,对应二进制数值 1。
计算机使用这两种状态来表示信息。
这种系统被称为:
二进制系统。
计算机中的一切信息,最终都会变成由 0 和 1 组成的序列。
例如:
|
1 2 3 4 |
00000001 00000010 00000011 |
逻辑门直接处理这些二进制数值。
它们接收二进制输入。
然后产生二进制输出。
第三章——逻辑门是电子决策器
一个逻辑门会接收一个或多个输入。
它会检查这些输入。
然后按照特定的规则产生一个输出。
例如:
输入 A 进入逻辑门。
输入 B 也进入逻辑门。
逻辑门处理这两个输入,然后产生一个输出。
每一种逻辑门都遵循一条固定的规则。
无论它运行多少次,这条规则都不会改变。
正是这种可预测的行为,使计算机能够每秒进行数十亿次稳定而可靠的计算。
第四章——非门
英文称为:
NOT Gate。
一个非门具有:
一个输入;
一个输出。
它的任务非常简单:
将输入信号取反。
如果输入是 1:
|
1 2 3 |
输入 = 1 输出 = 0 |
如果输入是 0:
|
1 2 3 |
输入 = 0 输出 = 1 |
下面是非门的真值表:
当输入为 1 时,输出变成 0。
换句话说,非门总是产生与输入相反的值。
无论什么信号进入非门,出来的信号都会被翻转。
你可以把非门想象成一台电子“反向机器”。
它只有两种可能的输入。
输入 0,输出 1。
输入 1,输出 0。
第五章——与门
与门的英文名称是:
AND Gate。
与门需要两个输入。
它的规则是:
只有当两个输入都为 1 时,输出才会变成 1。
下面是与门的真值表。
当 A 为 0,B 为 0 时,输出为 0。
当 A 为 0,B 为 1 时,输出为 0。
当 A 为 1,B 为 0 时,输出为 0。
只有当 A 为 1,B 也为 1 时,输出才为 1。
你可以想象有两个开关共同控制一盏灯。
两个开关都必须开启,灯才会亮。
只要其中一个开关没有开启,灯就不会亮。
这正是与门的工作方式。
第六章——或门
或门的英文名称是:
OR Gate。
与与门相比,或门的条件没有那么严格。
它的规则是:
只要两个输入中至少有一个是 1,输出就会变成 1。
下面是或门的真值表。
当 A 为 0,B 为 0 时,输出为 0。
当 A 为 0,B 为 1 时,输出为 1。
当 A 为 1,B 为 0 时,输出为 1。
当 A 为 1,B 为 1 时,输出也为 1。
你可以想象有两个按钮控制一个警报器。
按下其中任何一个按钮,警报器都会启动。
这就是或门的工作方式。
第七章——异或门
XOR 是 Exclusive OR 的缩写。
中文称为:
异或门的规则是:
只有当两个输入不同时,输出才为 1。
下面是异或门的真值表。
当 A 为 0,B 为 1 时,输出为 1。
当 A 为 1,B 为 0 时,输出为 1。
当 A 为 1,B 为 1 时,输出为 0。
请注意:
两个输入不同,输出为 1。
两个输入相同,输出为 0。
异或门非常重要。
它是二进制加法的基础之一。
每一颗 CPU 的算术电路中,都会使用异或门。
第八章——与非门
与非门的英文名称是:
NAND Gate。
与非门实际上比许多人想象的更加重要。
NAND 可以理解为:
|
1 2 |
NOT + AND |
也就是先执行与运算,然后再将结果取反。
下面是与非门的真值表。
当 A 为 0,B 为 0 时,输出为 1。
当 A 为 0,B 为 1 时,输出为 1。
当 A 为 1,B 为 0 时,输出为 1。
当 A 为 1,B 为 1 时,输出为 0。
只有一种输入组合会产生 0:
两个输入都是 1。
其他所有输入组合都会产生 1。
与非门非常特殊,因为只使用与非门,就能够构建其他类型的逻辑门。
理论上,甚至可以只使用与非门来构建一台完整的计算机。
因此,与非门也被称为一种通用逻辑门。
第九章——或非门
或非门的英文名称是:
NOR Gate。
NOR 可以理解为:
|
1 2 |
NOT + OR |
也就是先执行或运算,然后再将结果取反。
下面是或非门的真值表。
当 A 为 0,B 为 0 时,输出为 1。
当 A 为 0,B 为 1 时,输出为 0。
当 A 为 1,B 为 0 时,输出为 0。
当 A 为 1,B 为 1 时,输出为 0。
只有当两个输入都为 0 时,输出才为 1。
其他所有输入组合都会产生 0。
或非门同样是一种通用逻辑门。
和与非门一样,或非门也可以组合起来,构建其他所有类型的逻辑门。
第十章—逻辑门如何由晶体管构成
逻辑门并不是凭空出现的。
它们是由晶体管构成的。
晶体管就像一个微小的电子开关。
当开关开启时:
电流可以流过。
当开关关闭时:
电流停止流动。
通过以不同方式连接多个晶体管,工程师可以构建:
非门;
与门;
或门;
异或门;
与非门;
或非门。
现代处理器包含数十亿个晶体管。
这些晶体管相互连接,构成数量庞大的逻辑门和数字电路。
第十一章——将逻辑门组合成更大的电路
单独一个逻辑门的作用非常有限。
逻辑门真正强大的地方,在于可以将大量逻辑门组合起来。
例如:
|
1 2 3 4 5 6 7 8 9 10 |
输入 ↓ 逻辑门 ↓ 加法器电路 ↓ 算术单元 ↓ CPU |
大量逻辑门可以组成:
加法器;
比较器;
多路选择器;
译码器。
更多的逻辑门和数字电路可以组成:
寄存器;
高速缓存;
控制单元。
最终,这些电路共同组成:
现代 CPU;
GPU;
人工智能加速器;
以及完整的计算机系统。
第十二章——逻辑门与二进制加法
现在让我们计算:
|
1 2 |
1 + 1 |
在十进制中,答案是 2。
但是在二进制中:
|
1 2 |
1 + 1 = 10 |
这个结果可以分成两个部分:
|
1 2 3 |
和 = 0 进位 = 1 |
一个被称为半加法器的简单电路,可以完成这个运算。
半加法器使用两个逻辑门:
|
1 2 3 |
异或门 → 产生“和” 与门 → 产生“进位” |
输入 A 和输入 B 同时进入异或门,产生和值 S。
输入 A 和输入 B 也同时进入与门,产生进位值 C。
也就是说:
|
1 2 3 |
A XOR B = Sum A AND B = Carry |
这个电路被称为:
半加法器。
半加法器是数字电路和计算机科学中最重要的基础电路之一。
更复杂的加法器,就是从这个简单结构发展而来的。
CPU 中的算术运算,也建立在类似的基本思想之上。
第十三章——逻辑门构建算术逻辑单元
算术逻辑单元的英文是:
Arithmetic Logic Unit。
简称:
ALU。
ALU 可以看作 CPU 内部的计算器。
它负责执行:
加法;
减法;
比较;
逻辑运算。
在 ALU 内部,存在着由大量逻辑门组成的复杂电路网络。
它们之间的关系可以表示为:
|
1 2 3 4 5 6 7 8 |
晶体管 ↓ 逻辑门 ↓ 加法器 ↓ ALU |
每当 CPU 进行下面这些计算时:
|
1 2 3 4 |
5 + 3 100 × 20 地址 + 偏移量 |
真正完成底层工作的,都是逻辑门组成的数字电路。
第十四章——逻辑门构建存储电路
逻辑门不仅可以用于计算。
它们还可以用来保存信息。
通过特殊方式组合逻辑门,可以构建:
锁存器;
触发器;
寄存器。
例如:
|
1 2 3 4 5 6 |
逻辑门 ↓ 触发器 ↓ 寄存器 |
触发器可以保存一个二进制位,也就是一个 0 或一个 1。
多个触发器组合起来,就可以形成寄存器。
寄存器是 CPU 内部速度最快的存储位置之一。
需要注意的是,现代计算机中的所有存储器并不都直接由传统逻辑门构成。
例如,SRAM、DRAM 和闪存使用不同的晶体管结构来保存数据。
但逻辑门和晶体管电路仍然是寄存器、控制电路以及数字存储系统的重要基础。
第十五章——总结
逻辑门是数字电子技术最基本的构建模块。
它们接收简单的二进制输入。
按照固定的规则处理这些输入。
然后产生简单的二进制输出。
但是,当工程师将大量逻辑门和晶体管电路组合在一起时,就可以构建:
寄存器;
存储器;
算术逻辑单元;
CPU;
GPU;
以及完整的计算机。
下一次当你使用计算机时,请记住:
在操作系统的下面,
在各种应用程序的下面,
在 CPU 的内部,
有无数微小的逻辑门和晶体管电路,正在以极高的速度不断作出判断。























