精華區beta Tech_Job 關於我們 聯絡資訊
※ [本文轉錄自 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