DOI: 10.1145/3822500 ISSN: 1539-9087

Time- and Energy-aware Allocation of Core-coupled Memory for Embedded Microcontrollers

Loïc Thomas, Binqi Sun, Tomasz Kloda, Silviano Dal Zilio, Marco Caccamo

Today’s embedded microcontrollers (MCUs) are designed to achieve both timing predictability and low energy consumption. This is usually done by using features that trade energy savings for faster execution ( e.g.,  DVFS or prefetcher) and the ones that can improve both time and energy performance but are limited in size ( e.g.,  core-coupled memories and caches). In this paper, we evaluate the impact of core-coupled memories in this regard on the example of two low-powered embedded MCUs, each with a different level of hardware support. Our study reveals the importance of core-coupled memory allocation for both timing and energy performances. The performance gains are particularly significant on simple devices where DVFS and caches are not available. We formulate a memory allocation problem using integer linear programming to minimize power consumption under timing and memory constraints. We also propose a heuristic with quadratic time complexity in the number of tasks to solve the allocation problem. The evaluation based on real-world benchmarks and a case study demonstrates an energy consumption reduction of 10-20% when compared to the default MCU configuration ( i.e., maximal CPU frequency and program’s code in Flash).

More from our Archive