收藏 分享(赏)

CPU逻辑运算原理.doc

上传人:精品资料 文档编号:9312961 上传时间:2019-08-01 格式:DOC 页数:12 大小:223.50KB
下载 相关 举报
CPU逻辑运算原理.doc_第1页
第1页 / 共12页
CPU逻辑运算原理.doc_第2页
第2页 / 共12页
CPU逻辑运算原理.doc_第3页
第3页 / 共12页
CPU逻辑运算原理.doc_第4页
第4页 / 共12页
CPU逻辑运算原理.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、CPU 逻辑运算原理第一季 继电器先不要扯什么图灵,冯诺依曼这些先贤。因为他们都太遥远。计算机一切计算的源头其实是源自一个非常非常中二的东西:“继电器(Relay)”。继电器是什么鬼?看下图,其实就是一个线圈利用电磁感应做成的电磁铁。原理和“电报机”一样,当开关闭合,黄色电路通电,线圈是金属棒变成磁铁,吸引中间的小开关(Anker),接通右边灰色的电路,点亮灯泡。简单说,就是你在家一按开关,隔壁老王家的灯亮了。第二季 “反相器”和“非门”为什么说继电器是个很中二的东西?因为这不就是开关吗?我按了它才亮,不按绝对不亮。但 CPU 真就是这货发展而来的。它的变种就开始好玩了。最简单的一个变种,就是

2、“反继电器”,或者叫“反相器(Inverter)”。就是隔壁老王家的灯本来是亮着的,我手上的开关一按,灯就灭了。“反相器“到了现代计算机里,就叫做“非门(NOT Gate)”。本来开关 T1 是接通的,Output 是 1(5V 高位电平)。一旦闭合开关 T1,电路中断,输出变为 0(1V 低位电平)。“非门”用下面这个符号表示。简单说,就是输出永远和输入是反的,输入 1,输出就是 0。输入 0,输出就是 1。第三季 逻辑门家族和“非门”一样,我们能得到一堆其他特性的门。比如,“与门(AND Gate)”,就是两个开关串联。必须两个开关同时闭合,灯泡才能亮。“或门(OR Gate)”,两个开关

3、并联,只要其中一个开关闭合,灯泡就会亮。长话短说,下图是所能得到的几个基本“逻辑门(Logic Gates)”。虽然看上去比较复杂,但“逻辑门”在本质上和之前讲的“继电器”都是“控制电路”。或者说都是我手里握着控制老王家花式吊灯的各种开关。老王一定很郁闷。第四季 逻辑逻辑门虽然被我说得很淳朴,就是控制隔壁老王家吊灯的开关。但其中却可能蕴含着人类大脑,甚至是这个世界终极奥义的一部分:逻辑(Logic)。这也是为什么它被叫做逻辑门。爱因斯坦曾说过:世界上最不可思议的事情,就是这个世界是可以被“理解”的。简直是细思极恐有木有!最简单的例子,亚里士多德给出的经典“Barbara”三段论:如果所有人(M

4、)都是必死的(P),(大前提)并且所有希腊人(S)都是人(M),(小前提)那么所有希腊人(S)都是必死的(P)。(结论)数学上,一个形式系統(Formal system)的野心就是想通过一组公理,和逻辑推理过程,来描述和证明我们的客观世界。说到这里我们计算机的祖师爷们就都出来了:莱布尼兹,康托尔,布尔,图灵,等等等等。著名的图灵机就是在这个议题的争论中无心插柳的副产品。这个主题无法展开。感兴趣推荐看 逻辑的引擎 (豆瓣) 这本书。这里只举一个最简单的“布尔代数(Boolean algebra)”的例子:我喜欢(长头发)的(不是)(蛇精脸)的女生用布尔代数来表示就是:长头发 AND ( NOT

5、蛇精脸)说到这里,是不是和前面说的逻辑门联系起来了?第五季 逻辑电路但是逻辑是逻辑,继电器是继电器,就算上面的花式继电器也是继电器。把逻辑和继电器联系起来的是一位不得不提的大师,克劳德艾尔伍德 香农(Claude Elwood Shannon)和他的那篇史上最牛硕士论文:继电器与开关电路的符号分析。绝对最牛,没有之一!还是之前那个例子:我喜欢(长头发)的(不是)(蛇精脸)的女生如果:A 代表:长头发B 代表:蛇精脸那我喜欢的女生就可以写成一个布尔函数:把一个逻辑命题用符号写成一个公式有什么用呢?那是因为这样就可以很方便地转换成一个“逻辑表决器”,如下图。原理很简单,当 A=1 时,纵向的 A

6、总线为 1。当 A=0 时, 总线输出 1。B 也是如此。最后的输出线搭在 A 总线和 总线上,用个与门连接。所以只有当 A 的输入为 1,B 的输入为 0 时,Out 才为 1,代表我能接受这个女孩。不信大家可以人肉推演一下。理论上任何布尔函数,都能转换成上面这样的表决器。就好像电路有了人类逻辑思考的能力。第六季 “图灵机”和“累加器”总算要说到计算机的祖师爷图灵(Turing)了。图灵机模型,相比上面说到的逻辑电路,要多一个“存储器”。因为根据图灵机模拟人类计算时大脑的工作状态的模型,人类的任何计算都可以抽象成一个机械化的过程。考虑 5+7=12 这个加法。5 加 7 等于 12,写下 2

7、,然后心中默记产生一个进位。最终写成 12。5+ 7-12换成二进制,是一个道理,0000 0101+ 0000 0111-0000 1100其中每一位的加法还是能分解成两个动作:1. 同一位的两个数字相加2. 如果当前位结果大于 1,则向前进一位第一个动作可能的结果(真值表)有:0 XOR 0=01 XOR 0=10 XOR 1=11 XOR 1=0这个真值表和一个简单的“异或门”是一致的。第二步进位,只有 1+1 才需要进位 1,所以真值表如下:0 AND 0=01 AND 0=00 AND 1=01 AND 1=1这和“与门”的真值表是一致的。所以把一个“异或门”和一个“与门”组合到一起

8、,就构成了一个“一位半加器”:但事实上一位半加器只适用于末位数的加法。高位的二进制加法需要考虑 3 个输入,就是还需要额外考虑上一位得到的进位。这个过程可以用两个半加器来完成。两个半加器组合起来,构成一个完整的“一位全加器”。把 8 个这样的一位全加器组合起来,就构成了一个“八位全加器”:从最末尾开始相加,刚才的 5+7:0000 0101 + 0000 0111反过来就变成:1010 0000+ 1110 0000-0011 0000把最初的进位 c_in 设为 0,得到的结果反过来就是: 0000 1100 = 12。至此,计算机好像拥有了人脑的部分智能。既然一组逻辑门,能计算加法,就一定

9、能做减法,乘法,除法,和其他计算。第六季 寄存器加减乘除远远不是逻辑门能做的全部事情。实际上电脑里出了硬盘,风扇,电池,其他几乎全是由逻辑电路和逻辑门组成的,包括我们说的内存。说内存先要说一下寄存器。这东西我觉得是比 CPU 更神奇的一个东西。绝对是一大黑魔法。用几个简单的逻辑门,就能在不断电的情况下一直”记住“上次的输入值。最简单的储存部件叫“SR 锁存器(Latch )”。其实就是两个 “或非门”。再看一眼或非门的真值表:只有两个输入都为 0,才输出 1。0 NOR 0 = 11 NOR 0 = 00 NOR 1 = 01 NOR 1 = 0其中具体电流怎么通过互相博弈达到稳态的细节就不展

10、开了。总之这个黑科技的最终效果就是:假设初始状态都是零:S=0, R=0。输出 Q=0, =0当 S 端给个信号 1,输出 Q=1, =0当 S 端变回信号 0,输出还是保持 Q=1, =0也就是说,这个元件记住了之前 S 端的输入 1。直到我们把 R 端设为 1,输出 Q 才变回 0。虽然这个 SR 锁存器离我们真实的“RAM 内存”还很遥远。但让逻辑门产生“记忆”的核心逻辑稳态锁就是这么简单的两个或非门。当我们把 SR 锁存器的两个输入端捏合成一个 D 输入端,再加上一个由时钟信号控制端 E,就得到一个更高级的“时序 D 锁存器”。如果不想头痛,只要记住这是一个能在时钟开关 E 打开的情况

11、下,记住 D 输入端进来的信号的装置。之后我们一直可以从Q 端得到之前 D 端的值。如果再复杂一点,把两个相反的时序 D 锁存器组合在一起,就能构成一个“D 触发器(D Flip Flop)”:触发器和之前的锁存器的区别是,只有当时钟信号处在上升沿(从 1V 向 5V 跃迁)的一瞬间,D 端的输入值才能写入触发器。并在随后的时间内,只要没有新的 D 输入写入,Q 一直保持这个值。D 触发器离我们的内存就没那么远了。只要再套上一个用于寻址的“解码器”和之前说过的“选择器”,就能实现从特定一组触发器中读取数据的效果啦。所以我们都知道 CPU 需要时钟来同步时序电路。但这个晶振时钟并不是像想象的那样

12、直接作用在 ALU(逻辑运算单元)上,而是通过寄存器来实现时序控制。感兴趣的可以看这个回答: 为什么 CPU 需要时钟才能工作? - 胖胖的回答第七季 硬件 V.s. 软件虽然,几乎所有计算都能设计出一个专门的逻辑运算器。但这样做似乎并不明智,否则逻辑部件的数量将以指数级增长。一个合理的方案,应该是用硬件实现部分必须的基础计算功能,然后已软件的方式,利用基础计算单元,完成复杂计算。就好像做乘法,不需要设计一个专门的“乘法器”,而是重复多次加法运算即可。这里就是所谓软件开始介入的地方。也就是所谓的“算法”开始放发挥作用,虽然并不是硬件无法胜任这项工作,而是把复杂性交给软件来处理似乎更合理。从此,在硬件这棵树上,开出了软件这朵花。也就有了”程序员“这个严重伤害颈椎和腰椎的职业。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报