世界上第一臺(tái)計(jì)算機(jī)
認(rèn)真讀了之前一篇科普文章的讀者會(huì)問:“為什么計(jì)算機(jī)的CPU主要由邏輯門組成?”恭喜你,這說明你不僅“學(xué)”而且“思”了。邏輯門可以搭建邏輯電路,完成推理和判斷。但計(jì)算機(jī)更重要的能力還是計(jì)算。如果邏輯門不能完成計(jì)算,其作用就有限了。那么邏輯門能完成計(jì)算嗎?
從三角函數(shù)到微積分的所有計(jì)算,歸根到底都可以分解為“加、減、乘、除”計(jì)算,而它們又可以歸結(jié)為“加法”計(jì)算。因?yàn)闇p法等于加上負(fù)數(shù),乘法等于多次加法,除法等于多次減法。因此,只要邏輯門可以構(gòu)成“加法器”,理論上就可以完成所有計(jì)算。
邏輯門構(gòu)成加法器的關(guān)鍵,就是大名鼎鼎的二進(jìn)制。早在1679年,偉大的數(shù)學(xué)家萊布尼茲就發(fā)明了二進(jìn)制。就憑這一項(xiàng)發(fā)明,萊布尼茲對(duì)科學(xué)的貢獻(xiàn)度就應(yīng)該不在牛頓之下。
我們?nèi)粘J煜さ氖M(jìn)制有九個(gè)符號(hào):0、1、2、3、4、5、6、7、8、9,逢10進(jìn)1。二進(jìn)制只有兩個(gè)符號(hào):0、1,逢2進(jìn)1。圖1是二進(jìn)制與十進(jìn)制對(duì)照表。
圖1 二進(jìn)制
從圖中可以看出,只要記住逢2進(jìn)1,二進(jìn)制的加法計(jì)算與我們熟悉的十進(jìn)制是相同的,而且更加簡(jiǎn)潔。采用一些簡(jiǎn)單的數(shù)學(xué)技巧,二進(jìn)制數(shù)與十進(jìn)制數(shù)可以相互換算。
圖2是4位二進(jìn)制數(shù)的加法運(yùn)算:
圖2 二進(jìn)制加法運(yùn)算
從圖2可以分解出二進(jìn)制加法的2個(gè)環(huán)節(jié):
相加不進(jìn)位
相加進(jìn)位
圖3 二進(jìn)制相加分解
圖中右下角就是記0進(jìn)1的意思。
從圖3可以看出,進(jìn)位與不進(jìn)位輸出正好是2種邏輯門,如圖4所示:
圖4 與二進(jìn)制等價(jià)的2種邏輯門
圖中的進(jìn)位輸出恰好就是與(AND)門。而不進(jìn)位輸出可以用圖5的被稱為“異或門”的邏輯門構(gòu)成:
圖5 不進(jìn)位輸出邏輯門:異或門
用或門、與非門、與門構(gòu)成圖5左下角的邏輯電路,稱為異或(XOR)門。有興趣的讀者不妨用A=0 ,A=1,B=0,B=1輸入邏輯門,仔細(xì)運(yùn)算驗(yàn)證,其輸入輸出關(guān)系恰好就是二進(jìn)制加法的不進(jìn)位輸出。
現(xiàn)在我們可以用邏輯門來完成圖二進(jìn)制加法,如圖6。
圖6 半加器、全加器
任意多少位的二進(jìn)制加法器都可以用圖6所示的半加器、全加器構(gòu)成,如圖7。
圖7 用半加器、全加器構(gòu)成的加法器
圖7是加法器的原理示意圖,將其輸入輸出重新排列,就可以得到通常的加法器原理圖,如圖8所示。
圖8 8位加法器原理圖
用2個(gè)8位加法器串聯(lián)就可以構(gòu)成16位加法器。至此,我們就清楚了邏輯門構(gòu)成加法器的原理,從而也就理解了邏輯門完成計(jì)算的基本原理。但是請(qǐng)讀者們務(wù)必注意,以上的描述只是邏輯門完成計(jì)算的基本原理,實(shí)際過程要復(fù)雜許多。