CPU邏輯運算原理_第1頁
CPU邏輯運算原理_第2頁
CPU邏輯運算原理_第3頁
CPU邏輯運算原理_第4頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、CPU邏輯運算原理第一季繼電器先不要扯什么圖靈,馮諾依曼這些先賢。因為他們都太遙遠(yuǎn)。計算機一切計算的源頭其實是源自一個非常非常中二的東西:“繼電器( Relay )” 。繼電器是什么鬼看下圖,其實就是一個線圈利用電磁感應(yīng)做成的電磁鐵。原理和“電報機”一樣,當(dāng)開關(guān)閉合,黃色電路通電,線圈是金屬棒變成磁鐵,吸引中間的小開關(guān)(Anker ),接通右邊灰色的電路,點亮燈泡。簡單說,就是你在家一按開關(guān),隔壁老王家的燈亮了。第二季“反相器”和“非門”為什么說繼電器是個很中二的東西因為這不就是開關(guān)嗎我按了它才亮,不按絕對不亮。但CPU真就是這貨發(fā)展而來的。它的變種就開始好玩了。最簡單的一個變種,就是“反繼電

2、器”,或者叫“反相器( Inverter)”。就是隔壁老王家的燈本來是亮著的,我手上的開關(guān)一按,燈就滅了。"反相器 "到了現(xiàn)代計算機里,就叫做“非門( NOT Gate)”。本來開關(guān) T1 是接通的, Output是 1( 5V高位電平)。一旦閉合開關(guān)T1 ,電路中斷,輸出變?yōu)?( 1V 低位電平)?!胺情T”用下面這個符號表示。簡單說,就是輸出永遠(yuǎn)和輸入是反的,輸入1 ,輸出就是0。輸入 0 ,輸出就是 1。第三季邏輯門家族和“非門”一樣,我們能得到一堆其他特性的門。比如,“與門( AND Gate)”,就是兩個開關(guān)串聯(lián)。必須兩個開關(guān)同時閉合,燈泡才能亮?!盎蜷T( OR G

3、ate )” ,兩個開關(guān)并聯(lián),只要其中一個開關(guān)閉合,燈泡就會亮。長話短說,下圖是所能得到的幾個基本“邏輯門( Logic Gates)” 。雖然看上去比較復(fù)雜,但“邏輯門”在本質(zhì)上和之前講的“繼電器”都是“控制電路”。都是我手里握著控制老王家花式吊燈的各種開關(guān)。老王一定很郁悶。或者說第四季邏輯邏輯門雖然被我說得很淳樸,就是控制隔壁老王家吊燈的開關(guān)。但其中卻可能蘊含著人類大腦,甚至是這個世界終極奧義的一部分:邏輯( Logic )。這也是為什么它被叫做邏輯門。愛因斯坦曾說過:世界上最不可思議的事情,就是這個世界是可以被“理解”的。簡直是細(xì)思極恐有木有!最簡單的例子,亞里士多德給出的經(jīng)典“ Bar

4、bara ”三段論 :如果所有人( M )都是必死的( P),(大前提)并且所有希臘人(S)都是人( M ),(小前提)那么所有希臘人(S)都是必死的( P)。(結(jié)論)數(shù)學(xué)上,一個 形式系統(tǒng) ( Formal system)的野心就是想通過一組公理,和邏輯推理過程,來描述和證明我們的客觀世界。說到這里我們計算機的祖師爺們就都出來了:萊布尼茲,康托爾,布爾,圖靈,等等等等。著名的圖靈機就是在這個議題的爭論中無心插柳的副產(chǎn)品。這個主題無法展開。感興趣推薦看這本書。這里只舉一個最簡單的“布爾代數(shù)( Boolean algebra)” 的例子:我喜歡(長頭發(fā))的(不是)(蛇精臉)的女生用布爾代數(shù)來表示

5、就是:長頭發(fā)AND( NOT蛇精臉)說到這里,是不是和前面說的邏輯門聯(lián)系起來了第五季邏輯電路但是邏輯是邏輯,繼電器是繼電器,就算上面的花式繼電器也是繼電器。把邏輯和繼電器聯(lián)系起來的是一位不得不提的大師,克勞德·艾爾伍德·香農(nóng)(Claude Elwood Shannon)和他的那篇史上最牛碩士論文:繼電器與開關(guān)電路的符號分析。絕對最牛,沒有之一!還是之前那個例子:我喜歡(長頭發(fā))的(不是)(蛇精臉)的女生如果:A 代表:長頭發(fā)B 代表:蛇精臉那我喜歡的女生就可以寫成一個布爾函數(shù):把一個邏輯命題用符號寫成一個公式有什么用呢那是因為這樣就可以很方便地轉(zhuǎn)換成一個“ 邏輯表決器”,

6、如下圖。原理很簡單,當(dāng)A=1 時,縱向的 A 總線為 1 。當(dāng) A=0 時,總線輸出 1。B 也是如此。最后的輸出線搭在A 總線和總線上,用個與門連接。所以只有當(dāng)A 的輸入為 1, B 的輸入為 0時, Out 才為 1 ,代表我能接受這個女孩。不信大家可以人肉推演一下。理論上任何布爾函數(shù),都能轉(zhuǎn)換成上面這樣的表決器。就好像電路有了人類邏輯思考的能力。第六季“圖靈機”和“累加器”總算要說到計算機的祖師爺圖靈( Turing)了。圖靈機模型,相比上面說到的邏輯電路,要多一個 “存儲器” 。因為根據(jù)圖靈機模擬人類計算時大腦的工作狀態(tài)的模型,人類的任何計算都可以抽象成一個機械化的過程??紤] 5+7=

7、12這個加法。 5 加 7 等于 12 ,寫下 2 ,然后心中默記產(chǎn)生一個進(jìn)位。最終寫成12 。5+ 7-12換成二進(jìn)制,是一個道理,0000 0101+ 0000 0111-0000 1100其中每一位的加法還是能分解成兩個動作:1. 同一位的兩個數(shù)字相加2. 如果當(dāng)前位結(jié)果大于 1 ,則向前進(jìn)一位第一個動作可能的結(jié)果(真值表)有:0 XOR 0=01 XOR 0=10 XOR 1=11 XOR 1=0這個真值表和一個簡單的“異或門 ”是一致的。第二步進(jìn)位,只有1+1 才需要進(jìn)位1 ,所以真值表如下:0 AND 0=01 AND 0=00 AND 1=01 AND 1=1這和“ 與門 ”的真

8、值表是一致的。所以把一個 “異或門” 和一個 “與門” 組合到一起,就構(gòu)成了一個“一位半加器” :但事實上一位半加器只適用于末位數(shù)的加法。高位的二進(jìn)制加法需要考慮3 個輸入,就是還需要額外考慮上一位得到的進(jìn)位。這個過程可以用兩個半加器來完成。兩個半加器組合起來,構(gòu)成一個完整的“一位全加器” 。把 8 個這樣的一位全加器組合起來,就構(gòu)成了一個“八位全加器” :從最末尾開始相加,剛才的5+7 :00000101 + 0000 0111反過來就變成:1010 0000+ 1110 0000-0011 0000把最初的進(jìn)位c_in 設(shè)為 0 ,得到的結(jié)果反過來就是:0000 1100 = 12。至此,

9、計算機好像擁有了人腦的部分智能。既然一組邏輯門,能計算加法,就一定能做減法,乘法,除法,和其他計算。第六季寄存器加減乘除遠(yuǎn)遠(yuǎn)不是邏輯門能做的全部事情。實際上電腦里出了硬盤,風(fēng)扇,電池,其他幾乎全是由邏輯電路和邏輯門組成的,包括我們說的內(nèi)存。說內(nèi)存先要說一下寄存器。這東西我覺得是比CPU 更神奇的一個東西。絕對是一大黑魔法。用幾個簡單的邏輯門,就能在不斷電的情況下一直”記住“上次的輸入值。最簡單的儲存部件叫“SR 鎖存器( Latch )” 。其實就是兩個“或非門”。再看一眼或非門的真值表:只有兩個輸入都為0,才輸出 1。0NOR0=11NOR0=00NOR1=01NOR1=0其中具體電流怎么通

10、過互相博弈達(dá)到穩(wěn)態(tài)的細(xì)節(jié)就不展開了??傊@個黑科技的最終效果就是:假設(shè)初始狀態(tài)都是零:S=0, R=0 。輸出 Q=0 ,=0當(dāng) S 端給個信號1,輸出 Q=1 ,=0當(dāng) S 端變回信號0,輸出還是保持Q=1 ,=0也就是說,這個元件記住了之前S 端的輸入 1 。直到我們把R 端設(shè)為 1,輸出 Q 才變回 0 。雖然這個 SR 鎖存器離我們真實的“RAM 內(nèi)存”還很遙遠(yuǎn)。但讓邏輯門產(chǎn)生“記憶”的核心邏輯穩(wěn)態(tài)鎖就是這么簡單的兩個或非門。當(dāng)我們把 SR 鎖存器的兩個輸入端捏合成一個D 輸入端,再加上一個由時鐘信號控制端E,就得到一個更高級的“時序 D 鎖存器” 。如果不想頭痛,只要記住這是一個能在

11、時鐘開關(guān)E 打開的情況下,記住D 輸入端進(jìn)來的信號的裝置。之后我們一直可以從Q 端得到之前D 端的值。如果再復(fù)雜一點,把兩個相反的時序D 鎖存器組合在一起,就能構(gòu)成一個“ D 觸發(fā)器( D FlipFlop )” :觸發(fā)器和之前的鎖存器的區(qū)別是,只有當(dāng)時鐘信號處在上升沿(從1V向5V躍遷)的一瞬間,D 端的輸入值才能寫入觸發(fā)器。并在隨后的時間內(nèi),只要沒有新的D 輸入寫入,Q 一直保持這個值。D 觸發(fā)器離我們的內(nèi)存就沒那么遠(yuǎn)了。只要再套上一個用于尋址的“解碼器”和之前說過的“選擇器”,就能實現(xiàn)從特定一組觸發(fā)器中讀取數(shù)據(jù)的效果啦。所以我們都知道 CPU 需要時鐘來同步時序電路。但這個晶振時鐘并不是像想象的那樣直接作用在 ALU (邏輯運算單元) 上,而是通過寄存器來實現(xiàn)時序控制。感興趣的可以看這個回答:第七季 硬件 . 軟件雖然,幾乎所有計算都能設(shè)計出一個專門的邏輯運算器。但這樣做似乎并不明智,否則邏輯部件的數(shù)量將以指數(shù)級增長。一個合理的方案,應(yīng)該是用硬件實現(xiàn)部分必須的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論