您尚未登录。

楼主 #1 2020-04-03 18:10:14

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

rk3308功耗问题

mcuzone发布了rk3308的功耗测试。我自己实测了一下,结果基本一致。单核功耗大致是56mA*5v=280mW

ARM发布cortex A35的时候宣称28nm工艺下1GHz功耗是90mW。莫非这300MHz的频率,要多出190mW的功率?在linux下如何把rk3308的频率设置在1GHz恒定?有办法调整cpu核心电压么?

另外, 有rk3308板的网友,可否也帮忙测试下?

离线

#2 2020-04-03 19:34:43

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

Re: rk3308功耗问题

mfkiwl 说:

mcuzone发布了rk3308的功耗测试。我自己实测了一下,结果基本一致。单核功耗大致是56mA*5v=280mW

ARM发布cortex A35的时候宣称28nm工艺下1GHz功耗是90mW。莫非这300MHz的频率,要多出190mW的功率?在linux下如何把rk3308的频率设置在1GHz恒定?有办法调整cpu核心电压么?

另外, 有rk3308板的网友,可否也帮忙测试下?

你测的是核心板的功耗,3308本身应该没这么大功耗。不得不说rk3308的能耗比还是挺厉害的

离线

#3 2020-04-03 20:05:51

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: rk3308功耗问题

ARM说的功耗应该不包括外设吧。而成品SOC肯定包含很多外设

离线

楼主 #4 2020-04-03 20:46:44

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

kekemuyu 说:

你测的是核心板的功耗,3308本身应该没这么大功耗。不得不说rk3308的能耗比还是挺厉害的

增量测试(4核心运行,3核心,2核心,1核心),这样核心板的静态功耗就被去除了;另外测试本身是针对cpu的,ram与flash读写并没有相应的增加。所以测试应该是有效反应cpu核心功耗的

离线

楼主 #5 2020-04-03 20:48:07

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

达克罗德 说:

ARM说的功耗应该不包括外设吧。而成品SOC肯定包含很多外设

增量测试可以有效减少外设带来的静态功耗;
测试本身不使用外设,而且几乎不会带来额外的ram与flash读写。测试详情见mcuzone的测试说明

离线

#6 2020-04-03 20:58:39

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

Re: rk3308功耗问题

ARM发布cortex A35的时候宣称28nm工艺下1GHz功耗是90mW。 arm公司发布的是理论功耗,各个厂商实际做出来的功耗并不一定能达到这个水平。

离线

楼主 #7 2020-04-03 21:03:22

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

kekemuyu 说:

ARM发布cortex A35的时候宣称28nm工艺下1GHz功耗是90mW。 arm公司发布的是理论功耗,各个厂商实际做出来的功耗并不一定能达到这个水平。

这个应该不是理论功耗吧,至少应该是tape out然后测试过。
主要是差的有点大,要是百分之几十倒还觉得可能是测试条件或设计方面引起的差异

离线

#8 2020-04-03 21:08:17

metro
会员
注册时间: 2019-03-09
已发帖子: 445
积分: 489

Re: rk3308功耗问题

猜一下可能的原因。
首先还是有可能会出现与每个核相关的功耗,比如LDO(用于控制单核电压)之类的,这个还是要看架构。
其次,90mW可能是最低配置下的结果。像Cortex-A系列的应用处理器,至少cache容量是可调的,这也会显著影响功耗。
最后,频率和功耗肯定是有关的。我们知道在活动时动态功耗通常是占主要地位,而对于单个寄存器来说P=αCV^2f,其中C是电容,V是电压,f是时钟频率,α是翻转概率。虽然P和f是线性关系,但是在频率提升时通常也要适当提升电压,因此功耗上升的速度要快于频率的上升速度。
其实可以看一下桌面级CPU的功耗曲线,每提升一定频率消耗的功耗会越来越多,这个是必然的。
顺便贴一下可能的信息来源:New ARM Cortex-A35 Processor Extends the ARMv8-A Architecture Deeper Into Mobile and Embedded Markets

最近编辑记录 metro (2020-04-03 21:14:06)

离线

#9 2020-04-03 21:24:29

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

Re: rk3308功耗问题

mfkiwl 说:

这个应该不是理论功耗吧,至少应该是tape out然后测试过。
主要是差的有点大,要是百分之几十倒还觉得可能是测试条件或设计方面引起的差异

arm的这个是纯cpu的功耗,rk3308除了cpu本身还有各种外设,这些外设即使不使用也会有损耗的。所以你的功耗参考标准不应该是arm,而应该是rk3308的手册或是datasheet中描述的功耗为标准。

最近编辑记录 kekemuyu (2020-04-03 21:24:55)

离线

楼主 #10 2020-04-03 21:29:48

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

kekemuyu 说:

arm的这个是纯cpu的功耗,rk3308除了cpu本身还有各种外设,这些外设即使不使用也会有损耗的。所以你的功耗参考标准不应该是arm,而应该是rk3308的手册或是datasheet中描述的功耗为标准。

你指的外设是什么?
前面的帖子我提了下,主要有两点,一是增量测试,即测量静态功耗(cpu空闲),单核满载,双核满载,3核满载,4核满载,作差来计算单核功耗;二是测试的命令中,几乎不包含ram和flash的读写

这样外设的影响可以认为很小

离线

楼主 #11 2020-04-03 21:30:48

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

metro 说:

猜一下可能的原因。
首先还是有可能会出现与每个核相关的功耗,比如LDO(用于控制单核电压)之类的,这个还是要看架构。
其次,90mW可能是最低配置下的结果。像Cortex-A系列的应用处理器,至少cache容量是可调的,这也会显著影响功耗。
最后,频率和功耗肯定是有关的。我们知道在活动时动态功耗通常是占主要地位,而对于单个寄存器来说P=αCV^2f,其中C是电容,V是电压,f是时钟频率,α是翻转概率。虽然P和f是线性关系,但是在频率提升时通常也要适当提升电压,因此功耗上升的速度要快于频率的上升速度。
其实可以看一下桌面级CPU的功耗曲线,每提升一定频率消耗的功耗会越来越多,这个是必然的。
顺便贴一下可能的信息来源:New ARM Cortex-A35 Processor Extends the ARMv8-A Architecture Deeper Into Mobile and Embedded Markets

这个有所了解。
有办法手动设置电压和设定频率么

离线

楼主 #12 2020-04-03 21:47:51

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

kekemuyu 说:

你能确定增量一定是线性的吗?

真的还挺线性的,每增减一个核,电流的变化几乎都是相同的

离线

#13 2020-04-03 21:59:32

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

Re: rk3308功耗问题

那可能功耗就是那么大,如果功耗不满足要求,只能换更低功耗的cpu了。据我了解能运行linux的低功耗cpu,运行功耗都挺大的(大概都在40~50ma即使频率降到最低),睡眠功耗倒是有很低的,比如君正的x1000,m200s,atmel和飞思卡尔也有睡眠能在ua级别的。

最近编辑记录 kekemuyu (2020-04-03 22:00:06)

离线

#14 2020-04-03 22:00:38

metro
会员
注册时间: 2019-03-09
已发帖子: 445
积分: 489

Re: rk3308功耗问题

mfkiwl 说:

这个有所了解。
有办法手动设置电压和设定频率么

翻了一下RK3308的TRM(在Firefly上有),似乎有一部分是可以设置的。不过我没用过RK3308,不清楚具体怎么做。
另外补充一点,可能也和运行的任务有关,毕竟不同任务下CPU各个组件的运行状态有所差异,功耗也不一样。ARM官方的说法是a range of 32-bit mobile workloads,而这个测试帖用的是dd if=/dev/zero of=/dev/null,应该还是不一样的。

离线

楼主 #15 2020-04-04 01:46:52

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

metro 说:

翻了一下RK3308的TRM(在Firefly上有),似乎有一部分是可以设置的。不过我没用过RK3308,不清楚具体怎么做。
另外补充一点,可能也和运行的任务有关,毕竟不同任务下CPU各个组件的运行状态有所差异,功耗也不一样。ARM官方的说法是a range of 32-bit mobile workloads,而这个测试帖用的是dd if=/dev/zero of=/dev/null,应该还是不一样的。

非常感谢!你指出的测试方法可能很重要,毕竟这决定了cpu是否满载,以及内部器件的开关频率。ARM的测试方法中并没有指出是cpu满载功耗。

DVFS可能要在固件编译时设置,晚点研究下。


非常感谢你的热心指点

离线

楼主 #16 2020-04-04 01:48:36

mfkiwl
会员
注册时间: 2019-02-27
已发帖子: 53
积分: 15

Re: rk3308功耗问题

kekemuyu 说:

那可能功耗就是那么大,如果功耗不满足要求,只能换更低功耗的cpu了。据我了解能运行linux的低功耗cpu,运行功耗都挺大的(大概都在40~50ma即使频率降到最低),睡眠功耗倒是有很低的,比如君正的x1000,m200s,atmel和飞思卡尔也有睡眠能在ua级别的。

也可能是标的指标太好,让人期望太高了。毕竟ARM在宣传的时候号称是低功耗

非常感谢你的热心指点

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn