上次我们谈到了简单的一输入一输出的电信号流向操作,它也是一个比较基本的单元,接下来我们直接上图,看下多个输入端,和一个输出,看看在两个输入的情况下,会是一个什么样的情况。不妨认真看一下这篇,它可以扩展你的思维,再激起妳对这个原理的兴趣。往后的详情都是很多个输入的,到时的级联会更有意思!

在上面这个图,我们尝试做两个一样的单元,然后,把两个V连在一起,把两个G连在一起,实际上就是把它们两个电线拧在一起,拧成2组。然后一个输入叫I1,一个输入叫I2,然后共同一个输出,看看在这种逻辑下会发生什么样的状况。
这种合并挺有意思的,先给结论:我I1给个电,O输出则是0,不管I2给不给电;我I2给个电,O输出则是0(没有电),不管I1给不给电;如果I1和I2都不给电,那么O输出则是有电,为1;如果I1和I2都给电,输入1,则输出为0(没有电)。
我们慢慢拆分过程,如果I1用电池供电,那么R2就会有电流流过,上一节小谈过这个问题,流过之后,同样,R4也会有电流流过,他们两组电流一起流向Q1,请注意那些拧在一起的地方。对于电来说,只要有路,或者只有电池的负极够负,那它就会向越负的地方走。这就是为什么I1输入1,O输出0的原因了。同样的道理,I2也是。如果I2输入1,则O也是0。
我们再加一个知识点,那就是真值表,它是长这样的,它列举了所有的一些例子,把各种情况的一些值都列举出来,如下图:

为什么要叫真值表,我也不太清楚,我们就一起跟着说就好了。这个表清楚地看出这个逻辑状况。
接下来,我说的,将是重点,假设,我们有两个1位数,它们就只有0或者1,我们看下这两个1位数的数学计算情况,分别是0+0=0,0+1=1,1+0=1,1+1=2。对这两个1位数来说,我们给它一个含义,是:0表示不接电池,1表示接电池。则有:当两个数都不接电池是,结果是0,当两个数至少有一个接电池时,结果不是0。和上面的真值表进行一个比对,有相类似之处,只是结果不一样,相反而已。这没关系,因为结果可以通过再联级一个同样的基本单元来实际反转。即,可参考下图:

这个图,是不是把数学等式和硬件关系起来了呢?那么2怎么办?我们先不管2,我们把它看成不为0。从实际看,则表示I1,I2有电时,O没电,I1,I2没电时,O有电。
好,停下来整理一下思路,看看我说我这部分内容,是不是把硬件和数学关系连在了一起?如果数学关系是一些数字,这些数字存储在一些固定的地方,如U盘,光盘等,实际上不会是这样,而是FLASH(一种存储的东西,U盘也是这些东西做的)或者内存,假设这些数字是从内存里面来的,那么,我们可不可以说:内存里面的数字能控制这些硬件?对吧?这就是为什么MCU或者CPU能执行代码的原因了,数学被转送到输出,自然会有输出O来反应这两个输入的结果。如上图,是反应了和O不一样的,相反的结果,有意思吧!我们不妨把I1扩展成很多个I1,有32个I1,I2也有32个I2,O也是有32个O,那么,这组硬件,则是处理32位的输入,然后输出也是32位,64位的呢?这就是INTEL的CPU或者现在嵌入式设备(小型智能设备)它的位数是32或64的叫法了。
其实,不知道你们有没有看懂,这个知识点比较重要,理解好了,后面的再多级联,也就很好理解了,到后面所说的硬件接口,其实也是这样一种东西做出来的。
好吧,休息一下,下次再说,回忆一下这整段内容,宁可花半天时间理解,也不要错过,如果有什么问题,留言就好了!