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

下載本文檔

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

文檔簡(jiǎn)介

.CPU邏輯運(yùn)算原理第一季 繼電器先不要扯什么圖靈,馮諾依曼這些先賢。因?yàn)樗麄兌继b遠(yuǎn)。計(jì)算機(jī)一切計(jì)算的源頭其實(shí)是源自一個(gè)非常非常中二的東西: “繼電器(Relay)”。繼電器是什么鬼?看下圖,其實(shí)就是一個(gè)線圈利用電磁感應(yīng)做成的電磁鐵。原理和“電報(bào)機(jī)”一樣,當(dāng)開關(guān)閉合,黃色電路通電,線圈是金屬棒變成磁鐵,吸引中間的小開關(guān)(Anker),接通右邊灰色的電路,點(diǎn)亮燈泡。簡(jiǎn)單說(shuō),就是你在家一按開關(guān),隔壁老王家的燈亮了。第二季 “反相器”和“非門”為什么說(shuō)繼電器是個(gè)很中二的東西?因?yàn)檫@不就是開關(guān)嗎?我按了它才亮, 不按絕對(duì)不亮。但CPU真就是這貨發(fā)展而來(lái)的。它的變種就開始好玩了。最簡(jiǎn)單的一個(gè)變種,就是“反繼電器”,或者叫“反相器(Inverter)”。就是隔壁老王家的燈本來(lái)是亮著的,我手上的開關(guān)一按,燈就滅了。Word專業(yè)資料."反相器"到了現(xiàn)代計(jì)算機(jī)里,就叫做“非門(NOTGate)”。本來(lái)開關(guān)T1是接通的,Output是1(5V高位電平)。一旦閉合開關(guān)T1,電路中斷,輸出變?yōu)?(1V低位電平)?!胺情T”用下面這個(gè)符號(hào)表示。簡(jiǎn)單說(shuō),就是輸出永遠(yuǎn)和輸入是反的,輸入 1,輸出就是0。輸入0,輸出就是 1。第三季 邏輯門家族和“非門”一樣,我們能得到一堆其他特性的門。比如,“與門(ANDGate)”,就是兩個(gè)開關(guān)串聯(lián)。必須兩個(gè)開關(guān)同時(shí)閉合,燈泡才能亮。Word專業(yè)資料.“或門(ORGate)”,兩個(gè)開關(guān)并聯(lián),只要其中一個(gè)開關(guān)閉合,燈泡就會(huì)亮。長(zhǎng)話短說(shuō),下圖是所能得到的幾個(gè)基本 “邏輯門(LogicGates)”。雖然看上去比較復(fù)雜,但 “邏輯門”在本質(zhì)上和之前講的“繼電器”都是“控制電路”?;蛘哒f(shuō)都是我手里握著控制老王家花式吊燈的各種開關(guān)。 老王一定很郁悶。第四季 邏輯Word專業(yè)資料.邏輯門雖然被我說(shuō)得很淳樸, 就是控制隔壁老王家吊燈的開關(guān)。 但其中卻可能蘊(yùn)含著人類大腦,甚至是這個(gè)世界終極奧義的一部分: 邏輯(Logic)。這也是為什么它被叫做邏輯門。愛(ài)因斯坦曾說(shuō)過(guò):世界上最不可思議的事情 ,就是這個(gè)世界是可以被“理解”的。簡(jiǎn)直是細(xì)思極恐有木有!最簡(jiǎn)單的例子,亞里士多德給出的經(jīng)典 “Barbara”三段論:如果所有人(M)都是必死的(P),(大前提)并且所有希臘人( S)都是人(M),(小前提)那么所有希臘人( S)都是必死的(P)。(結(jié)論)數(shù)學(xué)上,一個(gè)形式系統(tǒng)(Formalsystem)的野心就是想通過(guò)一組公理, 和邏輯推理過(guò)程,來(lái)描述和證明我們的客觀世界。說(shuō)到這里我們計(jì)算機(jī)的祖師爺們就都出來(lái)了:萊布尼茲,康托爾,布爾,圖靈,等等等等。著名的圖靈機(jī)就是在這個(gè)議題的爭(zhēng)論中無(wú)心插柳的副產(chǎn)品。這個(gè)主題無(wú)法展開。感興趣推薦看《邏輯的引擎(豆瓣)》這本書。這里只舉一個(gè)最簡(jiǎn)單的“布爾代數(shù)(Booleanalgebra)”的例子:我喜歡(長(zhǎng)頭發(fā))的(不是)(蛇精臉)的女生用布爾代數(shù)來(lái)表示就是:長(zhǎng)頭發(fā) AND (NOT 蛇精臉)說(shuō)到這里,是不是和前面說(shuō)的邏輯門聯(lián)系起來(lái)了?第五季 邏輯電路但是邏輯是邏輯,繼電器是繼電器,就算上面的花式繼電器也是繼電器。把邏輯和繼電器聯(lián)系起來(lái)的是一位不得不提的大師,克勞德·艾爾伍德·香農(nóng)(ClaudeElwoodShannon)和他的那篇史上最牛碩士論文:《繼電器與開關(guān)電路的符號(hào)分析》。絕對(duì)最牛,沒(méi)有之一!還是之前那個(gè)例子:我喜歡(長(zhǎng)頭發(fā))的(不是)(蛇精臉)的女生如果:代表:長(zhǎng)頭發(fā)代表:蛇精臉那我喜歡的女生就可以寫成一個(gè)布爾函數(shù):把一個(gè)邏輯命題用符號(hào)寫成一個(gè)公式有什么用呢?那是因?yàn)檫@樣就可以很方便地轉(zhuǎn)換成一個(gè)“邏輯表決器”,如下圖。Word專業(yè)資料.原理很簡(jiǎn)單,當(dāng) A=1時(shí),縱向的A總線為1。當(dāng)A=0時(shí), 總線輸出1。B也是如此。最后的輸出線搭在 A總線和 總線上,用個(gè)與門連接。所以只有當(dāng) A的輸入為1,B的輸入為0時(shí),Out才為1,代表我能接受這個(gè)女孩。不信大家可以人肉推演一下。理論上任何布爾函數(shù),都能轉(zhuǎn)換成上面這樣的表決器。就好像電路有了人類邏輯思考的能力。第六季 “圖靈機(jī)”和“累加器”總算要說(shuō)到計(jì)算機(jī)的祖師爺圖靈(Turing)了。圖靈機(jī)模型,相比上面說(shuō)到的邏輯電路,要多一個(gè)“存儲(chǔ)器”。因?yàn)楦鶕?jù)圖靈機(jī)模擬人類計(jì)算時(shí)大腦的工作狀態(tài)的模型,人類的任何計(jì)算都可以抽象成一個(gè)機(jī)械化的過(guò)程??紤]5+7=12 這個(gè)加法。5加7等于12,寫下2,然后心中默記產(chǎn)生一個(gè)進(jìn)位。最終寫成12。57-----12換成二進(jìn)制,是一個(gè)道理,0000010100000111-------------00001100其中每一位的加法還是能分解成兩個(gè)動(dòng)作:同一位的兩個(gè)數(shù)字相加如果當(dāng)前位結(jié)果大于1,則向前進(jìn)一位第一個(gè)動(dòng)作可能的結(jié)果(真值表)有:0XOR0=01XOR0=1Word專業(yè)資料.0XOR1=11XOR1=0這個(gè)真值表和一個(gè)簡(jiǎn)單的“ 異或門”是一致的。第二步進(jìn)位,只有 1+1才需要進(jìn)位 1,所以真值表如下:0AND0=01AND0=00AND1=01AND1=1這和“與門”的真值表是一致的。所以把一個(gè)“異或門”和一個(gè)“與門”組合到一起,就構(gòu)成了一個(gè) “一位半加器” :但事實(shí)上一位半加器只適用于末位數(shù)的加法。高位的二進(jìn)制加法需要考慮3個(gè)輸入,就是還需要額外考慮上一位得到的進(jìn)位。這個(gè)過(guò)程可以用兩個(gè)半加器來(lái)完成。兩個(gè)半加器組合起來(lái),構(gòu)成一個(gè)完整的 “一位全加器”。把8個(gè)這樣的一位全加器組合起來(lái),就構(gòu)成了一個(gè) “八位全加器”:從最末尾開始相加,剛才的 5+7:Word專業(yè)資料.00000101+00000111反過(guò)來(lái)就變成:1010000011100000-------------00110000把最初的進(jìn)位 c_in設(shè)為0,得到的結(jié)果反過(guò)來(lái)就是: 00001100=12。至此,計(jì)算機(jī)好像擁有了人腦的部分智能。既然一組邏輯門,能計(jì)算加法,就一定能做減法,乘法,除法,和其他計(jì)算。第六季 寄存器加減乘除遠(yuǎn)遠(yuǎn)不是邏輯門能做的全部事情。實(shí)際上電腦里出了硬盤,風(fēng)扇,電池,其他幾乎全是由邏輯電路和邏輯門組成的,包括我們說(shuō)的存。說(shuō)存先要說(shuō)一下寄存器。這東西我覺(jué)得是比CPU更神奇的一個(gè)東西。絕對(duì)是一大黑魔法。用幾個(gè)簡(jiǎn)單的邏輯門,就能在不斷電的情況下一直”記住“上次的輸入值。最簡(jiǎn)單的儲(chǔ)存部件叫 “SR鎖存器(Latch)”。其實(shí)就是兩個(gè)“或非門”。再看一眼或非門的真值表:只有兩個(gè)輸入都為 0,才輸出1。0NOR0=11NOR0=00NOR1=01NOR1=0其中具體電流怎么通過(guò)互相博弈達(dá)到穩(wěn)態(tài)的細(xì)節(jié)就不展開了??傊@個(gè)黑科技的最終效果就是:假設(shè)初始狀態(tài)都是零:S=0,R=0。輸出Q=0,=0當(dāng)S端給個(gè)信號(hào) 1,輸出Q=1, =0當(dāng)S端變回信號(hào) 0,輸出還是保持 Q=1, =0Word專業(yè)資料.也就是說(shuō),這個(gè)元件記住了之前 S端的輸入1。直到我們把 R端設(shè)為1,輸出Q才變回0。雖然這個(gè)SR鎖存器離我們真實(shí)的“ RAM存”還很遙遠(yuǎn)。但讓邏輯門產(chǎn)生“記憶”的核心邏輯穩(wěn)態(tài)鎖就是這么簡(jiǎn)單的兩個(gè)或非門。當(dāng)我們把SR鎖存器的兩個(gè)輸入端捏合成一個(gè) D輸入端,再加上一個(gè)由時(shí)鐘信號(hào)控制端E,就得到一個(gè)更高級(jí)的 “時(shí)序D鎖存器”。如果不想頭痛,只要記住 這是一個(gè)能在時(shí)鐘開關(guān)E打開的情況下,記住 D輸入端進(jìn)來(lái)的信號(hào)的裝置 。之后我們一直可以從 Q端得到之前D端的值。如果再?gòu)?fù)雜一點(diǎn),把兩個(gè)相反的時(shí)序D鎖存器組合在一起,就能構(gòu)成一個(gè)“D觸發(fā)器(DFlipFlop)”:觸發(fā)器和之前的鎖存器的區(qū)別是,只有當(dāng)時(shí)鐘信號(hào)處在上升沿(從 1V向5V躍遷)的一瞬間,D端的輸入值才能寫入觸發(fā)器。并在隨后的時(shí)間,只要沒(méi)有新的 D輸入寫入,Q一直保持這個(gè)值。觸發(fā)器離我們的存就沒(méi)那么遠(yuǎn)了。只要再套上一個(gè)用于尋址的“解碼器”和之前說(shuō)過(guò)的“選擇器”,就能實(shí)現(xiàn)從特定一組觸發(fā)器中讀取數(shù)據(jù)的效果啦。所以我們都知道CPU需要時(shí)鐘來(lái)同步時(shí)序電路。但這個(gè)晶振時(shí)鐘并不是像想象的那樣直接作用在ALU(邏輯運(yùn)算單元)上,而是通過(guò)寄存器來(lái)實(shí)現(xiàn)時(shí)序控制。感興趣的可以看這個(gè)回答:為什么CPU需要時(shí)鐘才能工作?-胖胖的回答第七季 硬件 V.s.軟件雖然,幾乎所有計(jì)算都能設(shè)計(jì)出一個(gè)專門的邏輯運(yùn)算器。但這樣做似乎并不明智,否則邏輯部件的數(shù)量將以指數(shù)級(jí)增長(zhǎng)。一個(gè)合理的方案,應(yīng)該是用硬件實(shí)現(xiàn)部分必

溫馨提示

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

評(píng)論

0/150

提交評(píng)論