计算机的奥秘原来这么简单(二)
接上文提到的计算机基础知识,下面就对逻辑运算、逻辑门电路做一些讲解,如果有错误,还请读者赐教。
逻辑与开关
19世纪中期有多位数学家在逻辑理论的数学定义上做了一些工作(最著名的是迪摩根),其中布尔做了真正概念上的突破:他发明了一种和传统代数看起来、用起来都十分相似的代数。
在传统代数中,操作数(通常是字母)代表数字,而操作符(多是“+”或“×”)指明这些操作数如何结合到一起。一般我们可用传统代数解决生活中遇到的大多数问题:比如A有3块钱,B比A多2块,C的钱是B的3倍,求C多少钱这类问题。
当做传统代数题时,要遵循一定的规则。这些规则可能已经和实践融为一体,以至于我们不再认为它们是规则。但规则确实是任何形式的数学的基础:加法与乘法的交换律、加法和乘法的结合律、乘法对加法的分配律等。
传统代数的一个特点是它总是处理数字,如重量或数量,火车行驶的距离或家庭成员的年龄。是布尔超凡的智慧使代数脱离了数字的概念而变得更加抽象。在布尔代数中操作数不是指数字,而是指集(类)。一个类仅仅表示一组事物,也就是后来熟知的集合。
比如我们用字母M指代公猫的集合,用F指代母猫的集合。记住,这两个符号并不代表猫的数量,这两个字母代表的是猫的种类—具有某种特点的猫。另外,用T代表黄褐色的猫,用B代表黑猫,用W代表白猫,而用O代表所有其他颜色的猫。最后(至少就这个例子而言),猫要么是阉过的要么是有生育能力的。我们用字母N代表阉过的猫,而用U代表有生育能力的猫。
在布尔代数中,符号+意味着两个集合合并,两个集合的合并就是包含第一个集合的所有成员及第二个集合的所有成员。例如,B+W表示黑猫和白猫的集合。布尔代数中的符号×意味着取两个集合的交集,两个集合的交集包含的元素既在第一个集合中,也在第二个集合中。例如,F×T代表了一种猫的集合,这个集合中的猫既是母猫又是黄褐色的。与传统代数一样,我们可以把F×T写成F·T或简写为F T。你可以把这两个字母看成是连在一起的两个形容词:黄褐色的母猫。为避免传统代数和布尔代数之间的混淆,其实这里应该用符号∪和∩而不用+和×来表示并运算和交运算。
在这我们可以得到交换律、结合律和分配律在布尔代数中也均适用,篇幅有限,具体公式不展开分析。由此我们是为了说明在计算机中,基于硬件基础上做的最基本的运算不是我们所了解的代数运算,而是此处的逻辑运算,为了更形象的说明,举以下例子。
比如生活中常见的串联开关电路就属于与运算电路
并联开关电路属于或运算电路
和由此组成的更复杂的生活中基本不太能见到的运算电路
但上面这个稍显复杂的电路其实是有现实意义的,还是承接上面那个买猫的例子,当你走进宠物店时,告诉店员:“我想要一只阄过的公猫,白的或黄褐色的均可;或者要一只没生育能力的母猫,除了白色,其他任何颜色均可;或者只要是只黑猫,我也要。”店员如果布尔运算基本功扎实,便能得到如下的表达式:(M×N×(W+T))+(F×N×(1-W))+ B 然后就可以搭建上图所示的电路了。上面的开关就是有无该品种的猫,然后按图找猫,直到拿出一只无生育能力的灰色的母猫:下图灯泡亮起,满足条件(结果可能不止一种,这里只选一种情况)
逻辑门电路
如果每个客户的要求都是这样繁琐难记,而且库存的猫随着买卖数量也在变化,接待的店员一旦转头交给别的同事,那样这个同事又要从头看一遍要求了,所以我们有必要在客户提要求时就把需求模块化、规范化,这样无论是谁,只要找到对应客户的要求系统就可以操作了,比如下图这样(需求系统越复杂,越是批量化越值得这么做)
那么接下来就有问题了,我们知道在计算机专业术语中,开关是一种输入设备,输入是控制电路如何工作的信息。本例中输入开关对应于描述一只猫咪的4位信息,输出设备是灯泡。如果开关描述了一只符合条件的猫,灯泡就会亮。上面介绍的控制面板上的开关被设置成表示一只无生育能力的黑母猫,这是符合要求的,所以灯泡亮了。现在的问题是规范的设计一个使控制面板工作的电路,因为我们总不能每次都扯着线到处缠吧......
上文我们提到继电器对电报系统的工作十分重要。连接电报站的电线长距离时电阻很大,需要一种方法来接收微弱的信号并把它增强后发送出去。继电器通过使用电磁铁控制开关可做到这一点。事实上,继电器放大了一个很弱的信号使其成为一个强信号。就像这样:
就我们的目的而言,我们并不对它的信号放大能力感兴趣,真正使我们看重的是继电器作为开关可用电来控制而不用手指,在这就有点自动的意思了。那么继电器作为开关有什么好处吗?当然了,因为封装好的继电器市场上很容易买到(以后介绍的逻辑门或者更复杂的运算模块市场上都有卖,但为了更好的理解逻辑门,先用继电器自己搭建)。
我们先看下基础的逻辑门与继电器电路的一些联系,我们在书上见到的 ”AND gate(与门)”符号如下所示:
可以在想象中把它剖开,其实就是下面这个电路图,俩输入就是开关,输出就是灯泡
使用“与门”符号,结合在一起就是:
同样的,或门的符号电路对应关系如下
或门电路
或门符号
反向器的对应关系如下
反向器电路
反向器符号
由此,我们可以根据以上关系,使用继电器搭建这些简单的逻辑门,以便接下来的使用。
其实对于以上几个符号组合,我们在书本上可能已经了解到由4个与门和2个反向器组成的电路叫作“ 2 - 4译码器”。输入是两个二进制位的不同组合,共代表了4个不同的值。输出是4个信号,任何时刻只能有一个是1,至于哪一个是1取决于两个输入位。用同样的原理还可以构造“ 3 - 8译码器”或“4 - 1 6译码器”等等。这个以后细讲。现在又回到上面提到的选猫的电路了,很显而易见,使用继电器搭建的逻辑门,通过下图所示的方式连接在一起,对应的硬件电路就设计成功了。
补充的,通过了解以上的基本逻辑电路,我们也可以根据“NOR gate(或非门)”,“ NAND gate(与非门)”,缓冲器(输入=输出)等常用的基本逻辑门的意义很容易的用继电器搭建他们的电路,此处不一一列出。
由此我们越来越接近一般书本上开篇的理论知识了,下期我们就要使用这些基本的逻辑电路搭建一些更有意义的东西,比如一个简单的计算器,做一些加法运算。
逻辑门的七种基础运算法则
逻辑门是数字电路中的基本构建模块,用于执行逻辑运算。逻辑门主要有七种基本的运算法则,它们分别是:
与门(AND Gate):当所有输入都为逻辑“1”时,输出才会为逻辑“1”;否则,输出为逻辑“0”。
或门(OR Gate):当任一输入为逻辑“1”时,输出即为逻辑“1”,只有所有输入都为逻辑“0”时,输出才为逻辑“0”。
非门(NOT Gate):将输入取反,即如果输入为逻辑“1”,输出为逻辑“0”;如果输入为逻辑“0”,输出为逻辑“1”。
与非门(NAND Gate):与门的输出取反,即当所有输入都为逻辑“1”时,输出为逻辑“0”;否则,输出为逻辑“1”。
或非门(NOR Gate):或门的输出取反,即当任一输入为逻辑“1”时,输出为逻辑“0”,只有所有输入都为逻辑“0”时,输出为逻辑“1”。
异或门(XOR Gate):当仅有一个输入为逻辑“1”时,输出为逻辑“1”,否则,输出为逻辑“0”。
同或门(XNOR Gate):异或门的输出取反,即当输入相等时输出为逻辑"1",输入不等时输出为逻辑"0"。
这些逻辑门的运算法则是数字电路设计中的基础,通过它们的组合可以实现各种逻辑功能和运算。在数字电路中,逻辑门的运算法则被广泛用于设计逻辑功能和实现算术运算等任务。
相关问答
与非是什么芯片?与非门(英语:NANDgate)是数字电路的一种基本逻辑电路。是与门和非门的叠加,有多个输入和一个输出。若当输入均为高电平(1),则输出为低电平(0);若输入...与...
什么是 与非门 ?与非门(英语:NANDgate)是数字电路的一种基本逻辑电路。是与门和非门的叠加,有多个输入和一个输出。[1]若当输入均为高电平(1),则输出为低电平(0);若输...与...
与非门 规律?1、与非门(NANDgate):与非门的结果就是对两个输入信号先进行与运算,再对此与运算结果进行非运算的结果。也即是先与后非。如1和1(两端都有信号),则输出...
与非门 是什么?与非门(英语:NANDgate)是数字电路的一种基本逻辑电路。是与门和非门的叠加,有多个输入和一个输出。若当输入均为高电平(1),则输出为低电平(0);若输入...与...
COM 与非门 怎么判断?COM与非门(NANDgate)是一种基本的逻辑门,它具有两个输入和一个输出。两个输入信号都为真时,输出信号为假;否则输出信号为真。COM与非门的真值表如下:|输...
与门和 非门 功能特性?与非门(英语:NANDgate)是数字电路的一种基本逻辑电路。若当输入均为高电平(1),则输出为低电平(0);若输入中至少有一个为低电平(0),则输出为高电平(...与非门...
与门或门 非门 最简单的表示方法?1、与门的表达式为:Y=AB、或门的表达式为:Y=A+B、非门的表达式为:Y=非A。2、门电路的三种表达形式:与门(英语:ANDgate)又称“与电路”、逻辑“积”、逻...1...
非门 是什么?非门(英文:NOTgate)又称非电路、反相器、倒相器、逻辑否定电路,简称非门,是逻辑电路的基本单元。非门有一个输入和一个输出端。当其输入端为高电平(逻辑1...
总结逻辑门的逻辑功能异或们 与非门 _作业帮[最佳回答]逻辑门的功能是执行逻辑运算的电路,其功能通过其输入与输出之间的对应关系体现,也就是其真值表反映出功能,总结如下:与门(ANDGate):(输入)全1(输)...
什么叫 非门 ?非门(英文:NOTgate)又称非电路、反相器、倒相器、逻辑否定电路,简称非门,是逻辑电路的基本单元。非门有一个输入和一个输出端。当其输入端为高电平(逻辑1...