极简计算机结构介绍
  • 0. 极简计算机结构介绍
  • 1. 布尔代数
  • 2. 逻辑门(Logic Gates)
  • 3. 计算单元
    • 3.1 二进制加法
    • 3.2 补码
    • 3.3 ALU
  • 4. 存储单元
    • 4.1. SR Latch:如何存储 1 Bit
    • 4.2. 时钟:计算机中的时间模型
    • 4.3. D Flip-Flop:以时钟为脉搏的存储器
    • 4.4. 地址:可寻址的存储单元
    • 4.5. 内存:大容量的存储芯片
    • 4.6. 寄存器:CPU 的存储单元
  • 5. 计算模型与机器语言
  • 6. 指令与汇编
由 GitBook 提供支持
在本页

这有帮助吗?

2. 逻辑门(Logic Gates)

上一页1. 布尔代数下一页3.1 二进制加法

最后更新于3年前

这有帮助吗?

设想一个最常见的需求:我们需要为卧室灯装两个开关,一个在门口,一个在床头,使用任何一个开关开灯,都可以使用该开关或者另一个开关关掉,反之亦然。如何设计该电路呢?有经验的同学可能会想如何使用不同的开关通过并联、串联的方式组合起来以达成最终的控制效果,但稍稍分析一下这两个开关的行为,我们就会发现两个开关与灯满足如下状态关系:

Switch-Door

Switch-Bed

Bulb

Off

Off

Off

Off

On

On

On

Off

On

On

On

Off

如果我们用 0 表示 Off, 用 1 表示 On, 可以发现该状态与前文中的 XOR 的真值表完全一致。如果有一个基础的电路设备实现了 XOR 的功能,那么我们直接将两个输入端连上开关、输出端连上灯,就收工大吉了。

香农的工作让我们认识到电路设计可以转换为符号的逻辑运算,再回到布尔代数,我们知道任意复杂的复合逻辑运算都可以通过 AND, OR, NOT 三种基本运算通过组合的方式实现。对应到电路设计中,我们也需要能够完成对应逻辑运算的电路器件,这类器件被称为逻辑门(Logic Gates),三个基础的逻辑门分别叫与门(AND Gate)、或门(OR Gate)与非门(NOT Gate),符号如下:

任意复杂的电路都可以通过这三个逻辑门组合而成。上文中的卧室电路需要一个异或门(XOR Gate),其电路符号以及可能的一种实现方式如下图所示:

逻辑门是电路设计的基础组件,有了完成各种逻辑运算的逻辑门,电路设计就变成了一件搭积木式的工程了。

事实上如果继续简化逻辑门的基础单元,会发现可以将与非门(NAND Gate)当着最基础的逻辑门,与非门的真值表与符号表示如下:

通过与非门构建 AND, OR, NOT 门的方式如下:

因此,我们可以将与非门看着是逻辑门最基础的积木。

制造逻辑门的物理元件随着技术的进步一直在进步,最开始人们使用继电器来完成电路开关的自动控制,后期使用电子管,世界上第一台通用计算机ENIAC便是使用电子管制造的。后来晶体管的发明颠覆了整个行业,晶体管在体积、能耗等各方面都优于电子管,这使得集成电路及大规模集成电路成为可能,当前一个指甲大小的芯片中包含的晶体管数以亿万。

可以参考 查看最新的芯片所包含的晶体管数量。

Transistor Count
AND Gate, OR Gate, NOT Gate
XOR Gate
NAND Gate
Gates Based on NAND Gate