页次: 1
翻了一下RK3308的TRM(在Firefly上有),似乎有一部分是可以设置的。不过我没用过RK3308,不清楚具体怎么做。
另外补充一点,可能也和运行的任务有关,毕竟不同任务下CPU各个组件的运行状态有所差异,功耗也不一样。ARM官方的说法是a range of 32-bit mobile workloads,而这个测试帖用的是dd if=/dev/zero of=/dev/null,应该还是不一样的。
非常感谢!你指出的测试方法可能很重要,毕竟这决定了cpu是否满载,以及内部器件的开关频率。ARM的测试方法中并没有指出是cpu满载功耗。
DVFS可能要在固件编译时设置,晚点研究下。
非常感谢你的热心指点
猜一下可能的原因。
首先还是有可能会出现与每个核相关的功耗,比如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
这个有所了解。
有办法手动设置电压和设定频率么
mcuzone发布了rk3308的功耗测试。我自己实测了一下,结果基本一致。单核功耗大致是56mA*5v=280mW
ARM发布cortex A35的时候宣称28nm工艺下1GHz功耗是90mW。莫非这300MHz的频率,要多出190mW的功率?在linux下如何把rk3308的频率设置在1GHz恒定?有办法调整cpu核心电压么?
另外, 有rk3308板的网友,可否也帮忙测试下?
页次: 1