从灯泡到晶体管

前言

本篇文章从电灯泡入手,讲解如何通过电路传递信息,这也是计算机工作的基本原理
注意:文章并不讲述电路相关的东西,只讲述现象

灯泡

如图所示,这是一个基本的电路图,其中:
从灯泡到晶体管_第1张图片

  • A代表开关
  • B代表电灯
  • C代表电源

我们有一个基本的认识,那就是:

  • 合上开关A,电灯点亮
  • 断开开关A,电灯熄灭

串联

继续看下面这个图:
从灯泡到晶体管_第2张图片

这个电路中有两个开关,像这样一个接着一个首尾相连的接线方式叫做串联,此时,

  • 你断开开关A1,断开开关A2,电灯不会亮
  • 你合上开关A1,断开开关A2,电灯不会亮
  • 你断开开关A1,合上开关A2,电灯不会亮
  • 你合上开关A1,合上开关A2,电灯会亮

如果我们把开关的断开与合上作为输入,合上为输入1,断开为输入0,灯泡的亮与否作为输出B,亮为输出1,不亮为输出0,那么,这个串联电路我们可以表示为:
{ A 1 = 0 , A 2 = 0 , B = 0 A 1 = 1 , A 2 = 0 , B = 0 A 1 = 0 , A 2 = 1 , B = 0 A 1 = 1 , A 2 = 1 , B = 1 \begin{cases} A1=0,A2=0,B=0\\ A1=1,A2=0,B=0\\ A1=0,A2=1,B=0\\ A1=1,A2=1,B=1\\ \end{cases} A1=0,A2=0,B=0A1=1,A2=0,B=0A1=0,A2=1,B=0A1=1,A2=1,B=1

并联

继续看下面这个图:
从灯泡到晶体管_第3张图片

像这样的接线方式叫做并联,此时,

  • 你断开开关A1,断开开关A2,电灯不会亮
  • 你合上开关A1,断开开关A2,电灯会亮
  • 你断开开关A1,合上开关A2,电灯会亮
  • 你合上开关A1,合上开关A2,电灯会亮

如果我们把开关的断开与合上作为输入,合上为输入1,断开为输入0,灯泡的亮与否作为输出B,亮为输出1,不亮为输出0,那么,这个串联电路我们可以表示为:
{ A 1 = 0 , A 2 = 0 , B = 0 A 1 = 1 , A 2 = 0 , B = 1 A 1 = 0 , A 2 = 1 , B = 1 A 1 = 1 , A 2 = 1 , B = 1 \begin{cases} A1=0,A2=0,B=0\\ A1=1,A2=0,B=1\\ A1=0,A2=1,B=1\\ A1=1,A2=1,B=1\\ \end{cases} A1=0,A2=0,B=0A1=1,A2=0,B=1A1=0,A2=1,B=1A1=1,A2=1,B=1

继电器

虽然我们先讲了电灯,但是实际上,继电器的发明在电灯之前,但是使用电灯举例更容易让人理解。为了方便表述,我们陈述一下几件历史事件:

  1. 1820年丹麦物理学家奥斯特发现电流的磁效应
  2. 1831年英国物理学家法拉第又发现了电磁感应现象
  3. 1835年美国画家莫尔斯发明了电报机
  4. 同一时代,美国物理学家约瑟夫·亨利在研究电路控制时利用电磁感应现象发明了继电器
  5. 1880年,爱迪生制造出能持续亮1200个小时的碳化竹丝灯。

如下图所示。如果你手头有一根铁棒,那么在上面用细导线绕几百圈,然后在导线上接通电流, 铁棒就变成了一块磁铁。现在它可以吸引其他的铁块和钢块(电磁铁上缠绕足够多的细导线,会产生足够强的电阻,能防止电磁铁产生短路现象 )。断开电流,铁棒将丧失磁性。
从灯泡到晶体管_第4张图片

也就是说,理论上,我们通过电线的连接可以控制很远的一块铁棒是否有磁性,而一块铁棒是否有磁性有什么用呢?如果我们用一个弹簧拉着一块铁块,放在铁棒的上面,当铁棒有磁性的时候,铁块被吸引下来,当铁棒磁性消失的时候,铁块被弹簧拉上去,这样就相当于我们在一个地方对开关的操作会通过电线传播到很远的铁块上面来,这就是电报机的基本原理。
从灯泡到晶体管_第5张图片

如果我们把开关稍微修改一下,改成我们比较熟悉的模样,一个完整的电报机如下所示:
从灯泡到晶体管_第6张图片

但是,现在有一个问题,那就是电线是有电阻的,虽然单位长度的电线电阻很小,但是如果传输距离太远,电阻会变得很大,电阻一旦变大,通过铁棒的电流就会变小,这样就会导致铁棒的磁性变弱,磁性弱到一定程度那就没法将铁块吸引下来了。为了解决这个问题,继电器登场了。
从灯泡到晶体管_第7张图片

继电器其实在电报系统中,起到了中转的作用,你也可以把他当作一个开关+电源,不过这个开关的闭合不是通过人来控制的,而是通过电磁感应,我们下面分步骤表述一下继电器的使用:

  1. 你在电报站按下了开关
  2. 电流传递了n公里,到达了继电器的位置
  3. 电流从上图的B处流过铁棒,产生磁性
  4. 磁性导致A处的金属片被吸引下来,A处的一端连接电源,现在A相当于一个开关
  5. 金属片被吸引下来后,A与C联通,电流开始从C继续往后传递

注意A+C这是一个新的电路,所以之前的电线产生的电阻已经没有影响了,这样,每隔n公里加一个继电器,信号便能一站接一站的传递下去,这就是电报机。
一个完整的电报机如下:
从灯泡到晶体管_第8张图片

好了,我们现在回顾一下继电器的优势以及劣势
优势:

  • 继电器能通过控制输入端的状态来控制输出端的状态,这种控制是我们实现逻辑电路的基础
  • 继电器的实现简单,并且不需要人为的干预

缺点:

  • 继电器使用金属片的摆动来传递信息,这种方式速度很慢
  • 金属片在不断的摆动过程中容易断裂
  • 如果来制作复杂电路的话,整个继电器体积比较大
  • 因为需要电磁感性,电流不能太小,这就导致耗电量大,容易发热

事实上,虽然继电器有这么多缺点,但是历史上真的使用过继电器成功制造过计算机:

  1. 1943年,霍华德·艾肯与IBM合作创造闻名于世的 Harvard Mark I计算机
  2. 1947年,霍华德·艾肯设计出 Harvard Mark II 计算机

我们通过继电器来实现电灯那一部分的串联和并联:
串联:
从灯泡到晶体管_第9张图片

当A1和A2同时闭合的时候,电灯才会亮

并联:
从灯泡到晶体管_第10张图片

当A1和A2任何一个闭合的时候,电灯都会亮

从真空管到晶体管

我们知道,计算机能识别的状态只有两种,0和1,反应在电路上其实就是通断两种状态,我们也可以使用高低压来表示,而我们前面介绍的继电器正好可以传递这两种状态。
虽然使用继电器也确实制造出了计算机,但是继电器本身的问题导致制作出来的计算机体积大,耗电高,易损坏。

真空管

所以,后来出现了真空管,一种可以替代继电器的元件。
真空管同样存在自身的问题,比如,价格昂贵、耗电量大,以及产生的热量太多。 可是,其最大的问题是真空管最终会被烧坏,如同人活一世一样,是无法改变的事实。在计算机中,当一个真空管烧坏时并不可能立刻被检测到,此外,一台计算机拥有数量巨大的真空管,按统计学来分析,每隔几分钟就会烧坏一个。

用真空管取代继电器的最大好处在于真空管的状态可以在百万分之一秒(us)内发生转变。真空管状态转变(开关的打开与关闭)的速度比继电器要快1000倍,继电器在其最好状态下状态的转变也需要1ms,即千分之一秒。

在20世纪40年代初期,新设计的计算机中真空管开始取代继电器。到1945年,真空管已经完全取代了继电器

我们认知的第一台计算机ENIAC,就是1945年底在宾夕法尼亚大学设计完成的,ENIAC使用了18,000个真空管,重达30吨,被认为是世界上最大的计算机

晶体管

1947年12月16日,威廉·肖克利(William Shockley)、约翰·巴顿(John Bardeen)和沃特·布拉顿(Walter Brattain)成功地在贝尔实验室制造出第一个晶体管。它被一些人称为20世纪最重要的发明之一

下面是NPN晶体管的示意图:
从灯泡到晶体管_第11张图片

晶体管的具体制作工艺和原理可以先不用理解,只需要知道晶体管的工作方式如下:
电流从集电极到发射极,但是电流是否能通过是根据基极是否有电压决定的,基极有电压,电流便能通过,基极没有电压,电流便不能通过

这个结论和继电器,灯泡的通断是一致的,都是输入决定输出,晶体管的输入便是基极,输出为发射极。

晶体管有一下特点:

  • 基极只需要非常小的电压就能控制电路的通断
  • 晶体管可以制作的非常小
  • 晶体管产生的热量很小
  • 晶体管不容易损坏

我们同样使用晶体管来模拟一下电路的串并联
串联:
从灯泡到晶体管_第12张图片

A输入端与B输入端必须同时有电压的时候才会有电流输出

并联:
从灯泡到晶体管_第13张图片

A输入端与B输入端任何一个有电压的时候就会有电流输出

总结

本篇文章之所以强调电路的串并联,是因为他们是组合逻辑的基本要求,而我们为了理解计算机原理,必须使用逻辑门来模拟计算机行为

本篇文章没有讲述电路相关的东西,是因为我们是为了理解计算机原理,不是为了制造计算机,知道晶体管的使用方式就可以了,后面我们会使用C语言模拟逻辑门

你可能感兴趣的:(程序设计-计算机原理,汇编)