世界上第一台計算機
認真讀了之前一篇科普文章的讀者會(hui) 問:“為(wei) 什麽(me) 計算機的CPU主要由邏輯門組成?”恭喜你,這說明你不僅(jin) “學”而且“思”了。邏輯門可以搭建邏輯電路,完成推理和判斷。但計算機更重要的能力還是計算。如果邏輯門不能完成計算,其作用就有限了。那麽(me) 邏輯門能完成計算嗎?
從(cong) 三角函數到微積分的所有計算,歸根到底都可以分解為(wei) “加、減、乘、除”計算,而它們(men) 又可以歸結為(wei) “加法”計算。因為(wei) 減法等於(yu) 加上負數,乘法等於(yu) 多次加法,除法等於(yu) 多次減法。因此,隻要邏輯門可以構成“加法器”,理論上就可以完成所有計算。
邏輯門構成加法器的關(guan) 鍵,就是大名鼎鼎的二進製。早在1679年,偉(wei) 大的數學家萊布尼茲(zi) 就發明了二進製。就憑這一項發明,萊布尼茲(zi) 對科學的貢獻度就應該不在牛頓之下。
我們(men) 日常熟悉的十進製有九個(ge) 符號:0、1、2、3、4、5、6、7、8、9,逢10進1。二進製隻有兩(liang) 個(ge) 符號:0、1,逢2進1。圖1是二進製與(yu) 十進製對照表。
圖1 二進製
從(cong) 圖中可以看出,隻要記住逢2進1,二進製的加法計算與(yu) 我們(men) 熟悉的十進製是相同的,而且更加簡潔。采用一些簡單的數學技巧,二進製數與(yu) 十進製數可以相互換算。
圖2是4位二進製數的加法運算:
圖2 二進製加法運算
從(cong) 圖2可以分解出二進製加法的2個(ge) 環節:
相加不進位
相加進位
圖3 二進製相加分解
圖中右下角就是記0進1的意思。
從(cong) 圖3可以看出,進位與(yu) 不進位輸出正好是2種邏輯門,如圖4所示:
圖4 與(yu) 二進製等價(jia) 的2種邏輯門
圖中的進位輸出恰好就是與(yu) (AND)門。而不進位輸出可以用圖5的被稱為(wei) “異或門”的邏輯門構成:
圖5 不進位輸出邏輯門:異或門
用或門、與(yu) 非門、與(yu) 門構成圖5左下角的邏輯電路,稱為(wei) 異或(XOR)門。有興(xing) 趣的讀者不妨用A=0 ,A=1,B=0,B=1輸入邏輯門,仔細運算驗證,其輸入輸出關(guan) 係恰好就是二進製加法的不進位輸出。
現在我們(men) 可以用邏輯門來完成圖二進製加法,如圖6。
圖6 半加器、全加器
任意多少位的二進製加法器都可以用圖6所示的半加器、全加器構成,如圖7。
圖7 用半加器、全加器構成的加法器
圖7是加法器的原理示意圖,將其輸入輸出重新排列,就可以得到通常的加法器原理圖,如圖8所示。
圖8 8位加法器原理圖
用2個(ge) 8位加法器串聯就可以構成16位加法器。至此,我們(men) 就清楚了邏輯門構成加法器的原理,從(cong) 而也就理解了邏輯門完成計算的基本原理。但是請讀者們(men) 務必注意,以上的描述隻是邏輯門完成計算的基本原理,實際過程要複雜許多。