Memory access scheduling and binding considering energy minimization in multi-bank memory systems

Memory-related activity is one of the major sources of energy consumption in embedded systems. Many types of memories used in embedded systems allow multiple operating modes (e.g., active, standby, nap, power-down) to facilitate energy saving. Furthermore, it has been known that the potential energy saving increases when the embedded systems use multiple memory banks in which their dperating modes are controlled independently. In this paper, we propose (a compiler-directed) integrated approach to the problem of maximally utilizing the operating modes of multiple memory banks by solving the three important tasks simultaneously: (I) assignment of variables to memory banks, (2) scheduling of memory aicess operations, and (3) defemination of operating modes o/banks. Specifically, for an instance of tasks 1 and 2, we formulate task 3 as a shortest path(SP) problem in a network and solved it optimally. We then develop an SP-based heuristic that solves tasks 2 and 3 efficiently in an integrated fashion. We then extend the proposed approach to address the limited register constraint in processor. Fmm experiments with a set of benchmark programs, we confirm that the proposed approach is able to reduce the energy consumption by 15.76% over that by the conventional greedy approach.

[1]  Nikil D. Dutt,et al.  1995 high level synthesis design repository , 1995 .

[2]  William H. Press,et al.  Book-Review - Numerical Recipes in Pascal - the Art of Scientific Computing , 1989 .

[3]  Yunheung Paek,et al.  Efficient register and memory assignment for non-orthogonal architectures via graph coloring and MST algorithms , 2002, LCTES/SCOPES '02.

[4]  Luca Benini,et al.  Layout-driven memory synthesis for embedded systems-on-chip , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[5]  Luca Benini,et al.  A recursive algorithm for low-power memory partitioning , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[6]  Luca Benini,et al.  Low-power task scheduling for multiple devices , 2000, CODES '00.

[7]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[8]  Sharad Malik,et al.  Simultaneous reference allocation in code generation for dual data memory bank ASIPs , 2000, TODE.

[9]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[10]  M. Kandemir,et al.  Automatic data migration for reducing energy consumption in multi-bank memory systems , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[11]  William H. Press,et al.  The Art of Scientific Computing Second Edition , 1998 .

[12]  Mahmut T. Kandemir,et al.  Scheduler-based DRAM energy management , 2002, DAC '02.

[13]  Mahmut T. Kandemir,et al.  Hardware and Software Techniques for Controlling DRAM Power Modes , 2001, IEEE Trans. Computers.

[14]  Mahmut T. Kandemir,et al.  Automatic data migration for reducing energy consumption in multi-bank memory systems , 2002, DAC '02.