手機CPU核心數(shù)提升比計算機快的秘密
智能手機發(fā)展太快了,尤其是移動處理器上,今年年底聯(lián)發(fā)科的10核處理器就要跟大家見面。 或許你也想問,為何手機處理器上的核心比數(shù)目提升的比計算機快?難道就是為了單純的制造噱頭嗎?現(xiàn)在有網(wǎng)友在知乎上,給出了自己的詳細看法。最根本的是,PC和手機兩個領域對處理器有非常不同的需求,前者可以以一味地追求高主頻,高單核性能,因為它可以安裝風扇或者安裝很大塊的散熱裝置,可以直接接入家用能源。 手機則是核不可以“一味地”追求高頻,它小巧,它隨身攜帶,它要考慮發(fā)熱,要考慮電池的容量。 所以,智能終端的SOC在設計的時候必須在兼顧溫控與能耗的情況下。這注定智能終端的SOC要走PC的多核化老路,并且做更多樣化的嘗試。 以下是具體的解答: 多核只是其中一種嘗試。因為單核在主頻上去以后,要求的電壓更高,發(fā)熱嚴重,而隨著發(fā)熱量的增加,漏電率又會增加,會進一步增加能耗與發(fā)熱。而這兩項恰會影響手持設備的兩個重要體驗,即續(xù)航與溫控。 在單核方面,相應的技術改進有HPM,漏電率比LP下降不少,所以同樣的主頻可以跑在更低的電壓上。除此之外,還有一些篩選和區(qū)分不同品質晶圓的技術,例如三星的ASV,晶圓質量高的同頻下可以跑更低的電壓。 與此同時,還有各種類型資源的DVFS支持,idle支持,clock gating,regulator gating,power domain……好了,那單核的性能努力如何呢?從當前市場上在售的來看:“Cortex-A57是ARM最先進、性能最高的應用處理器,號稱可在同樣的功耗水平下達到當今頂級智能手機性能的三倍;而Cortex-A53是世界上能效最高、面積最小的64位處理器,同等性能下能效是當今高端智能手機的三倍。這兩款處理器還可整合為ARM big.LITTLE(大小核心伴侶)處理器架構,根據(jù)運算需求在兩者間進行切換,以結合高性能與高功耗效率的特點,兩個處理器是獨立運作的?!? 而未來上市的全新Helio X20(即MT6797)的大核A72可以到2.5G。那問題來了,雖然性能很強勁,但是發(fā)熱的劇增會導致處理器持續(xù)高頻不了多久。因為外部人體的溫度是恒定的,37度,再溫一點,42~43度,再熱一點45~47度,再就燙起來了。所以這個加上主板的散熱結構已經(jīng)阻止了固定工藝和技術下的性能成長空間。也限制了高頻核心的高性能的應用。 而加強手持設備的結構空間限制,又限制了散熱技術的應用,這個是PC和服務器根本就不存在的問題。 既然往上漲不了了(實際上還有技術和成本制約),那是不是可以橫著漲呢,好了,嘗試多核,而多核又有同構多核,異構多核,有真多核還有偽多核。到這個份上,咱們就可以得到一個初步的結論,多核完全是為了迎合消費者,不是為了迎合和迎合,而是為了給用戶更好的體驗。 為什么會提供更好的體驗? 隨著主頻的提升,單核的工作能耗會隨著指數(shù)級上升,相應的熱量聚集也會更高。換算到同等計算能力(單位時間內可執(zhí)行的指令數(shù))的多核,能耗上升呈線性關系,熱量聚集會明顯降低。具體量化起來,得畫個圖表,把頻率,核數(shù)和能耗關系繪制出來,這里先省掉。 1、對于遠古時代的單一任務系統(tǒng),多核是沒有意義的。任務的工作量沒有辦法分派給其他核心執(zhí)行。并行不起來。 2、現(xiàn)今的系統(tǒng),包括Android等手持設備的系統(tǒng)默認任務數(shù)量已經(jīng)非常多,具體數(shù)量會有差異。稍微看了下MX3,有100+,實際線程數(shù)只會更多。 3、多核相比單核,無用的任務context switch會減少,能耗利用率會提高,任務的響應能力(最高頻率滿足條件下)也響應會增加。甚至對于一些關鍵的任務,可以通過獨占某一個核心獲得最好的響應能力。 那核數(shù)是不是越多越好呢?是不是100個任務就開100個核呢?肯定不是,首先有硬件成本的限制,其二,核數(shù)多了以后,負載均衡,任務遷移,甚至任務同步也是很大一筆開銷。