眾所周知,cpu是電腦的「心臟」,是整個微機系統的核心,因此,它也往往成了各種檔次微機的代名詞,如昔日的286、386、486,奔騰、pii、k6到今天的piii、p4、k7等。回顧cpu發展歷史,cpu在製造技術上已經獲得了極大的提高,主要表現在整合的電子元件越來越多,從開始整合幾千個電晶體,到現在的幾百萬、幾千萬個電晶體,這麼多電晶體,它們是如果處理資料的呢?
◆ cpu的原始工作模式在了解cpu工作原理之前,我們先簡單談談cpu是如何生產出來的。cpu是在特別純淨的矽材料上製造的。乙個cpu晶元包含上百萬個精巧的電晶體。人們在一塊指甲蓋大小的矽片上,用化學的方法蝕刻或光刻出電晶體。因此,從這個意義上說,cpu正是由電晶體組合而成的。簡單而言,電晶體就是微型電子電子開關,它們是構建cpu的基石,你可以把乙個電晶體當作乙個電燈開關,它們有個操作位,分別代表兩種狀態:on(開)和off(關)。這一開一關就相等於電晶體的連通與斷開,而這兩種狀態正好與二進位制中的基礎狀態「0」和「1」對應!這樣,計算機就具備了處理資訊的能力。但你不要以為,只有簡單的「0」和「1」兩種狀態的電晶體的原理很簡單,其實它們的發展是經過科學家們多年的辛苦研究得來的。在電晶體之前,計算機依靠速度緩慢、低效率的真空電子管和機械開關來處理資訊。後來,科技人員把兩個晶體放置到乙個矽晶體中,這樣便創作出第乙個積體電路,再後來才有了微處理器。
看到這裡,你一定想知道,電晶體是如何利用「0」和「1」這兩種電子訊號來執行指令和處理資料的呢?其實,所有電子裝置都有自己的電路和開關,電子在電路中流動或斷開,完全由開關來控制,如果你將開關設定微off,電子將停止流動,如果你再將其設定為on,電子又會繼續流動。電晶體的這種on與off的切換只由電子訊號控制,我們可以將電晶體稱之為二進位制裝置。這樣,電晶體的on狀態用「1」來表示,而off狀態則用「0」來表示,就可以組成最簡單的二進位制數。眾多電晶體產生的多個「1」與「0」的特殊次序和模式能代表不同的情況,將其定義為字母、數字、顏色和圖形。舉個例子,十進位制位中的1在二進位制模式時也是「1」,2在二進位制位模式時是「10」,3是「11」,4是「100」,5是「101」,6是「110」等等,依此類推,這就組成了計算機工作採用的二進位制語言和資料。成組的電晶體聯合起來可以儲存數值,也可以進行邏輯運算和數字運算。加上石英時鐘的控制,電晶體組成就像一部複雜的機器那樣同步地執行它們的功能。 ◆ cpu的內部結構現在我們已經大概知道cpu是負責些什麼事情,但是具體由哪些部件負責處理資料和執行程式呢? 1.算術邏輯單元alu(arithmetic logic unit) alu是運算器的核心。它是以全加器為基礎,輔之以移位暫存器及相應控制邏輯組合而成的電路,在控制訊號的作用下可完成加、減、乘、除四則運算和各種邏輯運算。就像剛才提到的,這裡就相當於工廠中的生產線,負責運算資料。 2.暫存器組rs(register set或registers) rs實質上是cpu中暫時存放資料的地方,裡面儲存著那些等待處理的資料,或已經處理過的資料,cpu訪問暫存器所用的時間要比訪問記憶體的時間短。採用暫存器,可以減少cpu訪問記憶體的次數,從而提高了cpu的工作速度。但因為受到晶元面積和整合度所限,暫存器組的容量不可能很大。暫存器組可分為專用暫存器和通用暫存器。專用暫存器的作用是固定的,分別寄存相應的資料。而通用暫存器用途廣泛並可由程式設計師規定其用途。通用暫存器的數目因微處理器而異。
3.控制單元(control unit)正如工廠的物流分配部門,控制單元是整個cpu的指揮控制中心;由指令暫存器ir(instruction register)、指令解碼器id(instruction decoder)和操作控制器oc(operation controller)三個部件組成,對協調整個電腦有序工作極為重要。它根據使用者預先編好的程式,依次從暫存器中取出各條指令,放在指令暫存器ir中,通過指令解碼(分析)確定應該進行什麼操作,然後通過操作控制器oc,按確定的時序,向相應的部件發出微操作控制訊號。操作控制器oc中主要包括節拍脈衝發生器、控制矩陣、時鐘脈衝發生器、復位電路和啟停電路等控制邏輯
4.匯流排(bus)就像工廠中各部位之間的聯絡渠道,匯流排實際上是一組導線,是各種公共訊號線的集合,用於作為電腦中所有各組成部分傳輸資訊共同使用的「公路」。直接和cpu相連的匯流排可稱為區域性匯流排。其中包括:資料匯流排db(data bus)、位址匯流排ab(address bus)、控制匯流排cb(control bus)。其中,資料匯流排用來傳輸資料資訊;位址匯流排用於傳送cpu發出的位址資訊;控制匯流排用來傳送控制訊號、時序訊號和狀態資訊等。 ◆ cpu的工作流程由電晶體組成的cpu是作為處理資料和執行程式的核心,其英文全稱是:central processing unit,即**處理器。首先,cpu的內部結構可以分為控制單元,邏輯運算單元和儲存單元(包括內部匯流排及緩衝器)三大部分。cpu的工作原理就像乙個工廠對產品的加工過程:進入工廠的原料(程式指令),經過物資分配部門(控制單元)的排程分配,被送往生產線(邏輯運算單元),生產出成品(處理後的資料)後,再儲存在倉庫(儲存單元)中,最後等著拿到市場上去賣(交由應用程式使用)。在這個過程中,我們注意到從控制單元開始,cpu就開始了正式的工作,中間的過程是通過邏輯運算單元來進行運算處理,交到儲存單元代表工作的結束。 ◆ 資料與指令在cpu中的執行剛才已經為大家介紹了cpu的部件及基本原理情況,現在,我們來看看資料是怎樣在cpu中執行的。我們知道,資料從輸入裝置流經記憶體,等待cpu的處理,這些將要處理的資訊是按位元組儲存的,也就是以8位二進位制數或8位元為1個單元儲存,這些資訊可以是資料或指令。資料可以是二進位制表示的字元、數字或顏色等等。而指令告訴cpu對資料執行哪些操作,比如完成加法、減法或移位運算。我們假設在記憶體中的資料是最簡單的原始資料。首先,指令指標(instruction pointer)會通知cpu,將要執行的指令放置在記憶體中的儲存位置。因為記憶體中的每個儲存單元都有編號(稱為位址),可以根據這些位址把資料取出,通過位址匯流排送到控制單元中,指令解碼器從指令暫存器ir中拿來指令,翻譯成cpu可以執行的形式,然後決定完成該指令需要哪些必要的操作,它將告訴算術邏輯單元(alu)什麼時候計算,告訴指令讀取器什麼時候獲取數值,告訴指令解碼器什麼時候翻譯指令等等。假如資料被送往算術邏輯單元,資料將會執行指令中規定的算術運算和其他各種運算。當資料處理完畢後,將回到暫存器中,通過不同的指令將資料繼續執行或者通過db匯流排送到資料快取器中。基本上,cpu就是這樣去執行讀出資料、處理資料和往記憶體寫資料3項基本工作。但在通常情況下,一條指令可以包含按明確順序執行的許多操作,cpu的工作就是執行這些指令,完成一條指後,cpu的控制單元又將告訴指令讀取器從記憶體中讀取下一條指令來執行。這個過程不斷快速地重複,快速地執行一條又一條指令,產生您在顯示器上所看到的結果。我們很容易想到,在處理這麼多指令和資料的同時,由於資料轉移時差和cpu處理時差,肯定會出現混亂處理的情況。為了保證每個操作準時發生,cpu需要乙個時鐘,時鐘控制著cpu所執行的每乙個動作。時鐘就像乙個節拍器,它不停地發出脈衝,決定cpu的步調和處理時間,這就是我們所熟悉的cpu的標稱速度,也稱為主頻。主頻數值越高,表明cpu的工作速度越快。 ◆ 如何提高cpu工作效率既然cpu的主要工作是執行指令和處理資料,那麼工作效率將成為cpu的最主要內容,因此,各cpu廠商也盡力使用cpu處理資料的速度更快。根據cpu的內部運算結構,一些製造廠商在cpu內增加了另乙個算術邏輯單元(alu),或者是另外再設定乙個處理非常大和非常小的資料浮點運算單元(floating point unit,fpu),這樣就大大加快了資料運算的速度。而在執行效率方面,一些廠商通過流水線方式或以幾乎並行工作的方式執行指令的方法來提高指令的執行速度。剛才我們提到,指令的執行需要許多獨立的操作,諸如取指令和解碼等。最初cpu在執行下一條指令之前必須全部執行完上一條指令,而現在則由分布式的電路各自執行操作。也就是說,當這部分的電路完成了一件工作後,第二件工作立即佔據了該電路,這樣就大大增加了執行方面的效率。另外,為了讓指令與指令之間的連線更加準確,現在的cpu通常會採用多種**方式來控制指令更高效率地執行。
cpu的工作原理
cpu 只能識別機器碼,如110001010。每一位只有兩種狀態,分別表示高電平和低電平。如果用這種法式去編碼,就顯得不便記憶和理解。所以隨著時代的發展,就產生了組合語言。相對機器碼,組合語言就好理解多了。它主要通過彙編指令集來實現編碼。不過cpu還是不能直接來識別出彙編碼,要通過編譯器來對組合語言...
CPU 的工作原理
cpu 的根本任務就是執行指令,對計算機來說最終都是一串由 0 和 1 組成的序列。cpu 從邏輯上可以劃分成 3 個模組,分別是控制單元 運算單元和儲存單元 其內部架構如下 控制單元 控制單元是整個cpu的指揮控制中心,由指令暫存器ir instruction register 指令解碼器id i...
CPU快取的工作原理
當cpu要讀取乙個資料時,首先會從快取 cache 中查詢,如果找到就立即讀取並送給cpu處理 如果沒有找到,就用相對慢的速度從記憶體中讀取並送給cpu處理,同時把這個資料所在的資料塊調入快取中,可以使得以後對整塊資料的讀取都從快取中進行,不必再呼叫記憶體。通過優化的的讀取機制,可以使cpu讀取快取...