CPU到底是什么东西?它为什么能够执行数学运算?
本文地址http://*******nyong.cn/?p=20转载无需经过作者本人授权
简单的物理电路
先来看一张初中学过的物理电路图:
从图中我们可以看出这是一个简单的串联和并联还有反相器的电路。[注:反相器没有按照标准来画]
图中的 a 和 b 代表着控制电路的开关,通过控制这两个开关的通电状态来控制灯泡的亮与不亮。
我们用数字 1 和 0 来表示开关的通电和断电的状态表示,1 表示通电状态,0 表示断电状态。同样的,我们也用数字 1 和 0 来表示灯泡亮与不亮的状态, 1 表示灯泡亮了,0 表示灯泡不亮。
那么通过我们学过的物理电路的知识,上图中三个电路,分别有以下三种控制结果:




以上三个表格分别表示就是对应了上图中三个电路通过对开关的控制,进而控制灯泡的亮与否。
别小看了这三个简单的电路控制结果的表格,因为这是现代计算机产生的物理基础。可以说,现代计算机的产生就是由这个演变而来的。一个复杂的 CPU 就是从这么简单的电路演变而来的。至于怎么演变来的,接下来该是英国数学家 乔治·布尔 和美国电子工程师 克劳德·艾尔伍德·香农 登场了。
乔治·布尔
乔治布尔这个数学家发明了两个概念:一个叫集合,一个叫布尔逻辑。咱们先来看下集合。有学过数学的都知道在集合中,有存在着三种操作,分别是:交集、并集、差集。如下图所示:

相信从上图中,有解开一部分程序员的疑惑,那就是我们在写代码的过程中,一直用到的 OR / AND / NOT 逻辑操作,到底是从哪里来的。其实我们用的就是这个伟大的数学家提出的这个集合的概念以及三种最基本的运算。从上图中可以看出,第一个就是 并集 的运算,第二个就是 交集 的集合运算,第三个就是 差集 的集合运算。而使用到的符号就是这个数学家发明的:[OR]或、[AND]与、[NOT]非
再来看下 布尔逻辑 。在布尔逻辑中,只使用两个值,一个是 0,一个是 1。讲这个布尔逻辑这么简单到底有啥用呢?再来看下一个叫 真值表 的东西,表格如下:




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/27931.html