鐵鐵科普:你的電腦為什麼會卡?看完就明白了

成都地鐵 發佈 2023-10-31T16:24:03.848547+00:00

在選購電腦時CPU一直是最被看重的參數之一但有多少小夥伴只知道和店員說著CPU卻從來不知道它的真正含義呢我們每天使用手機軟體,以及在電腦上寫方案、敲代碼、製作PPT等所有計算機軟體的計算,都需要CPU的計算。

在選購電腦時

CPU一直是最被看重的參數之一

但有多少小夥伴只知道和店員說著CPU

卻從來不知道它的真正含義呢

我們每天使用手機軟體,以及在電腦上寫方案、敲代碼、製作PPT等所有計算機軟體的計算,都需要CPU的計算。

此外,航天飛船的製造需要CPU進行前期建模工作;發射時間、軌道、天氣預測、燃料都需要CPU的模擬計算;發射後的實時追蹤、內部調度及處理應急問題也都需要CPU精準的計算。

可以說,21世紀,CPU在生活、工作及科學等方方面面都發揮了重要作用。

今天我們來研究一下:

什麼是CPU?

CPU的原理是什麼?

CPU和GPU有何聯繫?

CPU

中央處理器,簡稱CPU,是現在電子計算機的核心元件,也是資訊時代最主要的器件之一。

CPU的功能主要是處理計算機軟體的數據,將人類的命令轉化為機器語言,並對其他計算機中的設備,如內存、顯卡、主板等「提出命令」。在整台計算系統中,它扮演「老闆」的角色。

更形象地說,CPU就是人類的大腦,一切信息都需要它的參與或思考。

CPU由三部分組成:運算器、控制器與寄存器

運算器主要是負責執行任務,可以理解為「打工人」,它的任務是負責直接計算相關數據;

控制器類似於「領導」,任務就是針對不同的需要,給「員工」下達不同的命令;

寄存器則可以理解為控制器和運算器之間聯絡的小組,也可以理解成「秘書」,它的主要工作是協調控制器和運算器。

寄存器這個「部門」的事情非常繁瑣,控制器會讓它給運算器下達命令,運算器運算的數據太多,也會讓寄存器暫時先寄存一部分。所以,當數據過多時候,寄存器忙不過來就只能暫時招收一些「臨時工」——高速緩存。

在寄存器完成不了工作時候,就調用高速緩存來存儲數據。當然臨時工也會有等級:一級緩存、二級緩存和三級緩存。如果三緩也耗盡,那就交給CPU外的內存來緩存。

但是,如果內存也不夠了怎麼辦呢?這時候,你的電腦就開始卡頓了。

CPU運行

在一個龐大的部門中,必須要制定相關的行為規範,才讓控制器能按照規則來下達命令。這一行為規範就是指令集

不同設備的指令集可能會不一樣。例如,我們的計算機用的就是複雜指令集x86,而手機處理器的指令集就是精簡指令集ARM。這兩種指令集最大的區別,就在於設計者考慮問題的方式

舉個簡單的例子,比如命令一個人吃飯,我們應該怎麼發布指令呢?

直接對他下達「吃飯」的命令。

命令他「先拿勺子,再舀起一勺飯,然後張嘴,之後送到嘴裡,最後咽下去」。

從這裡可以看到,對於「命令人吃飯」這件事,可以複雜也可以簡單。而如何訓練那個人,則出現不同的理解。

有人認為,如果我首先給接受命令的人以足夠的訓練,讓他掌握各種複雜技能(即在硬體中實現對應的複雜功能),那麼以後就可以用非常簡單的命令讓他去做很複雜的事情——比如只要說一句「吃飯」,他就會吃飯,這就是「複雜指令集」的思路。

但是也有人認為這樣會讓事情變的太複雜,畢竟接受命令的人要做的事情很複雜,如果你這時候想讓他吃菜,那還得再訓練吃菜的技能。既然如此,我們為什麼不把事情分為許多非常基本的步驟呢?

這樣的話,雖然下達命令的人稍微累一點,但只需要接受命令的人懂得很少的基本技能,就可以完成同樣的工作——比如現在我要他吃菜,只需要把剛剛吃飯命令里的「舀起一勺飯」改成「舀起一勺菜」,問題就解決了,這就「精簡指令集」的邏輯。

從利用這兩種指令集的設備,我們就可以看出指令集的區別了。

性能:ARM強在效率,在一些任務相對固定的應用場合,其優勢就能發揮得淋漓盡致。而x86則在專業軟體或者綜合性工作方面,依然是「大哥」。

擴展能力:手機方面,可能直到淘汰產品,我們都不會自行加裝例如內存、存儲等擴展設備,奉行的原則是夠用就好。而計算機可以通過橋接方式擴展許多設備。

功耗:X86的計算機性能強,但是功耗一直居高不下,ARM方的手機則大概只有幾瓦的功耗,因此它更適於便攜化與移動化。

CPU和GPU

隨著新興技術的興起以及突如其來的疫情,共同推動了GPU市場的迅猛發展。GPU是英文Graphics Processing Unit的縮寫,是一種專門為PC或者嵌入式設備進行圖像運算工作的微處理器。北京郵電大學計算機學院副教授楊旭東表示:

CPU和GPU有很多相同之處,比如兩者都是為了完成計算任務而設計的處理器,都遵循馮 · 諾依曼計算機體系結構。但它們的差別也很明顯,CPU的結構屬於單指令單數據處理結構,邏輯計算能力強;GPU則是單指令多數據處理結構,數據處理能力強。

也就是說,CPU擅長統領全局的複雜邏輯計算,而GPU擅長數據並行計算,因此特別適合處理量大且統一的數據

對於複雜的2D渲染處理或3D圖像處理,CPU就要花費很多的資源去處理,這不僅會降低其他方面的工作效率,也會影響使用體驗。於是CPU就將一些高幀率的遊戲畫面和高質量的特效交給GPU去處理。

但另一方面,GPU無法單獨工作,必須由CPU進行控制調用才能工作。CPU發出指令以後,GPU領取到屬於自己的任務才開始工作。

GPU最早是在個人電腦上使用,為了解決多媒體數據處理,後來在移動智能終端上應用,如今人們又把GPU放在伺服器端,俗稱伺服器GPU。隨著通信技術/網絡技術的發展,數據處理越來越多放在伺服器計算。楊旭東表示,如今伺服器GPU既可以進行專業可視化、計算加速、深度學習等應用,也支持雲計算、人工智慧等一系列技術的發展,有望成為GPU行業未來應用的重點。

來源:科普中國

關鍵字: