許多人用所謂的跑分程式 (Benchmark)來判別系統效能的好壞.
但是iPhone5來說,可能會出現個怪現象.
也就是說明明跑分不怎麼樣,但是iPhone5硬是比較順.
有些人歸功於iOS6的校調和優化.
雖然是事實,但無法完全解釋這種現象.
有些因素還是要考慮進去.
(1) 自製CPU
雖然Apple和Samsung都是用ARM,也都由Samsung代工,
乍看之下Samsung似乎比較佔優勢,其實不然.
Apple的design是真的有改到CPU的高層結構.
A6用的其實不是Cortex A15也非Cortex A9,
它的指令集是ARMv7s,Cortex A15是ARMv7.
而且有A15的SIMD VFPv4 extensions指令集.
這簡直是太犯規了.... :)
天曉得Apple放了什麼怪怪的自製指令?!
就像SIMD指令一樣,四個乘法本來要四個指令,
這下用一個指令就幹掉了,速度一下子快了四倍!
目前Samsung和HTC都沒這樣搞.還是用公訂的架構.
但是跑分程式完全無法用到那些特製的指令,
只能用公訂的指令集....
(2) 自製Compiler
Apple的Compiler是自己搞的,自己弄最佳化.
所以有辦法發揮最佳效能,並且可使用自製的指令集.
完全量身打造.
Samsung和HTC就沒辦法了,只能用GCC,或是ARM優化的GCC.
所以,就算想打造自製指令,也要有辦法改Compiler.
要不然就要埋binary code.這樣程式會超難寫.
跑分程式自然也只能測到這些標準的Complier的部分.
(3) GPU
Apple的GPU和相對應的library,也是自己打造的.
所以情況會和CPU一樣.
更慘的是,跑分程式很多都不太測GPU.
所以更無法看出優劣.
就像比武或體操等運動,
比跑分,有點像指定動作.
大家做一樣的姿勢,看誰做得好.
這方面Samsung和HTC還有機會一拼.
但是自製指令集部分就像自選動作.
Apple可是有很華麗的自選動作呀!!!
Samsung和HTC目前為零.....
而且跑分只是指定動作而已.
真的打起來,誰只會用指定動作呀?!
當然要用密秘武器把你打到掛.
這也就是Apple和Samsung及HTC極為不平等的地方.
如果只追跑分,那可能一輩子都只能玩指定動作....
但是如果跑分都輸.....那就無言了.
但是它可是買了兩家application processor的IC設計公司,
一家是P.A Semiconductors,另一家是Intrinsity
當初蘋果有兩個team來作application processor,
一個team在開發A4的時候,
另一個team已經開始著手重新定義CPU的microarchitecture,
當2010年初microarchitecture的定義完成,
2010年四月蘋果買了當時技術領先的Intrinsity來接手進行phisical design,
至於Intrinsity夠不夠強,
可以看蘋果還沒買下Intrinsity之前的IEEE Spectrum的報導
http://spectrum.ieee.org/computing/hardware/winner-intrinsitys-more-cerebral-cortex
當時連三星的HummingBird都需要靠Intrinsity,方得完成,
Intrinsity在當時可說是一時之選,
如今看來,蘋果的A6也沒讓人失望
關閉廣告