• DocumentCode
    1933737
  • Title

    Optimizing the flash-RAM energy trade-off in deeply embedded systems

  • Author

    Pallister, James ; Eder, Kerstin ; Hollis, Simon J.

  • fYear
    2015
  • fDate
    7-11 Feb. 2015
  • Firstpage
    115
  • Lastpage
    124
  • Abstract
    Deeply embedded systems often have the tightest constraints on energy consumption, requiring that they consume tiny amounts of current and run on batteries for years. However, they typically execute code directly from flash, instead of the more energy efficient RAM. We implement a novel compiler optimization1 that exploits the relative efficiency of RAM by statically moving carefully selected basic blocks from flash to RAM. Our technique uses integer linear programming, with an energy cost model to select a good set of basic blocks to place into RAM, without impacting stack or data storage. We evaluate our optimization on a common ARM microcontroller and succeed in reducing the average power consumption by up to 41% and reducing energy consumption by up to 22%, while increasing execution time. A case study is presented, where an application executes code then sleeps for a period of time. For this example we show that our optimization could allow the application to run on battery for up to 32% longer. We also show that for this scenario the total application energy can be reduced, even if the optimization increases the execution time of the code.
  • Keywords
    embedded systems; flash memories; integer programming; linear programming; microcontrollers; optimising compilers; power aware computing; random-access storage; ARM microcontroller; average power consumption; compiler optimization; data storage; deeply embedded systems; energy consumption; energy consumption reduction; energy cost model; flash-RAM energy trade-off optimization; integer linear programming; stack storage; Aerospace electronics; Ash; Embedded systems; Energy consumption; Instruments; Optimization; Random access memory;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2015 IEEE/ACM International Symposium on
  • Conference_Location
    San Francisco, CA
  • Type

    conf

  • DOI
    10.1109/CGO.2015.7054192
  • Filename
    7054192