作者henrypinge (Edward)
看板Tech_Job
標題Fw: [轉錄] 高通放出影片嗆聲聯發科「真八核」:量
時間Sun Sep 8 21:33:50 2013
※ [本文轉錄自 Stock 看板 #1IB1qA33 ]
作者: waitrop (嘴砲無雙) 看板: Stock
標題: Re: [轉錄] 高通放出影片嗆聲聯發科「真八核」:量
時間: Sun Sep 8 14:45:27 2013
其實這一系列的討論有一些認知並不正確,
身為一半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有沒有下單給其他廠,不過聯電確定接到了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 107.15.58.34
→ hijacker000 :蘋果自己做硬體自己做os 在mac上算是失敗的 09/08 14:51
→ boyoyoyo :結論: 股版的知識 > hardware這個版 09/08 15:09
→ boyoyoyo :高手都跑來股版了 (;゚д゚) 09/08 15:10
→ mullin1453 :失敗?為何? 09/08 15:12
→ acelp :愛鳳或愛配算是成功吧? 09/08 15:27
推 abcdefghi :阿婆每樣產品都算是市場先趨,一開始自己做是必要的, 09/08 15:32
→ abcdefghi :賈神回鍋之前,一直堅持自己做這一點是有點失敗,但現 09/08 15:34
→ abcdefghi :在看起來阿婆已經沒有這個迷思了. 09/08 15:35
→ xam :其實 Q 是有計劃的在擴展、研發而不是為了自己做而作 09/08 15:42
推 bjones :good! 09/08 16:07
→ fly74 :cow吆..大M想表達的是技術上的領先 結果高通得到溫暖 09/08 16:16
→ fly74 :婀 打太快 應該是技術上的精進 09/08 16:17
→ ry3298 :@acelp "mac"(desktop/notebook) 非 iphone/ipad 09/08 16:46
→ ry3298 :hijacker指的是powerpc時代的mac嗎 09/08 16:47
→ acelp :我只想說mac的失敗只是為未來鋪路 09/08 16:58
→ acelp :但不代表軟硬體都自己來會失敗 這得看是誰主事 09/08 17:00
推 ray2501 :推 09/08 17:18
推 yamiyodare :1.native code可以知道核心數,4.NEON是平行處理 09/08 17:31
→ yamiyodare :NEON效能不佳不代表多工效能不佳,但某些軟體跑得慢 09/08 17:35
推 brightest :XD 謝謝你 09/08 18:20
推 brightest :的確可以知道核心數 下cp15就知道了 09/08 18:24
推 brightest :user mode 可不可以下我就不知了 09/08 18:26
推 brightest :所以 1核,2核,4核,8核應該可以有不同Sw寫法 09/08 18:29
→ brightest :neon就SIMD阿 只是大家都愛亂取名 09/08 18:33
推 brightest :至於Q 養這些高貴工程師好像也沒比IP license賺多少 09/08 18:37
→ abcdefghi :app可以直接讀/proc/cpuinfo 09/08 19:11
→ brightest :對了 gpu跟image/video無關好嗎@@ 09/08 21:12
推 ljsnonocat2 :推 09/08 21:33
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: henrypinge (163.23.106.51), 時間: 09/08/2013 21:33:50
→ dslite:APP不能指定cpu? 啥鬼? 09/08 22:07
→ cunankimo:multi-thread程式很難寫也很難最佳化 尤其是app這種 09/08 22:55
→ cunankimo:生命週期短的程式 不要預期會有很多人為了多核最佳化 09/08 22:57
推 eric03032001:純推 看不懂 只看懂obov這字 09/08 23:00
推 saxer:我比較推obov後面回的那篇文 09/09 11:46
→ ku399999:app不能對四核 八核最佳化, 但能對多核最佳化 09/09 13:48
→ ku399999:不然全寫在同一隻thread, 多核系統也拿你沒輒 09/09 13:48
→ eric03032001:一般人需要用到八核嗎 ? 09/09 19:41
推 lqke:發哥的軟體大軍又不是好看的,軟體自己做最佳化不就得了... 09/10 00:54
推 noah538:8>4 hw能平行處理的能力倍增,sw做不到 09/12 13:23