《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 智能生活離不開它 CPU是怎么工作計算的

智能生活離不開它 CPU是怎么工作計算的

2016-11-25
關(guān)鍵詞: CPU ALU 寄存器 指令

       我們現(xiàn)在的智能手機(jī),、電視,、電腦、空調(diào)等等東西都在向智能化的方向發(fā)展,,要想實現(xiàn)這個“智能”,,達(dá)到很高的境界就好像真的人為控制一樣,,人們一直為此努力,可能你不知道,,在現(xiàn)在的生活中控制這些東西的就是“處理器”這個東西,,人們把一定的規(guī)則編程輸入,模擬人類行為,。

  現(xiàn)在我們說什么高通,、英特爾等等它們都是生產(chǎn)處理器的著名廠商。

30(1).jpg 

  生產(chǎn)出來這個東西,,就是處理器,,你們可能了解幾核心、處理速度等等,,但是它是怎么工作的,,你知道嗎?

31.jpg

  世界第一臺計算機(jī)出現(xiàn),,造成體積龐大的原因就是等眾多的二極管,、電線組成的處理器,但是自從集成電路和微型晶片出來以后,,從此計算機(jī)微型化開始,,不斷的縮小變種。所以現(xiàn)在的手機(jī),、電腦等等用的處理器工作原理都是一樣的,。

  處理器說的通俗易懂就是有很多開關(guān)通過控制進(jìn)行組合打開關(guān)閉的操作來讓電子通過,控制電子設(shè)備,,所有的電子設(shè)備都有自己的開關(guān)和電路,,通過打開這些開關(guān)進(jìn)行組合,控制這些電子設(shè)備的打開關(guān)閉,,這就是處理器最基本的運(yùn)作方式,。

  現(xiàn)在的CPU是在特別純凈的硅材料上面制造的,通過光刻,,一個CPU芯片上面包含了上百萬個晶體管,,而這些晶體管就是所謂的微型開關(guān),,它是構(gòu)建CPU的基石。編程的人都知道,,電腦只認(rèn)識“0”和“1”,,而“0”和“1”就相當(dāng)于晶體管的兩種狀態(tài):開 、關(guān),,這樣的運(yùn)作方式表現(xiàn)出來就是處理器的處理信息的能力,。

  那你一定就有點納悶,晶體管又是如何利用“0”和“1”這兩種電子信號來執(zhí)行指令和處理數(shù)據(jù)的呢,?

  其實,,所有電子設(shè)備都有自己的電路和開關(guān),電子在電路中流動或斷開,,完全由開關(guān)來控制,,如果你將開關(guān)設(shè)置為OFF,電子將停止流動,,如果你再將其設(shè)置為ON,電子又會繼續(xù)流動,。晶體管的這種ON與OFF的切換只由電子信號控制,,我們可以將晶體管稱之為二進(jìn)制設(shè)備。這樣,,晶體管的ON狀態(tài)用“1”來表示,,而OFF狀態(tài)則用“0”來表示,就可以組成最簡單的二進(jìn)制數(shù),。眾多晶體管產(chǎn)生的多個“1”與“0”的特殊次序和模式能代表不同的情況,,將其定義為字母、數(shù)字,、顏色和圖形,。舉個例子,十進(jìn)位中的1在二進(jìn)位模式時也是“1”,,2在二進(jìn)位模式時是“10”,,3是“11”,4是“100”,,5是“101”,,6是“110”等等,依此類推,,這就組成了計算機(jī)工作采用的二進(jìn)制語言和數(shù)據(jù),。成組的晶體管聯(lián)合起來可以存儲數(shù)值,也可以進(jìn)行邏輯運(yùn)算和數(shù)字運(yùn)算,。加上石英時鐘的控制,,晶體管組就像一部復(fù)雜的機(jī)器那樣同步地執(zhí)行它們的功能,。

  而一個擁有計算能力的處理器并不光光是二極管,而是有非常復(fù)雜的結(jié)構(gòu)組成,,那么復(fù)雜處理數(shù)據(jù)和執(zhí)行程序是怎么實現(xiàn)的呢,?

  1.算術(shù)邏輯單元ALU(Arithmetic Logic Unit)

  ALU是運(yùn)算器的核心。它是以全加器為基礎(chǔ),,輔之以移位寄存器及相應(yīng)控制邏輯組合而成的電路,,在控制信號的作用下可完成加、減,、乘,、除四則運(yùn)算和各種邏輯運(yùn)算。就像剛才提到的,,這里就相當(dāng)于工廠中的生產(chǎn)線,,負(fù)責(zé)運(yùn)算數(shù)據(jù)。

  2.寄存器組 RS(Register Set或Registers)

  RS實質(zhì)上是CPU中暫時存放數(shù)據(jù)的地方,,里面保存著那些等待處理的數(shù)據(jù),,或已經(jīng)處理過的數(shù)據(jù),CPU訪問寄存器所用的時間要比訪問內(nèi)存的時間短,。采用寄存器,,可以減少CPU訪問內(nèi)存的次數(shù),從而提高了CPU的工作速度,。但因為受到芯片面積和集成度所限,,寄存器組的容量不可能很大。寄存器組可分為專用寄存器和通用寄存器,。專用寄存器的作用是固定的,,分別寄存相應(yīng)的數(shù)據(jù)。而通用寄存器用途廣泛并可由程序員規(guī)定其用途,。通用寄存器的數(shù)目因微處理器而異,。

       3.控制單元(Control Unit)

  正如工廠的物流分配部門,控制單元是整個CPU的指揮控制中心,,由指令寄存器IR(Instruction Register),、指令譯碼器ID(Instruction Decoder)和操作控制器OC(Operation Controller)三個部件組成,對協(xié)調(diào)整個電腦有序工作極為重要,。它根據(jù)用戶預(yù)先編好的程序,,依次從存儲器中取出各條指令,放在指令寄存器IR中,,通過指令譯碼(分析)確定應(yīng)該進(jìn)行什么操作,,然后通過操作控制器OC,按確定的時序,向相應(yīng)的部件發(fā)出微操作控制信號,。操作控制器OC中主要包括節(jié)拍脈沖發(fā)生器,、控制矩陣、時鐘脈沖發(fā)生器,、復(fù)位電路和啟停電路等控制邏輯,。

  4.總線(Bus)

  就像工廠中各部位之間的聯(lián)系渠道,總線實際上是一組導(dǎo)線,,是各種公共信號線的集合,,用于作為電腦中所有各組成部分傳輸信息共同使用的“公路”。直接和CPU相連的總線可稱為局部總線,。其中包括: 數(shù)據(jù)總線DB(Data Bus),、地址總線AB(Address Bus) 、控制總線CB(Control Bus),。其中,,數(shù)據(jù)總線用來傳輸數(shù)據(jù)信息;地址總線用于傳送CPU發(fā)出的地址信息,;控制總線用來傳送控制信號,、時序信號和狀態(tài)信息等。

  CPU的工作流程

  由晶體管組成的CPU是作為處理數(shù)據(jù)和執(zhí)行程序的核心,,其英文全稱是:Central Processing Unit,,即中央處理器。首先,,CPU的內(nèi)部結(jié)構(gòu)可以分為控制單元,邏輯運(yùn)算單元和存儲單元(包括內(nèi)部總線及緩沖器)三大部分,。CPU的工作原理就像一個工廠對產(chǎn)品的加工過程:進(jìn)入工廠的原料(程序指令),,經(jīng)過物資分配部門(控制單元)的調(diào)度分配,被送往生產(chǎn)線(邏輯運(yùn)算單元),,生產(chǎn)出成品(處理后的數(shù)據(jù))后,,再存儲在倉庫(存儲單元)中,最后等著拿到市場上去賣(交由應(yīng)用程序使用),。在這個過程中,,我們注意到從控制單元開始,CPU就開始了正式的工作,,中間的過程是通過邏輯運(yùn)算單元來進(jìn)行運(yùn)算處理,,交到存儲單元代表工作的結(jié)束。

  數(shù)據(jù)與指令在CPU中的運(yùn)行

  剛才已經(jīng)為大家介紹了CPU的部件及基本原理情況,,現(xiàn)在,,我們來看看數(shù)據(jù)是怎樣在CPU中運(yùn)行的。我們知道,,數(shù)據(jù)從輸入設(shè)備流經(jīng)內(nèi)存,,等待CPU的處理,,這些將要處理的信息是按字節(jié)存儲的,也就是以8位二進(jìn)制數(shù)或8比特為1個單元存儲,,這些信息可以是數(shù)據(jù)或指令,。數(shù)據(jù)可以是二進(jìn)制表示的字符、數(shù)字或顏色等等,。而指令告訴CPU對數(shù)據(jù)執(zhí)行哪些操作,,比如完成加法、減法或移位運(yùn)算,。

  我們假設(shè)在內(nèi)存中的數(shù)據(jù)是最簡單的原始數(shù)據(jù),。首先,指令指針(Instruction Pointer)會通知CPU,,將要執(zhí)行的指令放置在內(nèi)存中的存儲位置,。因為內(nèi)存中的每個存儲單元都有編號(稱為地址),可以根據(jù)這些地址把數(shù)據(jù)取出,,通過地址總線送到控制單元中,,指令譯碼器從指令寄存器IR中拿來指令,翻譯成CPU可以執(zhí)行的形式,,然后決定完成該指令需要哪些必要的操作,,它將告訴算術(shù)邏輯單元(ALU)什么時候計算,告訴指令讀取器什么時候獲取數(shù)值,,告訴指令譯碼器什么時候翻譯指令等等,。

  假如數(shù)據(jù)被送往算術(shù)邏輯單元,數(shù)據(jù)將會執(zhí)行指令中規(guī)定的算術(shù)運(yùn)算和其他各種運(yùn)算,。當(dāng)數(shù)據(jù)處理完畢后,,將回到寄存器中,通過不同的指令將數(shù)據(jù)繼續(xù)運(yùn)行或者通過DB總線送到數(shù)據(jù)緩存器中,。

  基本上,,CPU就是這樣去執(zhí)行讀出數(shù)據(jù)、處理數(shù)據(jù)和往內(nèi)存寫數(shù)據(jù)3項基本工作,。但在通常情況下,,一條指令可以包含按明確順序執(zhí)行的許多操作,CPU的工作就是執(zhí)行這些指令,,完成一條指令后,,CPU的控制單元又將告訴指令讀取器從內(nèi)存中讀取下一條指令來執(zhí)行。這個過程不斷快速地重復(fù),,快速地執(zhí)行一條又一條指令,,產(chǎn)生你在顯示器上所看到的結(jié)果。我們很容易想到,在處理這么多指令和數(shù)據(jù)的同時,,由于數(shù)據(jù)轉(zhuǎn)移時差和CPU處理時差,,肯定會出現(xiàn)混亂處理的情況。為了保證每個操作準(zhǔn)時發(fā)生,,CPU需要一個時鐘,,時鐘控制著CPU所執(zhí)行的每一個動作。時鐘就像一個節(jié)拍器,,它不停地發(fā)出脈沖,,決定CPU的步調(diào)和處理時間,這就是我們所熟悉的CPU的標(biāo)稱速度,,也稱為主頻,。主頻數(shù)值越高,表明CPU的工作速度越快,。

  一個小小的芯片,,卻擁有飛快的計算能力,科技改變生活,,這就是科技進(jìn)步的結(jié)果,,不知道若干年后,這個由原來的機(jī)型變成現(xiàn)在小小的芯片,,以后會變成什么,,科技就是如此神奇。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]