終極指南:2013年手機CPU的現(xiàn)狀與未來
最后來談一談技術(shù)最為復(fù)雜,同時爭議也最大的三星Exynos 5 Octa(Exynos 5410)。這個芯片最大的特色就是整合了ARM的big.LITTLE技術(shù),內(nèi)部集成了8個核心——四個Cortex A15為一組,四個Cortex A7為一組,從而成為了手機上第一枚超越四核的片上系統(tǒng)。
也許你會提出質(zhì)疑,NV的Tegra 3和Tegra 4實際上也擁有5個核心,為什么它不能算作是五核SoC呢?原因很簡單,因為Tegra多出來的那一枚核心其實設(shè)計上是作為四個主核心其中之一的映射,在實際工作中系統(tǒng)是識別不出這一顆核心的。
但Exynos 5 Octa不同,它的八顆核心在某些情況下是可以同時運行的,因此可以稱之為八核SoC,雖然實際情況下這樣的工作模式不一定會被用上,關(guān)于這點,即Exynos 5 Octa是否是偽八核,同樣也是圍繞這顆芯片的眾多爭議中最大的一個,對此后面我們會詳細(xì)討論。
Big.Little架構(gòu)
除了big.LITTLE以外,Exynos 5 Octa本質(zhì)上是一顆非常典型的處理器,它擁有標(biāo)準(zhǔn)的Cortex A15核心、標(biāo)準(zhǔn)的ARM系統(tǒng)IP,支持的規(guī)格與系統(tǒng)配置也一如三星以往的風(fēng)格,優(yōu)異而不頂尖。LPDDR3 1600的內(nèi)存支持與12.8GB/s的理論帶寬在手機SoC中實為翹楚,而PowerVR SGX544MP3運行在533MHz的高頻下,假如不考慮信息尚不明確的Tegra 4,性能也足以進(jìn)入ARM世界的前三:僅次于iPad4的SGX554MP4和驍龍800的Adreno 330。
工藝方面,三星使用了自家最新的28nm HKMG LP,根據(jù)三星的宣傳資料,相對于32nm HKMG,28nm HKMG主要的提升在于集成度,也就是單位面積下可以實現(xiàn)更多的晶體管,提升幅度大約在35%左右。至于漏電等工藝性能,我們有理由認(rèn)為不會和32nm HKMG,也就是上一代的Exynos 4412所采用的工藝有太大的差別,具體原因在上篇中我們也多有提及。三星32nm HKMG實際上是一個性能相當(dāng)強悍的工藝,Exynos 5 Octa的基礎(chǔ)至少也是有所保障的。
不過,如同之前說過的,Cortex A15本身不是一個利于手機使用的架構(gòu),只要把它做進(jìn)手機,都要面對功耗難題,,三星也不能例外。Exynos 5 Octa的最高頻率目前并沒有明確的說法,也許會在1.7到1.9GHz之間,但我們知道的是,在Galaxy S4上,Exynos 5 Octa的最高頻率只開放到了1.6GHz。
1.6GHz的標(biāo)準(zhǔn)Cortex A15核心滿載功耗不會低于1.8W,三星即使經(jīng)過大量優(yōu)化,Exynos 5410四顆A15核心的總功率也依然要在6W以上,這大大超越了2.5W乃至4.15W的散熱極限。實際情況可以作為這個推斷的非常好的例證:Galaxy S4的CPU滿載工作的時間只能達(dá)到區(qū)區(qū)10秒,之后就不得不因為核心溫度突破90度而被迫關(guān)閉Cortex A15核心。
Exynos 5 Octa是一個明顯的市場導(dǎo)向產(chǎn)品,三星在設(shè)計它的時候,考慮優(yōu)先點是市場對于參數(shù)的需求,而完全不顧這樣規(guī)模的硬件是否可以安全的工作。當(dāng)然,作為應(yīng)對,ARM提出了big.LITTLE,三星也將其引進(jìn)到產(chǎn)品中,但是這樣的行為并不能本質(zhì)上改變這個設(shè)計的失敗之處。有人也許會說,這不是很好嗎,何來失敗?那就讓我們繼續(xù)研究下去。
運行5秒鐘以后,獵戶座5處理器的A15核心即開始降頻
現(xiàn)在讓我們來打個賭:如果你是Galaxy S4八核版的用戶,你絕對會有這樣的體會:Exynos 5410處理器主頻在實際運行中非常不穩(wěn)定,低于標(biāo)稱的1.6GHz是常態(tài)。
在Exynos 5410中,Cortex A15四核的最低工作頻率是1.2GHz,而Cortex A7四核的最高工作頻率也是1.2GHz。問題是,這兩者的同頻性能并不一樣,導(dǎo)致以頻率為控制參數(shù)的算法比較難寫。于是三星在系統(tǒng)中將Cortex A7的有效頻率顯示為實際頻率的一半,并以此作為控制參數(shù),就實現(xiàn)了較為線性的頻率——性能曲線。
也就是說,只要你看到Exynos 5 Octa的工作頻率是1.2GHz以上,就意味著現(xiàn)在是Cortex A15在工作,而600MHz則意味著Cortex A15已經(jīng)關(guān)閉,系統(tǒng)已經(jīng)切換到1.2GHz的Cortex A7。由于頻率調(diào)節(jié)十分頻繁,所以這給我們計算Exynos 5 Octa的效率帶來了一定的困難,不過我們依然可以從實際工作的情況下對于極限性能給出近似的計算。
Exynos 5410 CPU + GPU同時滿載的情況,注意下方的頻率曲線
根據(jù)愛活網(wǎng)友站enet的測試結(jié)果,在滿負(fù)荷工作的時候,Exynos 5410的工作模式大約如下:Cortex A15于1.6GHz工作6秒左右,于1.2或1.4GHz工作4秒左右,然后切換到1.2GHz的Cortex A7工作10秒左右,并且在這樣的序列下循環(huán)。由于頻率調(diào)節(jié)的目標(biāo)是功耗以及溫度,因此我們可以近似認(rèn)為在這樣的工作序列下,處理器系統(tǒng)的平均功耗大約是2.5W左右。如果將Cortex A15的性能歸一化為同頻Cortex A9的1.5倍,Cortex A7為0.7倍,因此我們可以得到在這20秒內(nèi),Exynos 5 Octa所輸出的總性能相當(dāng)于四核Cortex A9運行在1.53GHz時的性能。也就是說,Exynos 5 Octa所能提供的持續(xù)性能,甚至還不如Exynos 4412,因為后者在2.5W的功耗限制下可以運行在1.6GHz。
Exynos 4412依然是能耗比最為均衡的手機處理器
當(dāng)然,這個結(jié)論有些粗略,我們只驗證了基準(zhǔn)測試時獵戶座5處理器的CPU頻率變化,實際應(yīng)用中可能有所不同,但有一點可以確定,那就是Exynos 5410在手機上可以發(fā)揮的性能遠(yuǎn)遠(yuǎn)低于硬件設(shè)計的極限性能。Cortex A7與Cortex A15聯(lián)合的效率,大約和Cortex A9不相上下,這也就意味著配備了Exynos 5 Octa的設(shè)備,其體效值并不會比Exynos 4412高。
然而,這并非Exynos 5 Octa的非常好的工作模式。ARM big.LITTLE技術(shù)其實包含有三種工作模式:整體遷移、非對稱多核心與異構(gòu)多核心。整體遷移模式指Cortex A15或Cortex A7輪流工作,兩者無法同時激活,具體開啟的核心數(shù)字根據(jù)系統(tǒng)負(fù)載決定。非對稱多核心則是將Cortex A15四核簇和Cortex A7四核簇看作兩組非對稱多核心簇,依靠外部總線工作在異步模式下,從而啟動所有的八個核心。而第三種是最誘人的,也就是將每一個A15與A7組合成為一個“處理器對”,將其看作一個單獨的處理器,系統(tǒng)根據(jù)需求開啟若干個“處理器對”,而每一對處理器究竟使用Cortex A15還是Cortex A7,完全根據(jù)該核心的負(fù)載決定。
從理論上來說,Exynos 5 Octa支持全部的三個模式,但是三星目前在系統(tǒng)中卻只支持了第一種模式,產(chǎn)品中的工作模式也只有整體遷移。這導(dǎo)致一些人認(rèn)為三星這顆CPU的技術(shù)開發(fā)尚未完成,是“半成品”,因此并沒有實現(xiàn)非常好的的工作效果。甚至有一些分析表示,這是源于Exynos 5 Octa的硬件設(shè)計缺陷導(dǎo)致的,需要在未來的產(chǎn)品中才能修復(fù)。對此,我們認(rèn)為這樣的說法既是對的,也是錯的。
big.little的三種工作模式
為什么這樣說?前提是,單純的降低功耗并沒有意義,只有提升體效值才可以獲得更強的性能。對于Exynos 5 Octa而言,其他的兩種工作模式似乎可以降低功耗,但可以提升每瓦特性能嗎?這是一個未知數(shù),而且是一個相當(dāng)不容樂觀的未知數(shù),原因之一就在于Exynos 5 Octa的兩組處理器,二級緩存的大小不同。
根據(jù)架構(gòu)圖,Exynos 5 Octa的Cortex A15部分,二級緩存為2MB,而Cortex A7部分只有512KB。如果是Cortex A9時代,這并不是問題,因為所有的二級緩存都是靠總線實現(xiàn)的訪問。但是在Cortex A15和A7時代,ARM為了提升緩存效能,將L2 Cache整合進(jìn)了多核心控制器SCU中,它的壞處就在這里:一旦系統(tǒng)內(nèi)同時存在著激活的Cortex A7和Cortex A15,那么由于二級緩存的大小不同,兩組核心之間的聯(lián)合工作將會變得非常麻煩。
二級緩存是內(nèi)存的映射,所以所有核心所訪問的二級緩存的數(shù)據(jù)必須完全相同。Cortex A15和Cortex A7各自擁有自己獨占的二級緩存,當(dāng)兩者協(xié)同工作時,緩存是無法共享的,維護(hù)兩組L2之間的數(shù)據(jù)一致性會變成一件非常重要同時也非常影響性能的事情。高通的異步架構(gòu)之所以有性能損失,一致性開銷就是其中很重要的因素之一。
在Exynos 5 Octa中,兩組A15和A7核心的二級緩存大小不同,這就意味著即便是在最好的情況下,也會導(dǎo)致Cortex A15處理器簇的有效L2從2MB縮減到512KB,這對性能的影響極為巨大。
同一個處理器中,A15核心和A7核心的緩存容量根本就不相等,在它們公布工作時會帶來問題
所以,三星選擇了只實現(xiàn)第一種工作模式。在這個模式下,緩存一致性無需維持,只需要在切換時通過內(nèi)存將緩存數(shù)據(jù)復(fù)制即可(A7到A15可以視作部分填充,而A15到A7可以丟棄超出512KB的部分),甚至可以更簡單的直接丟棄L2數(shù)據(jù),令其重新填充。因為相對于聯(lián)合工作所需要的一致性維護(hù)需求(其頻繁程度與緩存命中率相關(guān),可能只比處理器時鐘頻率低2~3個量級)而言,由于動態(tài)頻率控制導(dǎo)致的核心切換要少的多,至多只有每秒百次的水平,因此這樣的損失是最少的,換句話說,另外兩種big.little模式雖然看起來更美好,但實際上反而會導(dǎo)致系統(tǒng)效率的降低,從而進(jìn)一步降低搭載Exynos 5 Octa設(shè)備的體效值,使其變得比Cortex A9更慢。
從這個意義上說,如果你需要一顆手機處理器,至少在CPU部分,Exynos 5 Octa實際上相對于Exynos 4412而言是倒退的。這無疑是對于畸形市場需求的非常好的打臉:超高的規(guī)格,強大的指標(biāo),性能卻在偷偷的后退,不知道這到底迎合了誰的需求。
當(dāng)然,Exynos 5 Octa也不全都是壞處。由于LPDDR3的引入,翻倍的內(nèi)存帶寬可以極大提升系統(tǒng)在日常使用中的感受,因此總體而言Exynos 5 Octa的體驗不會有之前評價的那么悲觀,只是會距離你所認(rèn)為的強大相去甚遠(yuǎn)罷了。至于另一個好處則來源于PowerVR SGX544MP3這枚GPU。
就如同PC一樣,手機對于GPU的需求也慢慢超過了CPU。不客氣的說,現(xiàn)在的日常需求,一枚四核心Cortex A7就可以滿足了,但是游戲所需要的性能卻是永無止境的。在Exynos 4210“獵戶座”剛剛發(fā)布的時候,Mali400MP4幾乎可以滿足所有游戲,這枚GPU不僅速度飛快,而且極為省電,能耗比相當(dāng)高。但是隨著手機游戲的進(jìn)步,在Exynos 4412上這枚GPU已經(jīng)顯出了疲態(tài)。三星在Exynos 5 Octa上作出更換GPU的決定非常及時。Exynos 5 Octa的3D性能達(dá)到了目前手機處理器的優(yōu)異水平,在日常使用中你有很多機會可以體驗到它帶來的提升。
根據(jù)粗略測試,搭載Exynos 5 Octa的Galaxy S4在運行3Dmark的時候,整機功耗不會超過2.5W,這也就意味著這枚GPU的滿載功耗將不會超過1.5W。這無疑是一個非常振奮人心的數(shù)據(jù),這意味著PowerVR SGX544MP3在維持了Mali400MP4能耗比的基礎(chǔ)上(嚴(yán)格來說仍然有一定的下滑,但是遠(yuǎn)遠(yuǎn)高于繼任者M(jìn)ali T604)將其的最大性能擴展了幾乎四倍,這樣的提升才是符合用戶需求的提升。對于這樣的進(jìn)步,我們需要高舉雙手給予掌聲。
關(guān)注我們
