每次回家开灯时你有没有想过,用你按的简单开关实际上能打造出复杂的 CPU 来,只不过需要的数量会比较多,也就几十亿个吧。
伟大的发明
过去200年人类最重要的发明是什么?蒸汽机?电灯?火箭?这些可能都不是,最重要的也许是这个小东西:
这个小东西就叫晶体管,你可能会问,晶体管有什么用呢?
实际上晶体管的功能简单到不能再简单,给一端通上电,那么电流可以从另外两端通过,否则不能通过,其本质就是一个开关。
就是这个小东西的发明让三个人获得了诺贝尔物理学奖,可见其举足轻重的地位。
无论程序员编写的程序多么复杂,软件承载的功能最终都是通过这个小东西简单的开闭完成的,除了神奇二字,我想不出其它词来。
AND、OR、NOT
现在有了晶体管,也就是开关,在此基础之上就可以搭积木了,你随手搭建出来这样三种组合:
-
两个开关只有同时打开电流才会通过,灯才会亮
-
两个开关中只要有一个打开电流就能通过,灯就会亮
-
当开关关闭时电流通过灯会亮,打开开关灯反而电流不能通过灯会灭
天赋异禀的你搭建的上述组合分别就是:与门,AND Gate、或门,OR gate、非门,NOT gate,用符号表示就是这样:
道生一、一生二、二生三、三生万物
最神奇的是,你随手搭建的三种电路竟然有一种很amazing的特性,那就是:任何一个逻辑函数最终都可以通过AND、OR以及NOT表达出来,这就是所谓的逻辑完备性,就是这么神奇。
也就是说给定足够的AND、OR以及NOT门,就可以实现任何一个逻辑函数,除此之外我们不需要任何其它类型的逻辑门电路,这时我们认为AND、OR、NOT门就是逻辑完备的。
这一结论的得出吹响了计算机革命的号角,这个结论告诉我们计算机最终可以通过简单的AND、OR、NOT门构造出来,这些简单的逻辑门电路就好比基因。
老子有云:道生一、一生二、二生三、三生万物,实乃异曲同工之妙。
虽然ÿ