其實這一系列的討論有一些認知並不正確,
身為一半software engineer, 一半architect,
應該要出來嘴砲一下, 澄清一些觀念,
其實所有的討論裡頭, brightest大大這篇最符合事實,
(1) 在APP (application) level, 不可能知道有幾顆cpu,
更不能對八核或四核作最佳化,
一切都在OS kernel level, scheduler 把task分給每個cpu,
所以大M說每個獨立標籤頁分配CPU core, 不太可能,
除非進去OS kernel 做hard-code最佳化,
但是這樣可能反而降低一般程式的效能,
因為寫程式最忌諱hard-code
(2) 舉個例子, hard-code 造成的問題,
如果我的程式APP預設有八核,
所以我開了八個thread/process,
結果市面上只有1%的手機是八核,
所以理論上, 這程式只能在1%的機器上最佳化,
在其他的機器上面都在做context switch,
所以大部份寫程式的人不太可能去預設cpu數目,
也不可能狂開八個thread/process,
而且很少有程式真的需要開這麼多的thread/process,
理論上開個兩三個thread/process就很多了
(3) 那麼你會問說多核心的用處在哪?
其實多核心的用處在工作站,
以及"同時"跑多個應用程式的情況,
而不是在於大家討論的單個程式的multi-thread/process,
比方說, 你一邊聽音樂, 一邊上ptt, 還一邊跑瀏覽器, 還看影片,
即使如此, OS的scheduling 還是會把大部分的背景程式放到low priority queue,
至於說工作站, 有人會在手機上面"同時"多個使用者登入嗎?
大部分的時候, task都在前幾個cpu做掉了,
即是cpu做太慢, 也不見得task能夠丟給後面的cpu做(這又回到APP的問題),
(4) 還有人對neon的認知錯誤,
neon比較像是從前Intel的MMX, WMMX,
就是對多媒體做硬體加速,
其實directx在某些方面也有這功能,
所以neon "不是" 多工處理功能,
不過在特殊應用程式上, 像是影像處理之類的,
neon 可以對各自獨立的資料做多筆資料處理
(5) 大M的solution是ARM IP + PowerVR,
Q的solution是Krait + Adreno(AMD/ATI 前身),
就GPU那塊而言,
理論上AMD/ATI在桌機跟工作站的技術應該是狂電PowerVR,
事實上聽說之前Adreno的效能似乎略輸PowerVR,
不過最近出的Adreno 320/330 似乎效能又比PowerVR好,
Anyway, 差別在於大M是買IP, Q是自己做的,
先不提效能誰好誰差,
但是拿PowerVR來說大M的image/video process能力比較好,
的確是有失公平,
(6) 至於說為何Q都要自己做,
甚至連面板都要自己做Mirasol,
原因就像obov說的, Q的目標就是60%毛利率,
格局不同, Q不怕失敗也不怕賠錢,
就是要高毛利率 (毛利稍微掉一些股票馬上大跌),
只有自己做才有辦法做出差異性,
也才有辦法產生高毛利率,
這也是蘋果的經營策略之一, 所以才自己做cpu, 自己做os,
這絕對不是光說專利營收就能解釋的
※ 引述《brightest (fff)》之銘言:
: 身為一個資工電機股市三修(雖然都修得很爛)的
: 宅宅工程師因為沒有妹宅在家
: 來發表一下長篇心得
: 1.
: 單核當然可以多工, 但要付出context switch的代價
: 對於使用者而言就是會覺得卡卡的
: 不知道有幾個人看過M的真八核白皮書
: 裡面提到
: ==============================================
: 聯發科技真八核解決方案具有為每個獨立的瀏覽器
: 標籤頁分配CPU核芯的獨一無二的功能
: ==============================================
: 如果是真的代表不需要context switch
: 自然更流暢
: 另外這也代表M有能力修改android 底層linux kernel
: 當然也可以把八個AP甚至只是八個thread分派到不同核心
: 2.
: 現在是手機效能過剩的時代
: 那20個常用app難道就需要廣告裡所謂的better core嗎
: 看影片30fps就夠了 跑120fps是很厲害膩?
: 玩吉他英雄掉那麼快按不到早就不想玩了
: 所以還不如增加多工能力對於使用者體驗比較好
: 3.
: p=C*VDD^2*f
: 如果是四核2g與八核1g比耗電
: C通常與die size成正比 so 1:2
: f當然就是2:1
: 兩者打平
: 但要達到2g一般來說VDD要拉到很高
: 加上是平方關係
: 所以後者省電
: 當然這只是粗淺計算而已
: 結論
: M的marketing做得很好
: RD也很爭氣
: 所以Q才需要出來靠杯
: 不然幹嘛鳥妳
: ※ 引述《stosto (樹多)》之銘言:
: : 我也不是要酸MTK八核怎樣
: : 跑分我猜MTK八核一定比較高,如果把核心數歸入分數一定贏高通
: : 只是大家都有多核迷思
: : 多工也不一定是多核,單核也可以多工,這是OS的排程
: : 你以前用單核CPU不也可以同時開IE跟開WORD工作?這才是多工的概念
: : 多核的效能要最大化,假設你同時執行八個AP,每個AP都跑不同核心才有用
: : 可是現在OS根本不會把這八個AP分派到不同核心,只要資源夠用的話
: : OS通常只會分派給其他還可以使用的核心,所以高通才會出這個廣告酸MTK
: : 程式可以指定要跑哪個核心,不過只是AP的話,我猜很少有人會這樣做
: : 資源使用通常都是交給OS,至於OS要怎麼調教,那是OS的事
: : 我是不知道MTK有沒有下單給其他廠,不過聯電確定接到了