1:萊布尼茨的二進制和八卦
在你看本文的這一刻,手機處理器中,正有千萬門級別或者億門的MOS管在關(guān)閉和打開,來實現(xiàn)不同的與,或,非的運算。
這一切數(shù)學(xué)基礎(chǔ)都要從數(shù)學(xué)最基礎(chǔ)的原理來說起。
人類從呱呱墜地開始,耳濡目染最開始就是十進制,小朋友也很容易接受,并可以很快掌握十進制的加減法。
十進制非常通俗易懂,它成為了人類最早的數(shù)學(xué)基礎(chǔ)。
世界上不同的文明都出現(xiàn)了類似十進制的描述,例如幾千年前的蘇美爾楔形文字,漢字,后來的阿拉伯?dāng)?shù)字都有十進制的描述。
這個不奇怪,因為人類進化了十根手指頭,用手指頭來數(shù)數(shù)再自然而不過了。
但是,有人覺得十進制并不完美。
1701年,德國數(shù)學(xué)家萊布尼茨法國科學(xué)院提交并宣讀了他題為《數(shù)學(xué)科學(xué)新論》的研究論文。
在這篇文章中,他提出了用0和1兩個數(shù)表示全部數(shù)字的方法。
如上表所示,每個數(shù)字都可以表示一個二進制數(shù)。二進制數(shù)中只有0和1,沒有其他符號。
魯?shù)婪?middot;奧古斯特公爵研究萊布尼茨的二進制數(shù)學(xué)后認為二進制數(shù)學(xué)符合《圣經(jīng)·創(chuàng)世紀》中的記載,是“上帝的算法”。因為太簡潔了,符合上帝從無到有創(chuàng)建世界的描述。
奧古斯特公爵很喜歡,但是科學(xué)院卻把這篇論文給拒了。
當(dāng)時的法國科學(xué)院院長單內(nèi)認為,看不出這篇論文有什么用處。
論文有什么用?
解決了什么重大問題?
有什么實際的價值?
這個思路就一直存在于審稿人的腦海里面,幾百年未曾改變。
那么有個問題擺在萊布尼茨的面前,二進制有什么用?
作為我們300多年后的我們,對于二進制的作用是非常清楚的。但是在當(dāng)時給二進制找個應(yīng)用的確是個難題。
但是萊布尼茨作為大數(shù)學(xué)家,大哲學(xué)家。十七世紀的亞里士多德??梢院团nD爭奪微積分發(fā)明權(quán)的大佬,肯定不會被這個小問題難住。
但是用了兩年時間,直到1703年萊布尼茨收到白晉所寄的伏羲八卦圖,才發(fā)現(xiàn)自己的二進制體系與伏羲八卦圖的一致性。
白晉是法國神父,曾經(jīng)擔(dān)任康熙皇帝的數(shù)學(xué)老師,1697年奉康熙之名回法國招募人才,并與萊布尼茨相識,多次書信來往,白晉由此給萊布尼茨介紹了中國的易經(jīng)和八卦。
于是,萊布尼茨補充了本項研究意義,并發(fā)表在法國皇家科學(xué)院院刊上。標(biāo)題是《二進制算術(shù)闡述-僅僅使用數(shù)字0和1兼論其效能及伏羲數(shù)字的意義》。
萊布尼茨大神,打算用二進制來描述中國的八卦。
對于卦象來說,一根長線代表陽爻(陽),兩根短線代表陰爻(陰)。
也就是陰陽。
易經(jīng)說:道生一,無極變太極;一生二,太極變兩儀;二生三,兩儀變四象;三生萬物,四象旋轉(zhuǎn),世界誕生。八卦,正如其名,是對宇宙后續(xù)變化的推演。
從伏羲八卦中找到二進制的意義,這個不是什么戲說。
很多學(xué)者論述了,萊布尼茨不是根據(jù)八卦而發(fā)明二進制,而是發(fā)明了二進制才遇到了伏羲八卦,因此本文采用這個說法,而不牽強附會中國的八卦給了萊布尼茨發(fā)明二進制的靈感。
對于萊布尼茨這個大數(shù)學(xué)家來說,二進制只是其很小的數(shù)學(xué)成就,但是卻是當(dāng)今信息時代存在的數(shù)學(xué)基礎(chǔ)。
我們這個信息時代都是建立在二進制上的,在這一點上,萊布尼茨居功至偉。
但是,僅僅有二進制是不夠的。
2:布爾運算的真和假
萊布尼茨發(fā)明了二進制。此時的二進制還只能像十進制那樣運算,加減乘除。
就是換個方式來運算,沒有什么稀奇。
而喬治·布爾則帶了一種運算,那就是布爾代數(shù)。
喬治·布爾,1815年出生在英格蘭的林肯,少時家貧,但敏而好學(xué),自學(xué)成才,全部的志向都放在數(shù)學(xué)上。
1847年,布爾出版了《邏輯的數(shù)學(xué)分析,論演繹推理的演算法》。
從此在數(shù)學(xué)界名氣大震,并且從“編外人員”到有了正式的教職。
1854年,他又出版了《思維規(guī)律的研究,作為邏輯與概率的數(shù)學(xué)理論的基礎(chǔ)》,其中完滿地討論了這個主題并奠定了所謂的數(shù)理邏輯的基礎(chǔ)。為這一學(xué)科的發(fā)展鋪平了道路。
布爾代數(shù)講述內(nèi)容很多,但其最典型的就是兩種值和三種運算。
布爾在整個計算中,定義兩種值,也就是真和假。1(true),0(false)。
三種基本運算,就是與(AND),或(OR),非(NOT)。
與或非也可以用符號表示: & | ! 三種符號表示。
與就是兩個值都為真才為真。
或就是兩個值有一個為真就為真。
真的非就是假,假的非就是真。
這個就是兩種值,三種運算的含義。
有點哲學(xué)的意思。
布爾通過研究發(fā)現(xiàn):所有的數(shù)字算數(shù)運算,都可以用布爾代數(shù)化簡成為 0和1的與或非操作。
例如:加法a+b
進位就是a&b,而加完后0位是(a&!b)|(b&!a)
也就是可以用與、或、非來表示加減。
二進制配合布爾代數(shù),能夠表示所有的數(shù)學(xué)運算。
1864年,布爾去世。但是他發(fā)明的這些計算方式,將在100年后得到應(yīng)用,成為計算機體系中的基本運算。
用與、或、非的運算來等價表示加減乘除的運算,這個就是布爾留給后世的財富。
3:香農(nóng):碩士論文和開關(guān)電路
克勞德·艾爾伍德·香農(nóng)是美國數(shù)學(xué)家,也是信息論的創(chuàng)始人。
但是,在成為信息論奠基者之前,學(xué)生時代的他就發(fā)表了一篇劃時代的論文。
1936年,正在讀碩士的香農(nóng)發(fā)表了著名論文《繼電器和開關(guān)電路的符號分析》。
在當(dāng)時能夠?qū)崿F(xiàn)開關(guān)電路的技術(shù)方案就是繼電器。
通過磁體通斷打開或者關(guān)閉。
如果繼電器打開,電流帶來磁場,繼電器合上,電路閉合。
如果繼電器關(guān)閉,磁場消失,繼電器關(guān)閉,電路斷開。
這個開關(guān)電路給了香農(nóng)靈感,配合布爾代數(shù)。
香農(nóng)給出了布爾代數(shù)一種物理實現(xiàn)方式。
串聯(lián)的開關(guān)電路就是布爾運算的與操作,兩個開關(guān)a和b都關(guān)閉,燈才能亮。
這個電路就是a&b
而并聯(lián)的開關(guān)電路就是布爾運算的或操作。兩個開關(guān)有一個關(guān)閉,燈就會亮。
這個電路就是a|b
是不是看起來簡單極了。
還沒有碩士畢業(yè)的香農(nóng),奠定了現(xiàn)在數(shù)字電路的基礎(chǔ)。
布爾計算可以將任何運算化簡為與、或、非。
所以不斷重復(fù)這兩種電路,就可以通過電路實現(xiàn)任意運算。
此時,從萊布尼茨提出了二進制,已經(jīng)過去了兩百多年,離布爾發(fā)表布爾運算也過去接近100年。
終于,香農(nóng)說,你們的數(shù)學(xué)表達,我可以用物理電路來實現(xiàn)了。
這個就是現(xiàn)代計算機的基石。
哈佛大學(xué)的霍華德·加德納(Howard Gardner)教授評價:“這可能是本世紀最重要、最著名的一篇碩士論文。”
4:晶體管和集成電路
1947年,美國物理學(xué)家肖克利、巴丁和布拉頓三人合作發(fā)明了晶體管。
晶體管的誕生,替代了原來的繼電器,電子管等設(shè)備。
成為了整個信息時代的基礎(chǔ)。
在晶體管發(fā)明十年后的1958年,34歲的基爾比加入德州儀器公司。然后有了把多個晶體管放到一起的想法。于是,集成電路誕生了。
又過了十二年,1970年,第一個CPU,英特爾4004誕生了。
這些基礎(chǔ)都變成如下MOS管的開關(guān)電路,下圖就是一個開關(guān)電路(gate)。通過控制柵極電壓,實現(xiàn)Source和Drain的通斷。
時至今日,芯片的集成度不斷的增加。
最新的CPU,GPU,手機處理器等等, 其晶體管的數(shù)量都已經(jīng)超過百億級別。
晶體管數(shù)量 |
制程 |
|
M1 |
160億 |
5nm |
安培A100 |
540億 |
7nm |
A14 |
125億 |
5nm |
153億 |
5nm |
但是,其內(nèi)部運行的數(shù)學(xué)邏輯,仍然是萊布尼茨提出的二進制,布爾發(fā)明的布爾計算,和香農(nóng)描述的開關(guān)電路。
一直沒有改變!