顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2015-09-24 22:30:30
看板 MobileComm
作者 john0312 (Chen John L)
標題 Re: [新聞] iPhone 6s 玫瑰金開箱!第一件事先測跑分
時間 Thu Sep 24 04:42:13 2015



談到CPU, 我覺得蘋果跟Android陣營雙方在這領域的發展還滿有趣的.

文長慎入. 本篇技術含量高, 細節懶的看可以看上色的部份.

---

蘋果其實在CPU方面算是深耕多時, 而且賭很大.

: 這款手機搭載的 Apple A9 處理器,單核心跑分為 2413、多核心跑分為 4795。
: 先前韓國媒體報導的 Snapdragon 820 處理器單核心跑分為 1732、多核心跑分 4970。

蘋果在單核效能方面其實已經領先一段時間了,
從A7系列開始, 就是單核蘋果強, 多核Android強.

這次A9處理器的出現在這方面沒有改變太多,
單核持續領先, 多核差距大幅縮小, 甚至追平.

蘋果的單核效能領先其實不是偶然, 這是因為蘋果
意識到大多軟體其實依然是吃單核效能. 這點在iOS
跟Android上基本上來說都是正確的.


所以說, A7算是一個轉捩點, A7以前, iPhone順
單純是因為對手Android還不夠成熟(所以Android還
沒上KitKat的趕快上, 能刷的不要等). A7以後,
同期的Android KitKat優化也不差, 所以iPhone界面
順暢的主因是強大的單核效能, 而非廣為流傳的
"軟體優化". 當然不否認iOS軟體有優化, 但這與現代
的Android差異已經不多, 所以不是主因.

看到這裡, 相信你會問:
   1. 為什麼高通/MTK/三星不發展單核強的SoC而專注
   在多核效能?
   2. 蘋果怎麼做到大幅提昇單核效能的? 這樣做, Z>B嗎?

問題一的答案有兩部份:
1. Android 5.0以前的Dalvik系統需要多一個核心來進行JIT
   Compile.

   相信早期的Android玩家應該都記得Android 2.2 Froyo所帶
   來效能大躍進, 當時的效能提昇, 來自JIT Compile, 他能夠
   在程式執行時, 將Dalvik/Java的程式碼, 轉成CPU原生的

   程式碼. 原生的程式碼當然快的多. 然而, 他是程式一邊跑,
   他一邊轉, 所以程式跑在一個核心, 轉換的工作(Compile)
   在另一個核心跑. 因此多核心是真的會被用到. 這也就是為什麼
   在Froyo的出現(05/2010)後, 多核心的手機(LG Optimus 2X,
   12/2010)就迅速的出現.

   那講到這邊, 跟Android 5.0有什麼關係? Android 5.0出現了
   ART. ART能夠在軟體安裝的時候, 就將Dalvik/Java的程式碼
   轉換成原生的程式碼, 避免每次執行, 每次轉換還需要多一個
   核心的問題. 因此5.0後Android對多核心的需求會下降.

   也就是說, 未來Android系統的CPU也會走向高單核效能的方向.

   當然, 最近MTK要出Helios X20, 一次來個10核心, 這看似
   有些反常, 不過別忘了, 他是分成3個群組, 4+4+2, 所以真正
   跑分時, 他根本就是雙核心, 只有兩個A72核心在跑. 剩下
   八顆A53, 都是廢物, 應該廢除... 阿不是, 其實A53的小核心
   有其待機時的低耗電優勢, 但是不用到八顆那麼誇張, 放那麼
   多顆我懷疑是行銷噱頭用, 如同當年Pentium 4那超高卻沒用的
   時脈.


   因次我建議, 消費者們必須要讓廠商了解, 核心數量已經不被
   在乎, 少去關心核心數量. 真正在乎的是單核效能, 跟少數
   (<=2~4)核心狀況下的多核分數. 讓他們少浪費錢跟時間出
   那麼多顆A53這種little核心.


2. 大多SoC廠沒能力自行開發CPU, 全部都用ARM的公板來優化.

   目前MTK, 三星, 跟大陸的海思所用的晶片全數都是ARM的
   公板. 然而, 當時ARM就沒有這樣一個高單核效能的核心, 他們
   當然沒有辦法出這樣的一個產品. 另外, ARM的CPU設計功力也不
   是那麼的傑出, 當年Cortex A15時期, ARM的公板Cortex A15被
   高通設計的Krait架構給打敗. 來到ARMv8時期, Cortex A53/57
   又被蘋果的Cyclone架構打敗.

   當然, 近期有兩個變化. ARM推出了Cortex A72核心, 他的單核
   效能有不少的成長, 但ARM在優化這顆核心時, 似乎還是很顧慮
   面積, 所以個人預估, 單核效能要追平Apple A9可能有困難.


   另外, 不只高通要出自己的核心(Kryo), 最近三星似乎也發現有
   必要研發自己的CPU架構(Mongoose).


另外第二個問題, 蘋果衝單核效能怎麼做到的, 並且有沒有副作用?

1. 蘋果單核效能的來源是把桌機的CPU架構搬來手機上用.

   蘋果從A7開始用了他們自己開發的Cyclone架構, 當初5s發表時,
   蘋果就說他們用了桌機等級(Desktop Class)的CPU, Cyclone架構

   細節流出來後, 確實它比其他ARM核心大且複雜的多, 架構也跟Intel

   的Haswell架構比較相似.

   關於Apple Cyclone的CPU架構國外網站Anandtech有滿詳盡的介紹,
   不過似乎台灣沒有媒體把發翻成中文, 所以有興趣的只能看英文吧.
http://www.anandtech.com/show/7910/apples-cyclone-microarchitecture-detailed
短網址: http://goo.gl/OycHpr

2. 大核心的副作用: 續航力

   大顆的CPU核心, 例如Apple Cyclone或是Intel Haswell, 都有
   一個問題, 他們的耗電量大. 為了解決這個問題, 蘋果用了一個
   策略, 用較快的CPU, 迅速將事情做完, 然後迅速關掉CPU來省電.

   但這方法也是有缺陷的, 較大的CPU要完全關閉需要較長的時間,
   如果不完全關閉, 輕度休眠(例如關CPU不Flush Cache), 耗電量
   就會比較大.


   這個問題依然解的不完全, 連Intel也在想辦法. 所以說, 蘋果使用
   桌機等級的CPU架構最大的賭注, 就是續航力.

   續航力這點, 其實可以從國外各大網站的測試中看到. PhoneArena
   所進行的測試中, 同樣的電池大小(mAh數), iPhone的續航力大多
   時候會輸Android. (除非你用了SD810, SD810不要買)


   例如:
                      Galaxy S6    iPhone 6+   HTC One M8
   電池容量           2550mAh      2915mAh     2600mAh
   PhoneArena續航評鑑 7時14分      6時32分     7時12分

   所以簡單一點來說, 蘋果拿續航力換來了高單核效能跟界面流暢度.
   iPhone上任何用CPU動作都會帶來不少續航力的損耗.

   如果蘋果要解決這個問題, 長遠來看還是要往類似ARM那樣的
   BIG.little架構, 大核心配小核心. 不過這方面有些許難度,
   因此離蘋果重新定義BIG.little架構, 應該還有些時日.



--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.1.24
※ 文章代碼(AID): #1M0mwfKN (MobileComm)
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1443040937.A.517.html
papo0077    : 好文1F 09/24 05:16
ckf1207     : 推2F 09/24 05:27
jademesses  : 其實我覺得這篇寫得淺顯易懂阿,蘋果確實在硬體上3F 09/24 05:37
jademesses  : 表現得越來越強,除了RAM是因為iOS特性可以只給1G R
jademesses  : AM這樣搞,其他像是CPU還有GPU的效能幾乎都不在同
jademesses  : 級安卓下,甚至在之上
iPhone現在都是GPU/CPU很敢給,
但是RAM跟ROM很小器. 這樣的設計, 讓使用者
初期爽, 愛上iPhone, 後期RAM/ROM不夠被迫買新機.
簡單點來說就是擠用戶牙膏.

daney770405 : 淺顯易懂7F 09/24 05:46
Forestier   : 蘋果外加個m處理器就有多核的概念了吧?只是是拆開8F 09/24 05:54
yihanderman : 只能等阿婆重新定義惹9F 09/24 06:11
marxOO      : 省電的問題是在螢幕吧,Soc的問題在發熱.10F 09/24 06:38
省電問題, 系統中誰最耗電, 誰就是問題.
當CPU不是很耗電時, 螢幕就首當其衝.
如果CPU因為太大顆而耗電時, 螢幕就來到第二.

marxOO      : 要單核強,android已經有intel這個強棒11F 09/24 06:40
Intel的移動裝置處理器全數都是Atom,
也就是Silvermont架構.
Silvermont架構的單核速度差Haswell/Broadwell一大節.

如果Intel有能力把2x Silvermont搭1x Haswell做好,
那保證大殺四方, 不會讓一堆廠商含淚用SD810.

只可惜他沒有. 說好的Intel外星科技呢?

marxOO      : android廠商的問題在策略愚蠢,andorid本來參與廠商12F 09/24 06:43
marxOO      : 就夠多了,各自還搞機海,把有限的資源分的那麼散.
marxOO      : 產業不只是整個發展複製PC進程,連衰落也要嗎
kevin930043 : U質好文推15F 09/24 06:59
Ankuo       : GPU本來就強翻了BJ4,但1G ram各種不足,敝公司用的16F 09/24 07:14
Ankuo       : 通訊軟體,iPhone離開畫面跳到別的APP就離線,安卓
Ankuo       : 就不會,反正現在已經增加了,追求硬體對消費者有利
Ankuo       : 無害的
w147987     : 趕快推一下免得被以為看不懂20F 09/24 07:14
gtcw        : 專業21F 09/24 07:25
DiChik      : 其實Krait/Kyro也是類似的概念,不過Krait單核效能22F 09/24 07:39
DiChik      : 沒那麼強悍,Kyro未知罷了XDD
natsugo     : 非理工的我也看得懂XD24F 09/24 07:40
smartcooL   : 好文推25F 09/24 07:52
jansan      : 好文26F 09/24 07:56
jack0805449 : 所以說要打蘋果就是要打它的續航27F 09/24 08:03
storyo11413 : 寫得還蠻簡單的 看完我覺得系統能更新應該更被重視28F 09/24 08:05
sumins      : 今年安卓的cpu只有三星的較省電mtk高通都很耗電29F 09/24 08:07
sumins      : 蘋果a8也是用20nm沒有mtk高通那樣耗電
我上面比較了iPhone 6 (Apple A8, 台積20nm製程)跟
HTC One M8 (高通SD801, 台積28nm HPm製程).

高通製程差一代, 電池比較小, 續航比較強.
可見其CPU耗電上的差異.

wind80053   : 學習推31F 09/24 08:11
dan123w     : 好文用心推32F 09/24 08:16
DiChik      : 電力一大部分會從SoC流掉的...33F 09/24 08:19
DiChik      : SoC如果發熱無解,廢電就會多了一些
BIGETC      : 810:公司保證我ok der35F 09/24 08:25
VirgilAeneid: 發熱可以從製程,電源管理,Physical Design來解決.36F 09/24 08:25
NCISAL      : 上了一課37F 09/24 08:27
newguy      : Android第一次的大躍進不是落在2.3? 2.1、2.2都偏向38F 09/24 08:35
newguy      : ?
newguy      : 無感
JIT確實到2.3才比較穩.
就好像現在ART到5.1.1才比較穩. 之前5.0.x的ART GC其實會有問題,
會亂吃記憶體.

snowinwater : 好文41F 09/24 08:38
Hua0722     : 推推42F 09/24 08:42
ccpz        : Cyclone 效能暴衝的另一個原因是用上 64 bit43F 09/24 08:43
ccpz        : 64bit 不只是記憶體可以超過 4g 這麼單純而已
ccpz        : 光 register 增加, 減少 swap 次數就可以讓效能提高
ccpz        : http://bit.ly/WRhAc4 這篇有解釋
這篇裡面確實題到了不少移到64-bit以外,
A7多出來的新改進.

不過增加Register這件事情, 或許有點爭議, 不過個人認為
在一個Deeply out-of-order pipeline, multi-issue的架構下,
register的數量最大的影響應該在instruction encoding efficiency,
而非register spill造成的影響, 因為內部register renaming跟D$
會減少register數量造成的影響, 讓register spill的效能衝擊更少.

ccpz        : 另外除了 Apple 自己開發架構外, 他還有自己養47F 09/24 08:49
ccpz        : LLVM 編譯器的人, 所以 CPU 開發同時,  toolchain
ccpz        : 也跟得上
Qoo20811    : 果黑老愛酸蘋果硬體爛卻貴 他們永遠不肯思考蘋果為50F 09/24 08:54
Qoo20811    : 了讓手機使用者體驗變好 花了多少錢投資在研發上面
Qoo20811    : 學過計算機結構都知道自己layout一個cpu有多麻煩
Qoo20811    : 1G ram確實已經捉襟見肘 反正等6s出了再換就好惹
ealvis      : 不要污名化arm標準架構,apple也是arch license來54F 09/24 09:03
ealvis      : 的,不是從0開始。更不要迷信魔改arch,這世界上堪
ealvis      : 稱成功的也只有apple,上一個魔改的xscale草都不知
ealvis      : 道多長了。而且arch license的廠商其實也是很多的
f50903      : 樓上上說蘋果研發多?看看人家三星好嗎?研發跟行銷58F 09/24 09:06
f50903      : 都比蘋果砸更多,蘋果本來就是靠著信仰擠牙膏
三星在硬體上的研發確實滿認真的. 但是三星的軟體,
根本走錯方向, 管理有誤, 砸再多錢都是枉然.
三星最大的弱點就是軟體.

順便提提HTC, 說真的他軟體跟硬體個人覺得都不差,
只是怎麼回搞到今天的下場, 我也不知道.
也許是管理不佳, 員工沒熱忱吧. 我朋友以前在裡面,
似乎不是很爽.

sokayha     : 花大錢研發跟擠牙膏又不衝突XD  一個有投資同時撈更60F 09/24 09:08
sokayha     : 多點回來的概念
lsj168      : 果然是……http://i.imgur.com/zbfOcqi.jpg62F 09/24 09:08
sokayha     : 這叫養套殺   小心控制在殺雞取卵寸前63F 09/24 09:09
NCISAL      : 砸更多還這麼爛不需要反省嗎64F 09/24 09:10
三星的軟體研發需要好好反省, 或是全部砍掉重練.
他的硬體沒啥問題, 只要ARM官板不要那麼智障就好了.

walelile    : 有多爛要不要說出來聽聽?65F 09/24 09:12
natsugo     : 感覺是apple的規劃比較謹慎一點不會一次衝太快66F 09/24 09:12
av012345610 : 原來阿婆對cpu這麼講究67F 09/24 09:12
walelile    : 來一篇S6 Edge vs iPhone 6S ?68F 09/24 09:13
XiaoMiisCOPY: 三星砸錢多就叫有在研發??? 這種天真的言論也只能在69F 09/24 09:23
XiaoMiisCOPY: 這邊看到了 原來把錢丟到水裡 跟老闆說我花了很多
XiaoMiisCOPY: 錢有在做事 這樣就叫做研發啊
三星的SoC其實不錯, 至少砸錢砸了一半對.

XiaoMiisCOPY: 說到行銷砸錢多就更好笑了 砸了人家蘋果+微軟+googl72F 09/24 09:25
XiaoMiisCOPY: e合起來也比不上的行銷經費 品牌還爛成這樣 還好意
XiaoMiisCOPY: 思說自己花比較多錢XDDD
Analogue    : 蘋果的cpu不是自己lay的…75F 09/24 09:30
gdtg10900   : 我覺得android問題在無法維持高效能會過熱降頻76F 09/24 09:33
那是SD810的問題. SD801持久狀況下都沒問題.
高通不會玩大核配小核, 硬要出, 結果搞個四不像.

f50903      : 三星狗又在供銷偉了呵呵,不然你告訴我怎樣評估研發77F 09/24 09:33
f50903      : 啊?是有人先說蘋果花大錢研發,結果人家三星砸得比
f50903      : 他還多,這就是事實啊
gdtg10900   : 效能只有跑分的時候會發揮...80F 09/24 09:34
liwmewmew   : 手機的CPU目前都不太會是最耗電的點?81F 09/24 09:42
liwmewmew   : 感覺某些無線模組跟螢幕更是耗電怪獸?
如同前面說的, 誰最耗電, 誰就是問題.
用了Cyclone這般大的架構, 他就變成最耗電的點了.

shelizi     : 蘋果叫做研發 三星叫做浪費錢 重新定義研發不行嗎83F 09/24 09:43
jack990568  : 好文!84F 09/24 09:48
Allen1124   : 推!好文!!!85F 09/24 09:52
DiChik      : 至少我們也知道,當遇到像豬一樣的S810時86F 09/24 10:04
DiChik      : 什麼電源管理,Physical Design都是無用的XDD
SD810的電源管理根本智障. 當大核過熱時,
他會跳小核去執行.

這就跟手排車開五檔跑不贏別人, 就直接改換一檔...

DiChik      : 製程跟好設計才是關鍵88F 09/24 10:04
hegemon     : 只能奉勸這些AP廠,莫忘AMD只知道堆核心數的教訓…89F 09/24 10:08
TAIHO       : 好文推90F 09/24 10:11
Skylegend   : 這跟以前狀況不同了吧,apple CPU不會拿來給android91F 09/24 10:12
Skylegend   : 用,其實沒什麼好比的,比較像兩個系統的戰爭,以及
Skylegend   : 各系統廠獲利方式
BIGETC      : 又出現了 絕對不能形容蘋果不完美94F 09/24 10:19
jeff101234  : 好文推一個95F 09/24 10:21
jeff101234  : 阿婆研發再多也是它家的是好嗎 擠牙膏不給你用還要
jeff101234  : 為阿婆喝采?
racksold    : 又有留言又毀了一篇好文98F 09/24 10:24
cin2        : 原來三星研發叫把錢丟在水裡XDDD 難怪台灣老闆都不99F 09/24 10:28
cin2        : 花錢研發 就是有這種人XDDD有當老闆的潛質喔三星狗
mabao       : 有看有推,長知識!101F 09/24 10:41
derektsai   : 好文推102F 09/24 10:51
ubike5566 
ubike5566   : u文給推103F 09/24 10:56
neil610778  : 三星產業包山包海,從電視到手機,面板、ram、ssd、104F 09/24 11:00
neil610778  : 晶圓製造等等,產品線那麼多,研發支出高不是很正常
neil610778  : 嗎?
cin2        : 說不定比台灣全部公司加起來還多XD鬼島的老闆要他們107F 09/24 11:02
cin2        : 砸錢研發好像要他們的命
michaelchen1: 專業109F 09/24 11:18
BadGame     : 蘋果一樣會吃電跟降頻 只是降了還維持一定效能110F 09/24 11:24
BadGame     : 有興趣再看 Apple A8X CPU耗電測試吧
BadGame     : http://tieba.baidu.com/p/3959432049
MisuzuXD    : 推 簡單易懂113F 09/24 11:27
OscarShih   : iOS9讓我的ipad Air Lag到死, 我再也不相信apple的114F 09/24 11:40
OscarShih   : 什麼單核神話
andrewlol527: 我只知道有人要被桶了116F 09/24 11:45
ssadd502227 : 果黑有酸蘋果硬體嗎?不是酸信仰嗎?117F 09/24 11:47
ssadd502227 : 蘋果會賣成這樣已經跟硬不硬體沒直接關係了
jeff101234  : 偏激果粉到最後還是會喊銷量屌打  結束這回合119F 09/24 11:49
DRPL        : 果粉被戰到胡言亂語了??  口憐   XDDD120F 09/24 11:58
natsugo     : 大絕︰放一張XX板結束這個回合121F 09/24 12:02
westwood0402: 果粉:安卓只會一味地衝硬體122F 09/24 12:06
notmuchmoney: Intel可能開始感到焦慮了 A9的性能做到跟coreM同級123F 09/24 12:31
notmuchmoney:  甚至未來高通MRK三星下一代SoC也有同級表現的話
notmuchmoney:  很多想像會開始發酵
Intel早就開始焦慮了.
就是焦慮才會免費塞一堆CPU給Asus搞Zenfone.

OscarShih   : 哪那麼好取代, 頂多是intel攻打table/smphone較難126F 09/24 12:37
i9602283    : 專業推127F 09/24 12:43
notmuchmoney: 看看嘍 作業系統都不是掌握在Intel手上 這是Intel128F 09/24 12:45
notmuchmoney: 比較弱勢的地方
ddreamer    : 專業文推130F 09/24 13:27
※ 編輯: john0312 (218.161.1.24), 09/24/2015 14:38:59
johnny790218: 好文推!131F 09/24 14:14
jimmymd50114: 推132F 09/24 14:43
kira925     : 這篇該M133F 09/24 15:25
ASKA028     : 這種文該多ㄧ點 不然都只有看到互酸文134F 09/24 16:47
rogergon    : 以前英特爾的製程有明顯優勢,現在14 vs16 誰怕誰?135F 09/24 17:45
DiChik      : 其實目前真正平衡的ARM SoC,應該2xA72+2xA53就夠了136F 09/24 17:50
DiChik      : 可是這在市場上的宣傳會有不少的問題XD
DiChik      : S820的Kyro對應的是四顆A72,待機耗電來說
DiChik      : 就算降頻..還是不及A53
DiChik      : 至於Cyclone架構..核心對應是比A72還強的效能核心
DiChik      : 在"同樣環境"下,待機耗電絕對沒優勢
DiChik      : 只可惜,系統上iOS的取向跟電量管理
DiChik      : "省電"倒是比Android還好 XD
seafire     : 需要更多這種文章144F 09/24 18:09
seafire     : 另外新手問一下 那為何蘋果用起來感覺很省電?
kira925     : Intel現在製程依然有優勢阿....146F 09/24 18:10
kira925     : 因為是"感覺"
treble720   : 推148F 09/24 18:14
DiChik      : iOS整體來說不是感覺很省電,事實是真的比較省電149F 09/24 18:24
DiChik      : 軟體架構上一個全多工,一個則是偽多工,或稱單工
DiChik      : 自然在一個單位裡較省,只是在電量上一直給的很小氣
DiChik      : 另外就是Android有太多不必要的耗電來源
DiChik      : 例如無用的常駐Service,軟體最佳化問題
DiChik      : 不過iOS9已經開始開拓"雙工"的部份
DiChik      : 算是好事也是壞事XD
Anthonypapa : 難道有長知識好文,拜託不要又戰起來156F 09/24 19:20
jeff6165    : Intel外星科技的代價就是噴電啊...我相信沒人會想157F 09/24 19:29
jeff6165    : 掛一顆尿袋趴趴走
DiChik      : x86這架構嘛 本來就是不管耗電的....159F 09/24 19:33
DiChik      : 所以Atom一開始才非常委靡不振啊XD 廠商不敢用
bjiyxo      : 推專業161F 09/24 20:54

--
※ 看板: K_hot 文章推薦值: 0 目前人氣: 0 累積人氣: 289 
※ 本文也出現在看板: CPLife
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇