简单逻辑门

复习

  1. 第一章:需要一台计算机,在研究其组成的方向上进行努力
  2. 第二章:知道了计算机由输入设备、存储器、运算器和输出设备组成,这个体系目前还在沿用
  3. 第三章:了解了计算机使用二进制(0 和 1)表示所有数据

TL;DR

  • 逻辑门是计算机处理二进制信号的基本单元
  • 三个基础逻辑门:与门(AND)、或门(OR)、非门(NOT)
  • 通过组合这些基本逻辑门,可以实现复杂的计算功能

正文

引言

  在前面我们知道了计算机使用二进制,即 0 和 1 来表示数据。只有表示还不够,数据还需要处理。而处理的最基础单位,就是今天所要学习的逻辑门。

  逻辑门就像是电路中的“决策者”,它们根据输入的 0 和 1,按照特定的规则输出 0 或 1。看起来很抽象,觉得这没什么用,但我们将在后面看到,逻辑门怎样通过特定的连接方式,一步步变成半加器、加法器、算术逻辑单元直至 CPU。

  最基本的三个逻辑门是:与门(and)、或门(or)和非门(not)。

  注意, 与或非三种门,其实并不能直接获得 ,需要用晶体管搭建。但由于晶体管电路太过复杂,超出了本指南范围,为简化说明,本指南 认为与或非三门可以直接获得 。读者若有兴趣可以查看本章最后的补充模块,晶体管属于集成电路内容,如无兴趣略过即可,不影响后续学习。

基本逻辑门

与门(AND)

  与门的特点是:只有当所有输入都为 1 时,输出才为 1。“全票才通过”。

  • 要打开保险箱,需要同时输入正确的密码 使用正确的钥匙
  • 要通过考试,需要理论考试合格 实践考试合格

  真值表:

输入 A输入 B输出
000
010
100
111

或门(OR)

  或门的特点是:只要有任意一个输入为 1,输出就为 1。“一票就通过”。

  • 要开灯,可以按下楼上的开关 楼下的开关
  • 要进入会场,可以使用纸质票 电子票

  真值表:

输入 A输入 B输出
000
011
101
111

非门(NOT)

  非门的特点是:输出与输入相反。

  • 电灯开关:按一下开,再按一下关
  • 自动门:有人靠近时开,没人时关

  真值表:

输入输出
01
10

逻辑门的补充

  由基础三门还可构成稍复杂一点的逻辑门:nand(not and 之缩写)、nor(not or 之缩写),分别是与非门、或非门。其结果就是与门、非门的结果取反。

输入 A输入 Band 输出nand 输出or 输出nor 输出
000101
010110
100110
111010

逻辑门的应用

  这些基本逻辑门可以组合起来完成更复杂的功能,下几章我们将会看到:

  1. 数据选择:使用与门和或门可以构建选择器
  2. 数据比较:使用多个逻辑门可以比较两个数的大小
  3. 数据运算:使用逻辑门的组合可以实现加法器

小结

知识点

  • 逻辑门是处理二进制信号的基本单元
  • 与门(AND):所有输入为 1 时输出 1
  • 或门(OR):任意输入为 1 时输出 1
  • 非门(NOT):输出与输入相反

参考资料

  1. Wikipedia(zh):数字逻辑门
  2. 《编码:隐匿在计算机软硬件背后的语言》第 11 章:逻辑门
  3. 《计算机组成与设计:硬件/软件接口》第 4 章:处理器
  4. Wikipedia(zh):晶体管:现代几乎所有电子设备的基石。
  5. Wikipedia(zh):函数完备性

推荐

  1. Bilibili:MOSFET 快速入门
  2. Bilibili:逻辑门

协议

   本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图

设计师 | 南国微雪

补充

  符号说明:

  • NMOS 高于 阈值电压导通,低于 阈值电压不导通
  • PMOS 则相反
  • Vdd 为供电电压,恒为 1
  • GND/Vss 为接地电压,恒为 0
  • 接入端 A 和 B 为接入电压,可高可低,高于阈值电压为 1,低于阈值电压为 0

   CMOS(互补式金属氧化物半导体)晶体管搭建基础逻辑门的电路图:

  • 非门(not,反相器)

  • 与非门(nand)

  • 与门(可以看出实际上就是 nand + not 两模块构成)

  • 或门(与上同理,由 nor + not 构成)

  在晶体管的层面,最基础的逻辑门其实是 nand 或者 nor,并非 and、or、not 三门。and 在晶体管层面上其实是 nand + not。or 同理,不过也可以用 nand 搭建。not 最简单,和 nand/nor 一样可以直接用晶体管搭出来。not 使用 2 个晶体管,而 nand/nor 使用 4 个。

  nand 和 nor 两门因自身函数完备性,均可构成基础三门。所以一台计算机可以只由 nand 门或 nor 门构成。