※ [本文转录自 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有没有下单给其他厂,不过联电确定接到了