Amiya · 2022年01月30日

为芯片奠定数学基础的那些大佬们都是谁?

1:莱布尼茨的二进制和八卦

在你看本文的这一刻,手机处理器中,正有千万门级别或者亿门的MOS管在关闭和打开,来实现不同的与,或,非的运算。

这一切数学基础都要从数学最基础的原理来说起。

人类从呱呱坠地开始,耳濡目染最开始就是十进制,小朋友也很容易接受,并可以很快掌握十进制的加减法。

十进制非常通俗易懂,它成为了人类最早的数学基础。

世界上不同的文明都出现了类似十进制的描述,例如几千年前的苏美尔楔形文字,汉字,后来的阿拉伯数字都有十进制的描述。
image.png
这个不奇怪,因为人类进化了十根手指头,用手指头来数数再自然而不过了。

但是,有人觉得十进制并不完美。

1701年,德国数学家莱布尼茨法国科学院提交并宣读了他题为《数学科学新论》的研究论文。

在这篇文章中,他提出了用0和1两个数表示全部数字的方法。
image.png
如上表所示,每个数字都可以表示一个二进制数。二进制数中只有0和1,没有其他符号。

鲁道夫·奥古斯特公爵研究莱布尼茨的二进制数学后认为二进制数学符合《圣经·创世纪》中的记载,是“上帝的算法”。因为太简洁了,符合上帝从无到有创建世界的描述。

奥古斯特公爵很喜欢,但是科学院却把这篇论文给拒了。

当时的法国科学院院长单内认为,看不出这篇论文有什么用处。

论文有什么用?

解决了什么重大问题?

有什么实际的价值?

这个思路就一直存在于审稿人的脑海里面,几百年未曾改变。

那么有个问题摆在莱布尼茨的面前,二进制有什么用?

作为我们300多年后的我们,对于二进制的作用是非常清楚的。但是在当时给二进制找个应用的确是个难题。

但是莱布尼茨作为大数学家,大哲学家。十七世纪的亚里士多德。可以和牛顿争夺微积分发明权的大佬,肯定不会被这个小问题难住。

但是用了两年时间,直到1703年莱布尼茨收到白晋所寄的伏羲八卦图,才发现自己的二进制体系与伏羲八卦图的一致性。

白晋是法国神父,曾经担任康熙皇帝的数学老师,1697年奉康熙之名回法国招募人才,并与莱布尼茨相识,多次书信来往,白晋由此给莱布尼茨介绍了中国的易经和八卦。

于是,莱布尼茨补充了本项研究意义,并发表在法国皇家科学院院刊上。

标题是《二进制算术阐述-仅仅使用数字0和1兼论其效能及伏羲数字的意义》。

莱布尼茨大神,打算用二进制来描述中国的八卦。
image.png
对于卦象来说,一根长线代表阳爻(阳),两根短线代表阴爻(阴)。

也就是阴阳。

易经说:道生一,无极变太极;一生二,太极变两仪;二生三,两仪变四象;三生万物,四象旋转,世界诞生。八卦,正如其名,是对宇宙后续变化的推演。

从伏羲八卦中找到二进制的意义,这个不是什么戏说。

很多学者论述了,莱布尼茨不是根据八卦而发明二进制,而是发明了二进制才遇到了伏羲八卦,因此本文采用这个说法,而不牵强附会中国的八卦给了莱布尼茨发明二进制的灵感。

对于莱布尼茨这个大数学家来说,二进制只是其很小的数学成就,但是却是当今信息时代存在的数学基础。

我们这个信息时代都是建立在二进制上的,在这一点上,莱布尼茨居功至伟。

但是,仅仅有二进制是不够的。

2:布尔运算的真和假

莱布尼茨发明了二进制。此时的二进制还只能像十进制那样运算,加减乘除。

就是换个方式来运算,没有什么稀奇。

而乔治·布尔则带了一种运算,那就是布尔代数。

乔治·布尔,1815年出生在英格兰的林肯,少时家贫,但敏而好学,自学成才,全部的志向都放在数学上。

1847年,布尔出版了《逻辑的数学分析,论演绎推理的演算法》。

从此在数学界名气大震,并且从“编外人员”到有了正式的教职。

1854年,他又出版了《思维规律的研究,作为逻辑与概率的数学理论的基础》,其中完满地讨论了这个主题并奠定了所谓的数理逻辑的基础。为这一学科的发展铺平了道路。

布尔代数讲述内容很多,但其最典型的就是两种值和三种运算。

布尔在整个计算中,定义两种值,也就是真和假。1(true),0(false)。

三种基本运算,就是与(AND),或(OR),非(NOT)。

与或非也可以用符号表示:   &   |    !  三种符号表示。
image.png
与就是两个值都为真才为真。

或就是两个值有一个为真就为真。

真的非就是假,假的非就是真。

这个就是两种值,三种运算的含义。

有点哲学的意思。

布尔通过研究发现:所有的数字算数运算,都可以用布尔代数化简成为 0和1的与或非操作。

例如:加法a+b

进位就是a&b,而加完后0位是(a&!b)|(b&!a)

也就是可以用与、或、非来表示加减。
image.png
 二进制配合布尔代数,能够表示所有的数学运算。

1864年,布尔去世。但是他发明的这些计算方式,将在100年后得到应用,成为计算机体系中的基本运算。

用与、或、非的运算来等价表示加减乘除的运算,这个就是布尔留给后世的财富。

3:香农:硕士论文和开关电路

克劳德·艾尔伍德·香农是美国数学家,也是信息论的创始人。

但是,在成为信息论奠基者之前,学生时代的他就发表了一篇划时代的论文。

1936年,正在读硕士的香农发表了著名论文《继电器和开关电路的符号分析》。

在当时能够实现开关电路的技术方案就是继电器。

通过磁体通断打开或者关闭。

如果继电器打开,电流带来磁场,继电器合上,电路闭合。

如果继电器关闭,磁场消失,继电器关闭,电路断开。
image.png
这个开关电路给了香农灵感,配合布尔代数。

香农给出了布尔代数一种物理实现方式。

串联的开关电路就是布尔运算的与操作,两个开关a和b都关闭,灯才能亮。

这个电路就是a&b
image.png
而并联的开关电路就是布尔运算的或操作。两个开关有一个关闭,灯就会亮。

这个电路就是a|b
image.png
是不是看起来简单极了。

还没有硕士毕业的香农,奠定了现在数字电路的基础。

布尔计算可以将任何运算化简为与、或、非。

所以不断重复这两种电路,就可以通过电路实现任意运算。

此时,从莱布尼茨提出了二进制,已经过去了两百多年,离布尔发表布尔运算也过去接近100年。

终于,香农说,你们的数学表达,我可以用物理电路来实现了。

这个就是现代计算机的基石。

哈佛大学的霍华德·加德纳(Howard Gardner)教授评价:“这可能是本世纪最重要、最著名的一篇硕士论文。”

4:晶体管和集成电路

1947年,美国物理学家肖克利、巴丁和布拉顿三人合作发明了晶体管。

晶体管的诞生,替代了原来的继电器,电子管等设备。

成为了整个信息时代的基础。

在晶体管发明十年后的1958年,34岁的基尔比加入德州仪器公司。然后有了把多个晶体管放到一起的想法。于是,集成电路诞生了。

又过了十二年,1970年,第一个CPU,英特尔4004诞生了。

这些基础都变成如下MOS管的开关电路,下图就是一个开关电路(gate)。通过控制栅极电压,实现Source和Drain的通断。
image.png
时至今日,芯片的集成度不断的增加。

最新的CPU,GPU,手机处理器等等, 其晶体管的数量都已经超过百亿级别。
image.png
但是,其内部运行的数学逻辑,仍然是莱布尼茨提出的二进制,布尔发明的布尔计算,和香农描述的开关电路。

一直没有改变!

作者:IC bug 猎人
原文链接:歪睿老哥

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
19637
内容数
1303
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息