From Nand To Tetris 从与非门到俄罗斯方块

4、P1 W1 U1.3 逻辑门

2019-07-27  本文已影响0人  shazizm

如果本次课程对应的 Coursera 的视频打不开,可以点击下面链接
P1W1U1.3 - Logic Gates

上节课讲到了 布尔函数,那这节课主要就是讲 逻辑门 、符号 以及 布尔函数 间的关系。

那啥是逻辑门:物理上是设计好的具有布尔函数功能的基础小电路。
基础逻辑门有: 与非门、与门、或门、非门。他们组成高级点的,那么就有 Mux逻辑门,Adder逻辑门等(不认识没事,本周后面课程都会去实现它们)。


逻辑门

如下图,给出了一个逻辑门的符号标识图。


Nand(与非门) 的 符号图

我们可以用国际通用的标准NAND符号图来表示 Nand ,也可以用功能语言来描述比如下图中间的 functional specification:,当然也可以用真值表来表示。


几种表示 NAND 的方法

下图给出了其它几个基础的三个门的 符号图。


几个基础门的 符号 和 功能描述

下图讲了一下符号图 gate interface 和 实现图 gate implementation 的区别,大概意思就是 符号图 是唯一个功能描述,但是并不关心内部是如何实现的(实现可以用不同的方法)。而往往一个复杂的逻辑门 都是由 很多基础门组成的,那么右下的虚框内就表示了如何实现 三端输入的与门 的内部逻辑。


可以看出三个输入端的与门(左上)的逻辑,其实可以用两个普通的与门(右下虚框内)组合而成

既然一开始提到了可以用很多种方法实现逻辑门,那么就举例说了一种 用电路如何实现 逻辑门 的方式。左上这是一个很简单的电路,a 和 b 代表开关(开关接通代表1),X代表 一个灯(灯亮代表1),还画了一个 + - 是电池。那么只有当 ab开关都闭合(接通 1)时,灯才会亮(亮 1)。那么左上就实现了一个 与门。同理右下实现了一个或门。


现实世界芯片里的与非门可不是这么实现的

讲到这里,老师又强调了一下。本课程不会具体去讲 逻辑门 的 物理实现。那是电子工程(EE)专业要关注的部分。而这门课关注的是计算机科学(CS)。所以我们不去关心逻辑门具体在物理世界是用什么实现的,只要认识右下角的那些门,对应什么布尔函数或真值表就好了。


因为物理实现被同学们问的比较多,所以在Unit1.8最后一节老师还是大概讲了一下

如果不用物理去实现逻辑门,那我们怎么继续课程呢?
下节课老师就会介绍一种 硬件描述语言(HDL, Hardware Description Language )在计算机上来 虚拟实现 逻辑门,以及我们最终的计算机需要的每个组成部分。

上一篇下一篇

猜你喜欢

热点阅读