86. 电脑原理04:逻辑门

Table of Contents

逻辑门

如果仅从逻辑学的原理上来说,逻辑门是非常简单的,就是让电流通过或者不让他通过。简单来说就是一个开关。有很多事情都是从原理来说很简单,但是一旦到了工程的方面,就一下子变得困难了,不止是电脑方面,其它任何方面都类似。简单的举几个例子,比如大家都知道发动机的原理,然后,知道原理但是就是造不出发动机来的国家不胜枚举。大家也知道涡轮喷气发动机的原理,但是这个世界上能制造飞机发动机的国家屈指可数,比如,中国就属于造不好发动机的国家。当然,肯能是我信息有误也不好说,毕竟很多人特别特别的自豪,一说中国在某些方面落后,就受不了。

在电脑行业,也是这样的,逻辑门非常的简单,但是,使用半导体造出CPU,仍然是一个门槛非常非常高的行业,比如现在intel公司可以使用14nm的工艺制造CPU,这种技术我们只能想想,我这里说的我们包括我们的国家,只能看原理,但是搞不定,在指甲盖那么大小的一块芯片上,上面的晶体管早就不是千万级别了,已经是Billion,也就是十亿这个级别,可以想成每个中国人代表一个集体管的话,所有的中国人组成一个CPU。好多行业都是这样,壁垒说起来简单,要跨越壁垒,比登天还难。就像我们都知道波尔特100米的记录是9秒58,只要能打破这个记录,绝对可以名利双收,但是,坐在这里说说挺好,实际上,这个世界上至今没人能做到这一点。

我说这些的意思是,我在这里讲逻辑门,说他很简单,只是原理上很简单,实际上动手开始制造能够打开消费市场的CPU了,就没有几个公司能搞定了。大家理解这个意思就行。

开关的原理非常的简单,我们每个人都开过灯,关过灯,开过水龙头,关过水龙头。就是这样一个非常简单的操作,里面就蕴含了逻辑门的原理在里面。只要学过初中物理的同学,脑袋里肯定有这样一个电路图,一个电源,一个开关,一个电池,一个灯泡,组成初中物理最简单的一个电路。当开关闭合的时候,电路联通,灯泡开始发光。当开关断开的时候,电路断开,灯泡就灭了。这个原理早在19世纪就被人发现了,但是,当时没有人意识到,使用这么简单的电路,可以把布尔代数用电路开关的方式实现出来。首次提出这个原理的是香农,美国人,他也被称为是信息论之父。

香农这个人非常非常的聪明,其实这句话感觉挺废话的,他在21岁的时候,写出了一篇有史以来含金量最高的硕士毕业论文,这篇论文的题目叫《继电器和开关电路的符号分析》,这里的继电器就是我上一篇中讲的那个继电器。后来,香农又写了一篇文章,叫《通信的数学原理》,这篇文章和牛顿写的本书的名字有点类似,牛顿的叫《自然哲学的数学原理》,香农的叫《通信的数学原理》,这篇论文到底有多牛呢,大家可以去google学术里把名字输入进去,A mathematical theory of communication, 然后就发现,截止今天,这篇论文被引用了91196次。而且,这篇论文被重新发表了两次,最近的一次是2001年再次发表,因为2001年,香农去世了,这篇文章再次发表。bit,比特就是在这篇论文中提出的。

如果大家有读计算机系,并且还继续读计算机系的研究生的话,就能深刻的理解信息论到底有多么重要了。我们读大学的时候,不太重要的的课一个学期搞定,很重要的课两个学期搞定,比如微积分,两个学期,然后就不学了。信息论是我知道的为数不多的,本科学完以后,读研究生接着再学一遍的课。能有这种地位的课,在中国的大学里只有政治课可以和信息论相媲美。因为我们的国家,政治课是贯穿人的一生的,任何时候,政治都是放在第一位的。信息论能被排在如此重要的地位,本科研究生分别学一遍,我读的两个学校,竟然本科的课本和研究生的课本用的是一本,然后重新搞了一次,然后,我学了两遍以后,确认了一件事情,本科没学懂,研究生也没学懂。

关于香农,我只能讲这些,如果有人想彻底搞明白香农的信息论的话,首先,要知道,可能性不高,其次,在贴吧上看几篇文章连皮毛都理解不了。还是得看砖头那么厚的书。推荐看机械工业出版社翻译的《信息论基础》,四五百页,全是数学,不推荐大家购买。虽然书名里有基础这个词,但是,真的一点都不基础。

电路

接下来,我只说一下香农的硕士论文中的一点皮毛,就是布尔代数如何用继电器电路实现出来。就是上面我提到的《继电器与开关电路的符号分析》,开关我们都知道,继电器在上一篇中我也讲了,还有布尔代数,我也讲了。布尔代数不是香农发明的,电路也不是香农发明的。但是,香农的这篇论文把这两个完全不相关的东西结合了起来,电路可以实现布尔代数,反过来,设计出来的电路,又可以通过布尔代数的运算,把电路简化。突然之间,逻辑和电路就被香农给结合起来了。前年,国内引进了一个电影,很火,叫《模仿游戏》,就是讲图灵的,二战时期破解密码,而且图灵是个同性恋,并且自杀了。同性恋,自杀,再加上一个计算机科学家,这些元素加起来,再加上一个大帅哥卷福,所以电影就很火热了。问题是这样,一旦图灵火的不像样了,你就根本不知道一些崇拜图灵的人到底是崇拜图灵呢,还是崇拜演图灵的这个帅哥卷福呢?

而且吧,现在越来越神话图灵了,基本上啥都是他造出来的,电脑是,密码是,很可能以后,同性恋也是他造出来的。其实,并不是这样的,图灵是一个伟大的科学家没错,但是,和他同时代的人,比如香农,比如冯诺伊曼,比如丘奇都是极其伟大的,并且每个人的理论都不比图灵差。而且,脾气比图灵都要好,像香农啊,丘奇啊,都是老好人。图灵生前反而脾气很差,心高气傲的,他设计的计算机叫ACE,根本造不出来,我们目前用的计算机也不是图灵的版本,而是冯诺伊曼的版本,但是,很搞笑的是,图灵的自传里竟然暗示冯诺伊曼设计的版本有抄袭图灵的嫌疑,这种说法简直就像在说齐达内踢球在模仿梅西一样搞笑。就好像在足球运动上,有非常多的天才球员,贝利,马拉多纳,齐达内,罗纳尔多,小罗,梅西,C罗,这都是非常优秀的球员,我们不能拿出一个来拼命的夸,搞得其它球员像垃圾一样。其实是非常有问题的,也是对他本人的不尊重。

图灵和香农是有交集的,香农是贝尔实验的大佬,图灵曾经和他共事。而且,图灵还是非常非常尊重香农的。达特茅斯大学的Smith教授曾经写过一篇文章,这篇文章的名字翻译成中文叫《图灵来自火星,香农来自水星》,Turing is from Mars, Shannon is from Venus: computer science and computer engineering。网上有PDF版本的,总共4页PDF。

两个开关串联/并联的电路

继电器和开关功能一样

继电器和开关的可以提供相同的功能,让电路通电或者不通电。我这里再画几个电路图,其实是一样的,继电器和开关一样,可以用串联和并联的方式,执行简单的逻辑任务。这种继电器的组合就叫做逻辑门。 

为什么要用继电器

如果只用开关的话,需要人工去开关,如果使用了继电器,可以使用电路来自动控制。如果用开关的话,是没办法自动的,只能用手一个一个开启或者闭合,最后就把人搞崩溃了。而使用继电器的好处就是,一旦可以自动控制,就可以组建更大规模的逻辑电路。比如现在可以组建出来十亿个集体管的电路,每一个晶体管相当于一个开关,如果靠人工的画,顶多能处理10来个开关,十亿个晶体管,是想都不用想了,根本不可能完成的任务。

连接继电器是建立逻辑门的关键

前面我讲过,第一台计算机就是使用继电器来构建的,后来为什么不用继电器了呢?主要是继电器是物理设备,靠弹簧片来控制开启和闭合,效率非常的低,毕竟弹簧片会失效,有报道说,弹簧片的切换速度最高1/100秒,也就是说,继电器计算机最高的速度,不会超过弹簧片的极限速度,所以,科学家在制造了继电器计算机以后,很快就开始研究还有没有其它能自动控制电流开关的东西。除了用弹簧片以外,科学家真的找到了另外一个东西,就是真空管。因此,计算机很快就有继电器计算机转到了真空管计算机,我们教科书上说的第一台计算机ENIAC就是电子管计算机。

电子管有个特性,首先,一个玻璃里面是真空的,

19世纪90年代,Bose发现了半导体的特征。同样,没有人知道这玩意能干啥,也就这么束之高阁了。当然,人类不会仅仅为了研究计算机才研究半导体,人类这个东西,最促进产品进化的手段有三个,一个是一批牛人的兴趣,另一个是这玩意能赚钱,最后一个是战争,要研究一些东西,如何能快速的杀死对方。这个半导体呢,就是为了能快速杀人搞出来的。再多说一句,如果论杀人,最好的方法是自己不死,让对方死,这个显然比搞人体炸弹专业一些。其实我觉得搞人体炸弹,还是比较low的。二战前期,英国就悟出了这个道理。他们要改进雷达,当敌人的轰炸机到来之前,就把轰炸机击落。相对来说,轰炸机比战斗机要笨重一些,如果能提前通过雷达检测出轰炸机,基本上轰炸机在到达之前,就报销了。当时雷达上使用的就是电子管,精确度不高。然后,他们就发现了硅这个东西,用硅晶体接收器比电子管靠谱。当时的晶体管样子是一段钨丝连接一块晶体硅,然后放在一个玻璃管子里。和现在的晶体管还是不一样的。硅的含量极大,是地球上含量第二高的元素,第一是氧,大概48.6%,第二就是硅了,大概26.3%,但是提纯硅并不容易。当时晶体管的作用是放大器,就是输入一个比较小的电流,然后输出放大的电流,这样的话,可以增强信号,敌人的飞机就跑不了了。战争以后,德国的科学家,就制造出了专门放大电信号的晶体管。但是造物弄人啊,欧洲的晶体管没有贝尔实验室发论文早,贝尔实验室也高出了晶体管,据说,质量不如欧洲的晶体管好,但是,欧洲发论文晚,所以,这事儿,啥东西都要赶早啊,能初中恋爱,就别等到高中,能高中就别大学,能大学就别研究生,如果到了博士还没恋爱,只能出家当和尚了。前面我说过,硅的提纯在当时并不容易,拉塞尔·奥尔,他搞了一块不纯净的硅,里面有个裂缝,两边杂志的浓度不同,然后他发现,这导致电流只能单向移动,也就是说从一个方向到另一个方向可以,反过来就不行。这是什么原理呢?这就是继电器,或者开关,或者真空管的特性啊。当时里面的杂质是磷元素和磞元素,在受到光照的影响下,导致了电流只能单项流动。后来在不同的制造工艺里,使用的可能是硼元素,也可能是铟元素,最终的结果是让这些杂质元素与半导体元素,比如硅或者锗晶体形成共价键的时候,产生一个空穴。

当然,这个故事更复杂,但是,基本的原理都没有变化。继电器是使用一个弹簧片来控制电流是否接通。电子管是使用栅极来控制电流是否接通。晶体管是使用杂质来控制电流是否接通。所以,我讲使用弹簧片的继电器,原理上并没有落后,虽然现在已经不再使用继电器和真空管制造计算机了,但是原理还是一样的。

哪里能见到继电器,真空管和晶体管

淘宝上可以买到继电器,很便宜,3块钱一个,这已经是还不错的继电器了。真空管现在用的也少了,因为真空管耗电大,倒是也能见到,大部分就是音响爱好者,音响上还是有真空管的,据说声音效果非常好,但是我以及我身边的朋友,都没有玩电子管音响的人,所以,我并没有亲眼见过。至于晶体管,现在的晶体管倒是到处都能看到,但是,太小了,只能看到封装,根本也看不到具体长的啥样。

结束语

这次画了好几个电路图,尤其是使用继电器画的门电路,我并没有画完所有的逻辑门电路,因为这是教科书的内容,有兴趣的随便找一本讲微机原理的书,这些内容都有。包括最重要的几个电路图,比如, 与非门,或非门,2-4译码器等等,这都是非常重要的电路,我觉得,搞清楚这几个电路,可能没啥用处,但是如果致力于学习编程当程序员,个人觉得还是需要非常清楚的。或者大学里要考试,这种题就是送分题啊。好了,这期就到这里了。再见。

0 0 投票数
文章评分
订阅评论
提醒

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
滚动至顶部