本內(nèi)容介紹了計算機(jī)cpu的內(nèi)部結(jié)構(gòu)、CPU的工作原理和性能指標(biāo),全面的介紹了計算機(jī)CPU。
計算機(jī)CPU的性能指標(biāo)
從CPU的構(gòu)造功能方面論述CPU性能指標(biāo)對于計算機(jī)運行的重要作用,從而芻議了CPU的性能指標(biāo)。CPU是計算機(jī)的三大核心部件之一,全稱為(CentralProcessing Unit),CPU很小巧卻是整個計算機(jī)的運算核心和控制核心。用通俗的比喻來解釋就是相當(dāng)于人的大腦。它的主要功能是解釋計算機(jī)指令以及處理計算機(jī)軟件中的數(shù)據(jù)。對于一臺計算機(jī)而言CPU性能的好壞直接決定著整個計算機(jī)的運行。
在計算機(jī)系統(tǒng)中CPU是由運算器和控制器兩大部分組成的。它主要負(fù)責(zé)協(xié)調(diào)并且控制計算機(jī)各部件執(zhí)行程序的指令序列,對數(shù)據(jù)進(jìn)行加工。具體功能包括:指令控制、操作控制、時間控制、數(shù)據(jù)加工、中斷處理等。計算機(jī)發(fā)展到今天,CPU的性能指標(biāo)已經(jīng)成為一個重要的研究課題了,所以對于計算機(jī)CPU性能指標(biāo)的探析是非常重要的。
1 頻率所謂CPU的頻率就是指它的工作頻率。
(1)主頻其實就是CPU內(nèi)核工作時的時鐘頻率。CPU的主頻所表示的是CPU內(nèi)數(shù)字脈沖信號震蕩的速度。所以并不能直接說明主頻的速度是計算機(jī)CPU的運行速度的直接反映形式,我們并不能完全用主頻來概括CPU的性能。這是我們最關(guān)心的,我們所說的233、300等就是指的主頻。
(2)外頻是系統(tǒng)總線的工作頻率,即CPU的基準(zhǔn)頻率,是CPU與主板之間同步運行的速度。外頻速度越高,CPU就可以同時接受更多來自外圍設(shè)備的數(shù)據(jù),從而使整個系統(tǒng)的速度進(jìn)一步提高。
(3)倍頻則是指CPU外頻與主頻相差的倍數(shù)。
2 緩存容量一般來說存容量越大,性能也就越高,CPU的緩存一般分為內(nèi)部緩存(L1 Cache)和外部緩存(L2 Cache)。封閉在CPU芯片內(nèi)部的高速緩存,用于暫時存儲CPU運算時的部分指令和數(shù)據(jù),存取速度與CPU主頻一致,L1緩存的容量單位一般為KB。外部緩存(L2 Cache):CPU外部的高速緩存,Pentium Pro處理器的L2和CPU運行在相同頻率下的,但成本昂貴,所以Pentium II運行在相當(dāng)于CPU頻率一半下的,容量為512K。
內(nèi)部緩存越大,CPU工作時與存取速度較慢的外部緩存和內(nèi)部緩存間交換數(shù)據(jù)的次數(shù)越少,相對電腦的運算速度可以提高。L1高速緩存與CPU同步運行,其緩存容量大小對CPU的性能影響較大。L2高速緩存也稱為二級高速緩存( L2Cache)的容量和頻率對CPU的性能影響也較大,其作用就是協(xié)調(diào)CPU的運行速度與內(nèi)存存取速度之間的差異。L2高速緩存是CPU晶體管總數(shù)中占得最多得一部分,由于L2高速緩存得成本很高,因此L2高速緩存得容量大小一般用來作為高端和低端CPU產(chǎn)品得分界標(biāo)準(zhǔn)。
3 工作電壓因素工作電壓指的也就是CPU正常工作所需的電壓。早期計算機(jī)運行時需要的電壓比較高通常為5V,隨著技術(shù)的不斷改進(jìn)現(xiàn)在CPU正常運行所需要的電壓比較低了。CPU的正常工作電壓是一個比較寬的范圍,一般最低可以達(dá)到1.1V,在低電壓下依然可以穩(wěn)定的工作。提高工作電壓,可以加強(qiáng)CPU內(nèi)部信號,增加CPU的穩(wěn)定性能。但會導(dǎo)致CPU的發(fā)熱問題,CPU發(fā)熱將改變CPU的化學(xué)介質(zhì),降低CPU的壽命。
4 流水線的性能指標(biāo)衡量流水線性能的主要指標(biāo)有吞吐率、加速比和效率。
CPU的原始工作模式
在了解CPU工作原理之前,我們先簡單談?wù)凜PU是如何生產(chǎn)出來的。CPU是在特別純凈的硅材料上制造的。一個CPU芯片包含上百萬個精巧的晶體管。人們在一塊指甲蓋大小的硅片上,用化學(xué)的方法蝕刻或光刻出晶體管。因此,從這個意義上說,CPU正是由晶體管組合而成的。簡單而言,晶體管就是微型電子開關(guān),它們是構(gòu)建CPU的基石,你可以把一個晶體管當(dāng)作一個電燈開關(guān),它們有個操作位,分別代表兩種狀態(tài):ON(開)和OFF(關(guān))。這一開一關(guān)就相當(dāng)于晶體管的連通與斷開,而這兩種狀態(tài)正好與二進(jìn)制中的基礎(chǔ)狀態(tài)“0”和“1”對應(yīng)!這樣,計算機(jī)就具備了處理信息的能力。
但你不要以為,只有簡單的“0”和“1”兩種狀態(tài)的晶體管的原理很簡單,其實它們的發(fā)展是經(jīng)過科學(xué)家們多年的辛苦研究得來的。在晶體管之前,計算機(jī)依靠速度緩慢、低效率的真空電子管和機(jī)械開關(guān)來處理信息。后來,科研人員把兩個晶體管放置到一個硅晶體中,這樣便創(chuàng)作出第一個集成電路,再后來才有了微處理器。
看到這里,你一定想知道,晶體管是如何利用“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)行邏輯運算和數(shù)字運算。加上石英時鐘的控制,晶體管組就像一部復(fù)雜的機(jī)器那樣同步地執(zhí)行它們的功能。
CPU的內(nèi)部結(jié)構(gòu)
現(xiàn)在我們已經(jīng)大概知道CPU是負(fù)責(zé)些什么事情,但是具體由哪些部件負(fù)責(zé)處理數(shù)據(jù)和執(zhí)行程序呢?
1.算術(shù)邏輯單元ALU(Arithmetic Logic Unit)
ALU是運算器的核心。它是以全加器為基礎(chǔ),輔之以移位寄存器及相應(yīng)控制邏輯組合而成的電路,在控制信號的作用下可完成加、減、乘、除四則運算和各種邏輯運算。就像剛才提到的,這里就相當(dāng)于工廠中的生產(chǎn)線,負(fù)責(zé)運算數(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)和操作控制器0C(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)可以分為控制單元,邏輯運算單元和存儲單元(包括內(nèi)部總線及緩沖器)三大部分。CPU的工作原理就像一個工廠對產(chǎn)品的加工過程:進(jìn)入工廠的原料(程序指令),經(jīng)過物資分配部門(控制單元)的調(diào)度分配,被送往生產(chǎn)線(邏輯運算單元),生產(chǎn)出成品(處理后的數(shù)據(jù))后,再存儲在倉庫(存儲單元)中,最后等著拿到市場上去賣(交由應(yīng)用程序使用)。在這個過程中,我們注意到從控制單元開始,CPU就開始了正式的工作,中間的過程是通過邏輯運算單元來進(jìn)行運算處理,交到存儲單元代表工作的結(jié)束。
數(shù)據(jù)與指令在CPU中的運行
剛才已經(jīng)為大家介紹了CPU的部件及基本原理情況,現(xiàn)在,我們來看看數(shù)據(jù)是怎樣在CPU中運行的。我們知道,數(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í)行哪些操作,比如完成加法、減法或移位運算。
我們假設(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ù)運算和其他各種運算。當(dāng)數(shù)據(jù)處理完畢后,將回到寄存器中,通過不同的指令將數(shù)據(jù)繼續(xù)運行或者通過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的工作速度越快。
如何提高CPU工作效率
既然CPU的主要工作是執(zhí)行指令和處理數(shù)據(jù),那么工作效率將成為CPU的最主要內(nèi)容,因此,各CPU廠商也盡力使CPU處理數(shù)據(jù)的速度更快。
根據(jù)CPU的內(nèi)部運算結(jié)構(gòu),一些制造廠商在CPU內(nèi)增加了另一個算術(shù)邏輯單元(ALU),或者是另外再設(shè)置一個處理非常大和非常小的數(shù)據(jù)浮點運算單元(Floating Point Unit,F(xiàn)PU),這樣就大大加快了數(shù)據(jù)運算的速度。
而在執(zhí)行效率方面,一些廠商通過流水線方式或以幾乎并行工作的方式執(zhí)行指令的方法來提高指令的執(zhí)行速度。剛才我們提到,指令的執(zhí)行需要許多獨立的操作,諸如取指令和譯碼等。最初CPU在執(zhí)行下一條指令之前必須全部執(zhí)行完上一條指令,而現(xiàn)在則由分布式的電路各自執(zhí)行操作。也就是說,當(dāng)這部分的電路完成了一件工作后,第二件工作立即占據(jù)了該電路,這樣就大大增加了執(zhí)行方面的效率。
另外,為了讓指令與指令之間的連接更加準(zhǔn)確,現(xiàn)在的CPU通常會采用多種預(yù)測方式來控制指令更高效率地執(zhí)行。
評論
查看更多