作為計算機的大腦,CPU核心是否越多越好,需科學權衡利弊

如今的CPU核心數量越來越多,似乎核心越多性能就會越好,起碼這些CPU品牌在向消費者傳輸這個信息,但CPU的核心真的越多越好嗎?

事實上,CPU的核心多了之後,在使用多線程應用時,操作表現會有明顯的提高,比如圖片編輯、視頻剪輯以及3D動畫渲染。但在<strong>大多數情況下,更多的核心不僅毫無好處,反而還會拖累整個電腦。

作為計算機的大腦,CPU核心是否越多越好,需科學權衡利弊

增加的發熱量是最大的攔路虎

<strong>發熱量永遠是電腦性能提高道路上最大的敵人,不論什麼硬件,性能提高勢必會伴隨著發熱量的增多,如果不能對硬件實施有效的降溫,那麼高性能就只是“空中樓閣”,好看,但沒用,多核CPU就是如此。

CPU的核心多了,需要的電能和產生的熱量就會跟著變多,但因為設計原因以及對電腦空間的有效利用,這些核心都被堆放在一個狹小的空間裡,所以散熱效果往往並不理想。所以在很多廠商設計多核CPU時,都會受到熱設計功耗的限制。

也就是說<strong>為了避免CPU的功率過高,發熱量過大,廠商們會降低各核的頻率,從而降低自身的功率和發熱量。雖然也有幾款多核CPU在宣傳時會說自己的頻率很高,但這種所謂的高頻率一般只能堅持一段時間,或者只有在使用一些對CPU需求不大的軟件時才能保持高頻率。

頻率降低其實就意味著性能降低,雖然降低之後的性能依舊會比其他一些較低級的CPU強,但這些降低的性能就變成了損耗,這樣不值得。

作為計算機的大腦,CPU核心是否越多越好,需科學權衡利弊

統一or非統一,內存訪問的選擇

一般核心比較多的CPU,會把自身的核心分組進行工作,我們稱每組為一個節點,CPU通常會把核心分為兩個節點。<strong>而CPU又分為兩種架構,他們分別為NUMA架構,也就是非統一內存訪問,還有UMA架構,它的意思是統一內存訪問。NUMA架構的特點是CPU的每個節點都各有一個內存控制器和節點本身專用的物理內存,而UMA架構則是隻有一個內存控制器,並且所有核共享一個大的內存池。

一般來說NUMA會更快一些,但是對於分了很多線程的軟件來說,想要流暢運行會很吃力。因為NUMA架構的CPU,它的每個節點都要等另一個節點把數據處理完之後才能開始工作,所以不同節點訪問內存的時間不同,因此這類多線程軟件寧願只使用一個節點,把其他的核心都空著不用,也不願意跨節點運行,這樣就造成了性能的損耗。

既然NUMA架構的CPU存在這樣那樣的問題,那麼用UMA架構就可以避免嗎?其實不然,UMA架構的CPU雖然是一個內存控制器控制所有的內存訪問,以此來確保所有軟件訪問內存的用時相等,但是相比之下,<strong>NUMA架構的軟件在訪問內存時反而會更加方便直接,這樣一來UMA的性能損耗會更大一些,並且節點越多,性能損耗就越嚴重。

其實不管用什麼架構,只要是多節點的CPU,都無法避免性能損耗,反而是核心數量少一些的CPU能夠避免這個問題,因為它們根本就沒有節點。

作為計算機的大腦,CPU核心是否越多越好,需科學權衡利弊

設計缺陷同樣會影響CPU的多核性能

有些CPU本身就是核心一多,性能就會出現瓶頸的設計,其中最鮮明的例子就是AMD之前發售的FX推土機CPU。

<strong>這裡要講一個概念那就是浮點性能,簡單來說,我們計算機在做運算時,會處理非常多的數字,但這些數字往往並不是整數。其中會有一些極小數或是極大數需要參與運算,這裡就需要用到浮點性能。浮點性能越高,這些運算就會越快,在處理一些較為複雜的運算時,比如3D建模等,浮點運算會顯得非常重要。

一開始時的AMD處理器,雖然核心很多,但是性能就是比不上英特爾,這是因為在ADM之前的FX推土機CPU中,雖然有8個核心,但浮點單元只有4個,因此這8個核心就要公用4個浮點單元,所以浮點性能就會很低。

這極大的影響了該款CPU在處理一些重要的軟件時所需的單線程的性能,雖然這種設計讓AMD用更低的成本得到更多的線程,但性能卻遠遠比不上英特爾。而補救的方法也很簡單,就是提高頻率,但是提高頻率發熱量就會增加,所以當初的AMD被笑話了很久。

作為計算機的大腦,CPU核心是否越多越好,需科學權衡利弊


<strong>現在的很多軟件,尤其是遊戲,它們看重的並非是核心的數量,而是單核的性能。有很多遊戲甚至根本沒有針對多核進行優化,或者是需要在設置中打開多核渲染才能用到其他核心的性能,這樣就很容易造成“一核有難,多核圍觀”的尷尬場面。

多核確實有多核的好處,在跑支持多核工作的軟件時,多核CPU的確有著顯著的優勢。我在本文中想表達的意思也並非也多核CPU沒有低端CPU強。現在的英特爾和AMD的多核CPU,都是已經大幅改進過,也用了智能的加速機制,來達到與更便宜的CPU相類似的單線程性能。

但是對多核CPU來說,性能損耗是無法避免的,而且核心越多,性能損耗往往就越嚴重。因此,在選擇CPU是,最好還是先確定自己究竟需不需要多核的CPU,畢竟辛苦賺來的搬磚錢可不能浪費。


分享到:


相關文章: