cpu的結構和工作原理

CPU歷來都是一個高大上的話題,普通吃瓜羣衆除了CPU越貴越好之外,可能就一無所知了。曾經小編對於CPU也是一頭霧水,後來請教了很多大神,又查閱了很多資料,才粗略地搞明白了一點。在此,小編就按照自己的理解,儘量用最通俗的語言去撕開CPU神祕的面紗,讓更多人能夠明白CPU。

CPU的中文翻譯叫中央處理器,好吧,這其實只是一句廢話,不過爲了這個牛逼的翻譯,我們也給它一個牛逼的比喻,那我們就把CPU比喻成一個國家的中央機構,接下來我們一一對應打比喻講解。

影響CPU性能的主要因素可以分爲兩大塊:主頻和架構。這裏看不懂不要緊,接下來聽小編爲你一一解釋就懂了。

最通俗的科普文:5分鐘讓你看懂CPU的結構和工作原理

 

主頻我們可以理解爲中央部門的工作能力,架構可以理解爲國家的管理制度,主要用於協調中央機構各部門之間的工作。所以整個中央機構的工作效率(CPU性能)主要就是受到這兩個方面的影響。工作能力越高各部門之間協調越好,整體工作效率自然就越高。反之,任何一方面不夠好,都會對整體工作效率造成明顯的影響。

我們知道市面上最大的PC處理器主要由兩大品牌Intel和AMD壟斷,而大部分時間裏,Intel都是壓着AMD打的,原因就是因爲AMD的架構不行,雖然主頻對比Intel不落下風甚至稍微領先,但是整體性能卻被Intel徹底壓制了。這就是因爲AMD的中央機構各部門協調能力比Intel差多了,所以即使工作能力差不多,但協調不好,所以整體工作性能就比不過了。不過這種情況在AMD推出銳龍系列CPU後就不存在了。

最通俗的科普文:5分鐘讓你看懂CPU的結構和工作原理

 

說完了性能接下來我們就來說說CPU的結構和工作原理。

CPU的結構主要由運算器、控制器、寄存器三大塊組成。

①運算器就是中央機構裏負責執行任務的部門,也就是專門幹活的;而控制器就是中央機構的領導小組,針對不同是需要,給運算器下達不同的命令;寄存器可以理解爲控制器和運算器之間的聯絡小組,主要工作就是協調控制器和運算器。

運算器這個幹活的部門,平日裏整個中央機構要乾點啥事就找這個部門。例如東邊洪災了,你去賑災吧;西邊發現金礦了,你去主導挖礦吧;北邊下大雪了,你去送溫暖吧;南邊下暴雨了,你去疏導洪流吧……

②而控制器這個部門比較牛逼,他們是不用幹活的,主要就是對國家(整部計算機)發生的各種情況,做出應對,然後讓運算器去把活幹好。在這裏,我們會發現一個大問題:如果這個部門閒的蛋疼,亂下命令怎麼辦?這也好辦,我們就制定出一套行爲規範來限制他們,不讓他們亂搞。而這套行爲規範就是CPU的指令集。

指令集就是CPU的行爲規範,所有的命令都必須嚴格按照這部行爲規範來執行。在這裏說明一下不同類型的CPU指令集也不一樣,其中最常見的就是X86架構下的複雜指令集和ARM架構下的簡單指令集。X86就是我們平常電腦CPU的架構,ARM就是手機CPU的架構。

由於電腦CPU這個中央機構所在的國家(電腦)面積大、人口多、國情複雜,啥事都會發生,所以規章制度就需要特別完善,考慮到方方面面的情況要怎麼應對。而手機CPU這個中央機構國家小、人口少、面積窄,所以規章制度簡單一點就可以了。這就是複雜指令集和簡單指令集的區別。

③寄存器這個部門稍微複雜一點,因爲它雖然沒有運算器和控制器那麼重要,但是它P事多,控制器平時總喜歡讓寄存器去給運算器傳達個命令。而運算器有時候也會擔心數據太多一時處理不過來,就讓寄存器幫它先記着,有時候工作需要些筆啊、紙啊、螺絲刀之類的小工具,也讓寄存器幫它拿着。

瞭解完寄存器的功能後,又發現了一個問題,如果控制部門下達的命令太多,而運算部門又沒那麼快可以做完,又或者運算器讓它記住的東西或者臨時拿着的東西太多,寄存器部門太小,人太少,忙不過來怎麼辦?好辦,擴招人員吧,可是這個部門的人員都是編制內的,沒有在編名額了怎麼辦?也好辦,那就招些編外人員吧,也就是我們常說的臨時工。

招了臨時工,總要給他個名號吧,那就再成立一個部門,叫高速緩存。爲了體現親疏有別,這個部門把臨時工分爲三個等級,分別是一級高速緩存、二級高速緩存、三級高速緩存。反正也是臨時工,名號就這麼隨便叫吧。

在CPU這個中央機構可跟新聞上說的事給臨時工做、鍋給臨時工背不同,在這裏高速緩存這個臨時工部門是作爲寄存器替補而存在的,也是說,必須在寄存器完成不了工作量時,才能交給高速緩存來做。一開始交給一級高速緩存來做,一級也做不完再給二級,二級還做不完就給三級。這裏又有一個問題出現了,那就是如果三級也做不完怎麼辦?

這完全沒問題,交給中央機構的一個下屬部門去辦,這個部門就是內存。但是因爲內存畢竟不屬於中央機構,工作能力沒有中央機構人員那麼強,效率也沒有那麼高。

所以控制部門要下達命令或者運算部門要做事時,首先想到的就是寄存器,寄存器忙不過來了就找高速緩存幫忙,高速緩存也忙不過來就找內存幫忙。那麼,內存也傳達不過來呢?內存傳達不過來那就沒辦法了,只能讓電腦先卡着吧,等運算部門先把上一件事處理好再說。所以,買電腦,不能光看CPU牛不牛,內存容量也要跟上。

最通俗的科普文:5分鐘讓你看懂CPU的結構和工作原理

 

還有一個容易被大家忽略的問題,在這裏也說一下吧,那就是晶體管。晶體管是構成CPU最基礎的原件,可以理解爲整個中央機構的工作人員。隨着科技的進步,CPU生產工藝越來越精細,目前手機端CPU(ARM架構)製程已經提升到7nm,電腦端也達到了14nm。

製程的提升,我們可以理解爲,縮減每個辦公人員的辦公面積,以前科技不發達每個辦公人員必須配一個獨立辦公室,纔能有效完成工作,現在技術進步了,每個辦公人員只需要一張辦公桌就能完成工作了。所以同樣的一棟大樓,可以容納的辦公人員(晶體管)就多了,工作能力就上升了。

以前一個CPU由於製程落後,只能容納幾千萬或者幾億個晶體管,現在製程進步了,一個同樣體積的CPU可以容納幾十億個晶體管,性能自然就提升了。

那麼,爲什麼晶體管數量增加了,CPU的能耗卻沒有增加呢?我們可以這麼理解,每個工作人員都需要吃飽了纔有力氣幹活,以前的工作人員需要吃九菜一湯纔夠力氣,現在改爲營養配餐了,每個工作人員只需要吃一片營養藥丸就可以工作了,所以工作人員雖然增加了,但是整體伙食成本(耗電量)並沒有增加。

最通俗的科普文:5分鐘讓你看懂CPU的結構和工作原理

 

最後,我們說一下CPU的核心和進程又是什麼呢?我們可以這麼理解,在單核時代,每個CPU只有一個核心,也就是隻有一箇中央機構,但是國家那麼大,事那麼多,中央機構每天加班25個小時都忙不完了。那就沒辦法了,擴充中央機構吧。於是乎雙核、四核、多核CPU就出來了。每一個核心都是一個獨立的中央機構,都具有相同的工作能力。

這麼多箇中央機構成立了,那聽誰的,有事情交給哪個中央機構去做,要知道它們的權利和功能都是一樣的啊。這時候就要改變CPU架構了,也就是國家的管理制度了。以前國家只有一箇中央機構,啥事都交給它去做準沒錯,現在突然變成好幾個中央機構了,怎麼辦?

這個時候就需要爲每個核心安排去負責不同的事務了,這套中央機構專門負責農業,那套負責工業,剩下的負責稅收、財政等等之類的。

那什麼是進程呢,進程其實可以理解爲一箇中央機構裏面的人員組成。有時候事太多了,光這幾個中央機構處理起來還是有點吃力,但是爲了節約成本,我們不能再組建新的中央機構了,那就只好折中處理,不另外成立新的中央機構了,就在原有的基礎上,每個中央機構組建兩套完全一致的工作班子吧。

所以,4核CPU就是擁有四個獨立的中央機構,都具備相同的工作能力和權限,但是每個核心都會負責不同的事務。4核8線程就是四個獨立的中央機構,每一箇中央機構都擁有兩套完整的工作班子,每套工作班子權限也一樣。

最通俗的科普文:5分鐘讓你看懂CPU的結構和工作原理

 

這時候問題又出現了,例如某個中央機構負責的事特別多,忙不過來,而其他的中央機構負責的事很少,閒的發慌,那怎麼辦?這時候,我們的架構又出現了,好辦!今天你這個核心負責的事多,就你來主導,讓其他事少的核心輔助你工作。明天另外一個核心負責的事多,就由它來主導,其他核心輔助它工作。

在這裏小編想起來一個網上很火的段子:MTK的CPU一核有難九核圍觀。這就是架構落後造成的,它的管理制度不完善,沒辦法調節每個中央機構之間的互相配合,有事情要做,往死裏用一個核心,其他九個核心啥事沒有,只好吃瓜圍觀了。

所以,在最後,小編重申一遍,CPU架構很重要!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章