该专题是“编码”一书的学习笔记,通过笔记的形式能让自己更好的理解计算机的实现原理(注意这里说的是实现原理而不是组成原理,千万不要和大学的计算机组成原理混为一谈)。计算机只认0和1,日常生活中的开关就可以表示0和1,由于开关只能直接控制,所以出现了类似于继电器有间接控制能力的元件,利用继电器的间接控制功能可以实现更多复杂的计算电路(个人认为即使用开关也能模拟逻辑运算,但实现起来相当繁琐。虽然现在很少用继电器来实现集成电路,但基本原理相通,所以下面使用继电器设计各种逻辑运算电路)。这些复杂电路又是通过逻辑门构成的,因此下面说说逻辑门。
如下图所示的电路:
继电器就是类似于上图中的铁棒绕着n多线圈组成的电磁铁并间接控制着灯泡的电路。有人说通过开关直接控制灯泡何必多次一举加个继电器(其实我也是这样认为的),但在某些复杂点的门电路中就能体现出便利性。两个不同的状态可以表示任何两个完全相反的事物(可以表示1和0、真和假、对与错、开与关等等),但是为了做数学运算选择了1和0。逻辑运算就是给定两个输入状态输出1个逻辑状态的运算,逻辑门就是实现逻辑运算的电路。
1、与门
当两个开关同时闭合,灯泡才亮。用两个开关串联也能实现,似乎不能体会出继电器的便利性。
2、或门
当任意一个开关闭合时,灯泡就亮,只有两个开关都断开时才不亮。用两个开关并联同样也能实现,也不能体会继电器的便利性。
3、非门
当开关闭合时灯泡不亮,反之亮,如果用开关来实现就需要一个特殊的开关,当开关开的时候是关闭操作,默认是连接的。
4、或非门
当任意一个开关闭合时灯泡都不亮,和或门是完全相反的,所以称为或非门。如果用两个非门的特殊开关串联也能实现该功能。
5、与非门
只有当两个开关都闭合时才不亮,任意一个开关闭合都亮和与门相反,又称与非门。如果用两个非门的特殊开关并联也能实现该功能。
6、异或门
当输入的两个状态相同时输出0不同时输出1,此时需要将或门和与非门并联,再将两个逻辑门的输出接到与门输入上才能实现,此时若使用开关来实现就比较繁琐了。当然这里说的是逻辑门,以简单的两个状态为基础而后面的加法器、减法器等就会以逻辑门电路为基础构件,如果再使用开关估计就相当困难甚至不可实现了。(因为开关没有间接控制的能力)