Power Efficient Software Coding

后端 未结 17 705
北海茫月
北海茫月 2020-12-23 16:19

In a typical handheld/portable embedded system device Battery life is a major concern in design of H/W, S/W and the features the device can support. From the Software progra

17条回答
  •  误落风尘
    2020-12-23 17:12

    Choose efficient algorithms that are quick and have small basic blocks and minimal memory accesses.

    Understand the cache size and functional units of your processor.

    Don't access memory. Don't use objects or garbage collection or any other high level constructs if they expands your working code or data set outside the available cache. If you know the cache size and associativity, lay out the entire working data set you will need in low power mode and fit it all into the dcache (forget some of the "proper" coding practices that scatter the data around in separate objects or data structures if that causes cache trashing). Same with all the subroutines. Put your working code set all in one module if necessary to stripe it all in the icache. If the processor has multiple levels of cache, try to fit in the lowest level of instruction or data cache possible. Don't use floating point unit or any other instructions that may power up any other optional functional units unless you can make a good case that use of these instructions significantly shortens the time that the CPU is out of sleep mode.

    etc.

提交回复
热议问题