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).
Thomas et al. (Thu,) studied this question.