Title :
Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems
Author :
Verma, Manish ; Wehmeyer, Lars ; Marwedel, Peter
Author_Institution :
Dept. of Comput. Sci., Dortmund Univ.
Abstract :
In the context of mobile embedded devices, reducing energy is one of the prime objectives. Memories are responsible for a significant percentage of a system´s aggregate energy consumption. Consequently, novel memories as well as novel-memory architectures are being designed to reduce the energy consumption. Caches and scratchpads are two contrasting memory architectures. The former relies on hardware logic while the latter relies on software for its utilization. To meet different requirements, most contemporary high-end embedded microprocessors include on-chip instruction and data caches along with a scratchpad. Previous approaches for utilizing scratchpad did not consider caches and hence fail for the contemporary high-end systems. Instructions are allocated onto the scratchpad, while taking into account the behavior of the instruction cache present in the system. The problem of scratchpad allocation is solved using a heuristic and also optimally using an integer linear programming formulation. An average reduction of 7% and 23% in processor cycles and instruction-memory energy, respectively, is reported when compared against a previously published technique. The average deviation between optimal and nonoptimal solutions was found to be less than 6% both in terms of processor cycles and energy. The scratchpad in the presented architecture is similar to a preloaded loop cache. Comparing the energy consumption of the presented approach against that of a preloaded loop cache, an average reduction of 9% and 29% in processor cycles and instruction-memory energy, respectively, is reported
Keywords :
cache storage; embedded systems; integer programming; linear programming; memory architecture; cache-aware scratchpad-allocation algorithms; data cache; embedded microprocessors; energy-constrained embedded systems; hardware logic; instruction cache; instruction-memory energy; integer linear programming; memory architectures; on-chip instruction; preloaded loop cache; processor cycles; Aggregates; Batteries; Embedded system; Energy consumption; Handheld computers; Hardware; Logic; Memory architecture; Memory management; Random access memory; Memory hierarchy; SRAM chips; memory management; optimizing compilers;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2005.859523