Board logo

标题: 问什么采用big.LITTLE的晓龙CPU耗电感人。 [打印本页]

作者: ffcactus    时间: 2015-4-2 16:43     标题: 问什么采用big.LITTLE的晓龙CPU耗电感人。

这里我和大家讨论一下问什么当今流行的晓龙CPU为何耗电感人。文章本着客观详实的态度,希望可以避免安卓爱好者的无脑言论。
大家知道,安卓的APP与硬件之间隔着这么几层,APP-> Android -> Java 虚拟机 -> Linux -> 具体硬件。当我们讨论耗电时,如论如何也绕不开Linux和具体硬件。
Linux中任务调度模块直接与CPU打交道。Linux至诞生以来,任务调度的首要目标就是提高CPU的吞吐量以及加快任务的响应速度。但是随着移动应用铺天盖地的的发展,如何在任务调度的同时耗用最少的电源一下子成为了Linux任务调度器所追寻的目标。那么如何更省电呢?
首先CPU处于休眠状态下最省电,换句话说,完成一件任务CPU休眠越多越省电。很自然的大家就会想到,在多CPU的情况下,把尽可能多的任务集中到尽可能少的CPU上完成则最省电。这种设想是对的,但是当今的硬件设计却不是这样。假如说有8核,并不是每个核心都可以单独的进入休眠状态,因为这些核心是“相关联”的。假如4个核心相关联,只要有任何一个核心无法进入休眠状态那么其他的也无法进入休眠状态,这是因为它们共享着cache等等。大量的实践表明,在当今的硬件设计上,尽可能的把任务平均的分配到每一个CPU上,以并期望任务尽可能快的完成,这才是最省电的方法。但是有一点,如果这个任务执行的时间非常短,那么把它挪到某个CPU上运行所耗费的电量可能会比不挪它还要多。
所以现在Linux的任务调度机制大概可以这么描述--把任务尽可能的平均分配到每个CPU上,并且把那些非常短小的任务一开始就分配到固定的CPU上。比如有CPU 1-8,其中1-2,3-4,5-6,7-8是“相关联”的CPU。那么任务调度程序会把非常短小的任务尽量集中在CPU 1-2 上,然后尽量把其他任务平均分配在 3-8 上。
我说这么多到底有什么意义呢,这与big.LITTLE到底有什么关系呢?问题的关键是我上面的描述一切都是建立在处理器是SMP的基础上,SMP的意思就是说每一个CPU对称的,换句话说就是性能是一样的。而big.LITTLE不是SMP结构。现在ARM的big.LITTLE架构非常奇怪,它要么4个低功耗低性能的CPU运行,要么4个高功耗高性能的CPU运行。Linux现有的机制无法适应这个结构。对Linux任务调度机制的修改通常会涉及到非常多的问题,所以进展意向都非常缓慢。采用big.LITTLE设计的CPU想实现其耗电与性能均达到优秀的初衷还有相当一段路要走。
作者: banditcat    时间: 2015-4-2 16:46

posted by wap, platform: iPhone
天生没有软件支撑的硬件设计
作者: 罗克萨斯    时间: 2015-4-2 16:53

posted by wap, platform: Meizu MX4
不止高通,联发科的MT6595也这样
作者: 蓝翔技校    时间: 2015-4-2 16:56

不对啊,MTK也有MT6595是A17+A7的也可以8核同开,也耗电感人?

那615呢?8个全是A53理论上没问题了吧?耗电怎么同样感人?
作者: ffcactus    时间: 2015-4-2 16:58

引用:
原帖由 蓝翔技校 于 2015-4-2 16:56 发表
不对啊,MTK也有MT6595是A17+A7的也可以8核同开,也耗电感人?

那615呢?8个全是A53理论上没问题了吧?耗电怎么同样感人?
如果8个全是A53,那么不会有现在的问题。但问题是8个全是A53的话,那么它本身也没打算省电了。。。
作者: aszx21    时间: 2015-4-2 17:02

引用:
原帖由 ffcactus 于 2015-4-2 16:58 发表

如果8个全是A53,那么不会有现在的问题。但问题是8个全是A53的话,那么它本身也没打算省电了。。。
A53 A57搞清楚了吗
作者: 卖哥    时间: 2015-4-2 17:10

linux可以允许“热插拔”CPU。
现在的八核全开就是利用这个机制实现的,而且一旦把这个机制加入了系统中,不仅仅可以八核全开,还能彻底关闭核心,实现真单核运行。

高通在biglittle上太嫩了,别家可是玩了2年biglittle产品的,无论是硬件优化,还是模式下的软件调度经验,高通完全比不过。
与之对比,联发科甚至利用关闭核心让单核超频的方式实现了ARM官方不支持的睿频。
作者: ffcactus    时间: 2015-4-2 17:22

引用:
原帖由 aszx21 于 2015-4-2 17:02 发表

A53 A57搞清楚了吗
A53还是A57,在我和他的对答中有啥区别?
作者: 分分钟叫你做人    时间: 2015-4-2 19:06

posted by wap, platform: HTC EVO 3D
高通目前上市的有啥是大小核设计的????目测没有吧!
那为什么有这样一个帖子???显然是为了黑高通存在的!
谁会专门黑高通呢?是谁呢?
作者: sunever    时间: 2015-4-2 19:08

posted by wap, platform: Lenovo
联想新发的k3note的cpu耗电感人也是这个原因吗
作者: aszx21    时间: 2015-4-2 19:12

A53如果是四核
还是非常省电的
作者: 卖哥    时间: 2015-4-2 19:17

posted by wap, platform: Meizu MX4
引用:
原帖由 @分分钟叫你做人  于 2015-4-2 19:06 发表
高通目前上市的有啥是大小核设计的????目测没有吧!
那为什么有这样一个帖子???显然是为了黑高通存在的!
谁会专门黑高通呢?是谁呢?
810算不算已经上市另说,确定上市的615就是biglittle的。
1.5Ghz和1.0Ghz两种A53搞biglittle。
不过也不算啥独苗,华为的930也是A53自己和自己biglittle。
作者: 卖哥    时间: 2015-4-2 21:11

哦,对了贴张图,不知道鱼看到水后是喜悦还是哀伤呢……

[ 本帖最后由 卖哥 于 2015-4-2 21:20 编辑 ]
作者: jjx01    时间: 2015-4-2 22:12

这是地图炮吧,骁龙的800系列是ASMP,不共享缓存,真正异步
作者: yiwenzi    时间: 2015-4-3 00:57

posted by wap, platform: GALAXY S IV
苹果用户关心安卓用户耗电情况
安卓用户关心苹果用户内存大小

你坛用户真热心
作者: pauleldwan    时间: 2015-4-3 07:34

引用:
原帖由 分分钟叫你做人 于 2015-4-2 19:06 发表
posted by wap, platform: HTC EVO 3D
高通目前上市的有啥是大小核设计的????目测没有吧!
那为什么有这样一个帖子???显然是为了黑高通存在的!
谁会专门黑高通呢?是谁呢?
好好拿小米工资黑鬼族不就好了,高通又不是只小米用,这也插一脚…
作者: 终于出名    时间: 2015-4-3 09:39

骁龙615耗电纯粹是因为工艺问题,K3Note则是屏幕大造成的
作者: yinzhili    时间: 2015-4-3 09:53

哇,各路硬件专家都现身了。
作者: 夏多南纳特    时间: 2015-4-3 11:43

posted by wap, platform: nubia Z7 Max
学习学习学习
作者: allensakura    时间: 2015-4-3 11:45

三棒實現八核全開、單核上線都一年多了,虛擬內存大神能不能更新點資訊?
作者: ffcactus    时间: 2015-4-3 14:33

posted by wap, platform: iPhone
引用:
原帖由 @allensakura  于 2015-4-3 11:45 发表
三棒實現八核全開、單核上線都一年多了,虛擬內存大神能不能更新點資訊?
你是傻逼吗,标题看不懂?
作者: 大象吃大西瓜    时间: 2015-4-3 18:53

引用:
原帖由 ffcactus 于 2015-4-3 14:33 发表
posted by wap, platform: iPhone
你是傻逼吗,标题看不懂?
连骁龙几个字都写不好就不要出来丢人了,回去被人插菊花照样能高潮,和必一天到晚在论坛一个人高潮呢。
作者: ffcactus    时间: 2015-4-3 18:58

posted by wap, platform: iPhone
引用:
原帖由 @大象吃大西瓜  于 2015-4-3 18:53 发表
连骁龙几个字都写不好就不要出来丢人了,回去被人插菊花照样能高潮,和必一天到晚在论坛一个人高潮呢。
文中还有那么多错别字你不一一例举啦?哈哈,傻逼就是傻逼,尽搞些脑残玩意。
作者: 卖哥    时间: 2015-4-3 19:18


开始我还以为虚拟大神有810不支持HMP的消息呢
结果不是这样呀,810明明可以八核同时运行。
作者: 卖哥    时间: 2015-4-3 19:23

posted by wap, platform: Meizu MX4
MTK我觉得是核心调度水准最高的,比方说这时3核开启且频率不同。
作者: ffcactus    时间: 2015-4-3 19:37

posted by wap, platform: iPhone
引用:
原帖由 @卖哥  于 2015-4-3 19:18 发表
http://www.gsmdome.com/wpcontent/uploads/2015/03/Screenshot409.jpg
开始我还以为虚拟大神有810不支持HMP的消息呢
结果不是这样呀,810明明可以八核同时运行。
我什么时候谈过此事?
作者: 卖哥    时间: 2015-4-3 20:37

引用:
原帖由 ffcactus 于 2015-4-3 19:37 发表
posted by wap, platform: iPhone
我什么时候谈过此事?
引用:
现在ARM的big.LITTLE架构非常奇怪,它要么4个低功耗低性能的CPU运行,要么4个高功耗高性能的CPU运行。
大概是这段。
作者: ffcactus    时间: 2015-4-3 21:23

posted by wap, platform: iPhone
引用:
原帖由 @卖哥  于 2015-4-3 20:37 发表
大概是这段。
这与810有什么关系?
作者: 卖哥    时间: 2015-4-3 22:21

引用:
原帖由 ffcactus 于 2015-4-3 21:23 发表
posted by wap, platform: iPhone
这与810有什么关系?
哦,那么是哪款骁龙?还是说真的有晓龙这个品牌。
作者: qiaoluanpao    时间: 2015-4-3 23:07

posted by wap, platform: ZTE N909
引用:
原帖由 @ffcactus  于 2015-4-3 21:23 发表
这与810有什么关系?
810不是arm的大小核?
所以说基佬你发百度文装逼之前先确保自己看的懂才行啊
作者: ffcactus    时间: 2015-4-3 23:36

posted by wap, platform: iPhone
引用:
原帖由 @卖哥  于 2015-4-3 22:21 发表
哦,那么是哪款骁龙?还是说真的有晓龙这个品牌。
我在说big.LITTLE的问题,你举个其他例子想说明啥?
作者: ffcactus    时间: 2015-4-3 23:48

刚特意查了一下,810依然是big.LITTLE的结构。
https://www.qualcomm.com/products/snapdragon/processors/810
但是8个核心可以同时工作。
但它依旧是非对称结构,Linux依然不支持对这种结构作电源优化。
作者: cfqxd    时间: 2015-4-3 23:54

引用:
原帖由 ffcactus 于 2015-4-3 23:48 发表
刚特意查了一下,810依然是big.LITTLE的结构。
https://www.qualcomm.com/products/snapdragon/processors/810
但是8个核心可以同时工作。
但它依旧是非对称结构,Linux依然不支持对这种结构作电源优化。
Linus本人对ARM不感冒,都是各家公司出力让linaro来搞,同时自家的SoC还要自己来优化。曾经在华为时就有看到内部有个大牛带着一票人给920的调度做优化。其实810失败主要是TSMC的20nm工艺根本压不住A57,TSMC对20nm又不上心,这就是个缩小线宽的半代工艺,自然被14nm的7420吊打。另外华为好像下一代U是A53的鸡血版和A53自己组大小核吧,A57实在是太挫。我认为苹果走的大核心路子才是比较对的,性能容易发挥,功耗也容易控制
作者: ffcactus    时间: 2015-4-4 00:01

posted by wap, platform: iPhone
引用:
原帖由 @cfqxd  于 2015-4-3 23:54 发表
Linus本人对ARM不感冒,都是各家公司出力让linaro来搞,同时自家的SoC还要自己来优化。曾经在华为时就有看到内部有个大牛带着一票人给920的调度做优化。其实810失败主要是TSMC的20nm工艺根本压不住A57,TSMC对20nm又不上心,这就是个缩小线宽的半代工艺,自然被14nm的7420吊打。另外华为好像下一代U是A53的鸡血版和A53自己组大小核吧,A57实在是太挫。我认为苹果走的大核心路子才是比较对的,性能容易发挥,功耗也容易控制
苹果软硬件搞了这么多年,应该深知软硬件相互配合的重要性。
作者: cfqxd    时间: 2015-4-4 00:04

引用:
原帖由 ffcactus 于 2015-4-4 00:01 发表
posted by wap, platform: iPhone
苹果软硬件搞了这么多年,应该深知软硬件相互配合的重要性。
不过A8毕竟也是去年的U了,单线程性能干不过7420,而且核心还少好多。看今年A9有什么表现吧,继续延续cyclone架构估计也就是能达到7420的性能外加低得多的功耗,配合iOS体验还是没问题的。高通、apple以及传统上搞linux电源架构的很多人都对Big.Little不感冒,认为纯粹是芯片设计的扯让软件来补,这个问题就是见仁见智了。
作者: 卖哥    时间: 2015-4-4 00:38

引用:
原帖由 ffcactus 于 2015-4-3 23:48 发表
刚特意查了一下,810依然是big.LITTLE的结构。
https://www.qualcomm.com/products/snapdragon/processors/810
但是8个核心可以同时工作。
但它依旧是非对称结构,Linux依然不支持对这种结构作电源优化。
所以你说的是骁龙对吧,可以全开对吧,那么能把“要么四小核,要么四大核”的发言收回么?

然后……biglittle属于SMP。
ASMP的特征是各有各的特殊用途,比如wiki用了这么一张图

显然,这两个处理器都可以访问内存,但只有其中一个能够访问硬盘,换句话说,只有一个处理器可以访问到虚拟内存。
这种模式就是ASMP。
biglittle虽然有两种核心,但是他们都是全功能的,任何一个核心都允许独立支撑整个系统的运行,所以属于SMP。

至于说linux能否优化。我要说,作为从工控、到移动平台、到超级计算机,各种奇葩环境都过来的linux,没有它不能优化的系统。我可以举一个例子,近代ASMP的处理器的代表Cell,就是运行linux的。
再往回退,分时多任务下各线程以时间片管理,一个无法拆分的单线程任务,从开始到注销,可能所有8个核心都去过一遍,由于强核心单位时间内处理的任务更多,所以这个任务有更多的时间片自然会是在强核心中执行的。这是一种自然的分配模式,如果系统要想让更多的任务在强核执行,不需要特别指定这个程序在强核执行,只需要让强核保持在高频率即可。
作者: 卖哥    时间: 2015-4-4 00:45

引用:
原帖由 cfqxd 于 2015-4-4 00:04 发表


不过A8毕竟也是去年的U了,单线程性能干不过7420,而且核心还少好多。看今年A9有什么表现吧,继续延续cyclone架构估计也就是能达到7420的性能外加低得多的功耗,配合iOS体验还是没问题的。高通、apple以及传统上 ...
单线程性能还是小胜的,geekbench3单线程A8大概比7420多100分。
A9今年下半年的话,那么联发科用A72的,高通用TS2的,三星则据说是geekbench3单线程2240分的自用核心基本都出来了,它对位的已经不是A53了。

[ 本帖最后由 卖哥 于 2015-4-4 00:47 编辑 ]
作者: cfqxd    时间: 2015-4-4 00:56

引用:
原帖由 卖哥 于 2015-4-4 00:45 发表

单线程性能还是小胜的,geekbench3单线程A8大概比7420多100分。
A9今年下半年的话,那么联发科用A72的,高通用TS2的,三星则据说是geekbench3单线程2240分的自用核心基本都出来了,它对位的已经不是A53了。
高通自己的架构今年年末商用的可能性不大,芯片能量产就不错了,赶到手机上估计得明年这会儿。联发科和华为看样子都没兴趣上ARM性能最强的核心,估计跟市场定位有关系。Apple嘛。。不好说,有传说A9提升很大,不好估计
作者: 卖哥    时间: 2015-4-4 01:27

引用:
原帖由 cfqxd 于 2015-4-4 00:56 发表


高通自己的架构今年年末商用的可能性不大,芯片能量产就不错了,赶到手机上估计得明年这会儿。联发科和华为看样子都没兴趣上ARM性能最强的核心,估计跟市场定位有关系。Apple嘛。。不好说,有传说A9提升很大,不 ...
联发科已经确定了,2015Q4

高通820已经在MWC发布了,2015H2


使用这个SOC的具体产品上市速度不清楚,不过使用高通SOC的具体产品本来就能达到半年周期更替,多年保持未改变,以三星为例,GS4(S600)-Note3(S800)-GS5(S801)-Note4(S805),虽然GS6不用810了,但是和其他S810产品还是同期的,我们完全可以预计到Note5时期会有下一代的三星SOC和高通SOC。
作者: hooobo    时间: 2015-4-4 09:04

钢管插菊花文盲又来了,今天回去要被捅捅教训菊花
作者: cfqxd    时间: 2015-4-4 13:33

引用:
原帖由 卖哥 于 2015-4-4 01:27 发表

联发科已经确定了,2015Q4

高通820已经在MWC发布了,2015H2
http://cdnzz.ifanr.com/wp-conten ... apdragon-820-Hero-. ...
TSMC的FinFET今年年底才能量产,你没看高通的PPT都只敢写“Expect” "Sample"么。我认为三星的新note是等不上这颗U了
作者: 北条麻妃    时间: 2015-4-4 13:58

posted by wap, platform: UC
越来越专业
作者: ffcactus    时间: 2015-4-4 17:12

posted by wap, platform: iPhone
引用:
原帖由 @卖哥  于 2015-4-4 00:38 发表
所以你说的是骁龙对吧,可以全开对吧,那么能把“要么四小核,要么四大核”的发言收回么?

然后……biglittle属于SMP。
ASMP的特征是各有各的特殊用途,比如wiki用了这么一张图
http://upload.wikimedia.org/wikipedia/en/0/0b/Asmp_2.gif
显然,这两个处理器都可以访问内存,但只有其中一个能够访问硬盘,换句话说,只有一个处理器可以访问到虚拟内存。
这种模式就是ASMP。
biglittle虽然有两种核心,但是他们都是全功能的,任何一个核心都允许独立支撑整个系统的运行,所以属于SMP。

至于说linux能否优化。我要说,作为从工控、到移动平台、到超级计算机,各种奇葩环境都过来的linux,没有它不能优化的系统。我可以举一个例子,近代ASMP的处理器的代表Cell,就是运行linux的。
再往回退,分时多任务下各线程以时间片管理,一个无法拆分的单线程任务,从开始到注销,可能所有8个核心都去过一遍,由于强核心单位时间内处理的任务更多,所以这个任务有更多的时间片自然会是在强核心中执行的。这是一种自然的分配模式,如果系统要想让更多的任务在强核执行,不需要特别指定这个程序在强核执行,只需要让强核保持在高频率即可。
我为什么要收回?我在讨论为什么Linux无法对某种结构进行电源优化,你扯一个根本就不是我说的结构的东西。你想说明啥?完全就是莫名其妙。
还bigLITTLE属于SMP,笑死人,谁告诉你能同时访问内存就是SMP?你发明的定义?照你这么说Cell还是SMP呢。
你说Linux能优化,但你举的例子都是说的性能优化,可这里是讨论Power-aware scheduling, OK?
要是你认定Linux mainline已经支持对ASMP的power-aware scheduling你能告诉我是哪个版本吗?
作者: 卖哥    时间: 2015-4-4 23:19

引用:
原帖由 ffcactus 于 2015-4-4 17:12 发表
posted by wap, platform: iPhone
我为什么要收回?我在讨论为什么Linux无法对某种结构进行电源优化,你扯一个根本就不是我说的结构的东西。你想说明啥?完全就是莫名其妙。
还bigLITTLE属于SMP,笑死人,谁告诉你能 ...
目前要你收回的只是“它要么4个低功耗低性能的CPU运行,要么4个高功耗高性能的CPU运行。”这句话。
你是还觉得晓龙属于“它要么4个低功耗低性能的CPU运行,要么4个高功耗高性能的CPU运行。”,还是你觉得或者你全部论据全指望在这句上面了?

然后能访问全部内存当然不是SMP,SMP需要权限一致,正是因为可以做到只有低功耗低性能运行,恰恰证明biglittle完全是SMP,它每一个核心都拥有全部权限。
顺便一提,Cell的SPE不能访问内存,SPE要处理内存数据需要由PPU通过DMA将指定内存地址的数据复制到SPE那256KB的SRAM空间内。

下面说分时多任务在电源管理上的自优化,那就是只要降低一个核心的频率,这个核心执行的时间片就会更少,而关闭核心,这个核心就不会执行时间片。所以只要构建一个有限状态机,处理器温度,处理器的负载,各任务的处理器占用率,还有时间作为状态改变条件,而处理器各核心频率和是否关闭构成有限状态机的状态就可以实现电源管理。
至于说linux能不能这么来的证据,找一台安卓来,下载perfmon,打开perfmon,选择CPU,再随便干点不同的事情看看是不是处理器的开启和频率是不是随着负载和温度在变化。
如果真的找不到安卓设备,或者触碰安卓设备违反教条要处以石刑什么的,我前面也给了自己的截图。

这张图perfmon显示三个A7位于开启状态,其中两个使用最高频率1690mhz,一个使用494mhz。这就是一个有限状态,我可以告诉你前1s大概是三个核心都1690,后1s大概是第三个关闭,前两个继续1690,再后1s是第三个继续关闭,前两个变为1144。
作者: ffcactus    时间: 2015-4-5 00:47

posted by wap, platform: iPhone
引用:
原帖由 @卖哥  于 2015-4-4 23:19 发表
目前要你收回的只是“它要么4个低功耗低性能的CPU运行,要么4个高功耗高性能的CPU运行。”这句话。
你是还觉得晓龙属于“它要么4个低功耗低性能的CPU运行,要么4个高功耗高性能的CPU运行。”,还是你觉得或者你全部论据全指望在这句上面了?

然后能访问全部内存当然不是SMP,SMP需要权限一致,正是因为可以做到只有低功耗低性能运行,恰恰证明biglittle完全是SMP,它每一个核心都拥有全部权限。
顺便一提,Cell的SPE不能访问内存,SPE要处理内存数据需要由PPU通过DMA将指定内存地址的数据复制到SPE那256KB的SRAM空间内。

下面说分时多任务在电源管理上的自优化,那就是只要降低一个核心的频率,这个核心执行的时间片就会更少,而关闭核心,这个核心就不会执行时间片。所以只要构建一个有限状态机,处理器温度,处理器的负载,各任务的处理器占用率,还有时间作为状态改变条件,而处理器各核心频率和是否关闭构成有限状态机的状态就可以实现电源管理。
至于说linux能不能这么来的证据,找一台安卓来,下载perfmon,打开perfmon,选择CPU,再随便干点不同的事情看看是不是处理器的开启和频率是不是随着负载和温度在变化。
如果真的找不到安卓设备,或者触碰安卓设备违反教条要处以石刑什么的,我前面也给了自己的截图。
http://club.tgfcer.com/attachments/day_150403/20150403_22944d93611399ac8dbeUsuGgUOmAsiA.jpg
这张图perfmon显示三个A7位于开启状态,其中两个使用最高频率1690mhz,一个使用494mhz。这就是一个有限状态,我可以告诉你前1s大概是三个核心都1690,后1s大概是第三个关闭,前两个继续1690,再后1s是第三个继续关闭,前两个变为1144。
我那句话可以导出所有的big.LITTLE结构都不支持芯片同时运行?
有你说的这么简单怎么mainline迄今为止都不支持?
作者: 爱游戏    时间: 2015-4-5 09:18

posted by wap, platform: OPPO FIND 7 标准版
看笑话模式开启
作者: 爱游戏    时间: 2015-4-5 09:18

posted by wap, platform: OPPO FIND 7 标准版
看笑话模式开启
作者: 冰醋酸    时间: 2015-4-5 10:07

posted by wap, platform: One Plus One
虚拟内存要改名虚拟CPU了?
作者: gh1230    时间: 2015-4-5 11:06

posted by wap, platform: iPhone
尼玛 竟然有人和搞基搞到脑袋坏掉的人认真理论
作者: DarthVadar    时间: 2015-4-6 10:34

posted by wap, platform: iPhone
虚拟cpu大婶




欢迎光临 TGFC Lifestyle (http://tgfcer.com/) Powered by Discuz! 6.0.0