Integrated software tools for the memory management of low-energy embedded signal processing systems

This paper presents an energy-aware CAD methodology for the system-level exploration of hierarchical storage organizations, focusing mainly on data-intensive signal processing applications. Starting from the high-level behavioral specification of a given application, several memory management tasks are addressed in a common algebraic framework, using data-dependence analysis techniques similar to those used in modern compilers. This software system can compute the minimum data storage required by a given application and can produce the graph of storage variation during the code execution; it can perform an energy-efficient assignment of the multidimensional signals from the specification to the memory layers, followed by a storage-efficient mapping of signals to the physical memory. The last phase of the methodology is a novel approach for power-efficient banking of the on-chip memory.

[1]  A. Barvinok,et al.  An Algorithmic Theory of Lattice Points in Polyhedra , 1999 .

[2]  Erik Brockmeyer,et al.  Hierarchical memory size estimation for loop fusion and loop shifting in data-dominated applications , 2006, Asia and South Pacific Conference on Design Automation, 2006..

[3]  Dhiraj K. Pradhan,et al.  LPRAM: a novel low-power high-performance RAM design with testability and scalability , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Tadahiro Kuroda,et al.  A 60MHz 240mW MPEG-4 video-phone LSI with 16Mb embedded DRAM , 2000 .

[5]  Florin Balasa,et al.  Signal Assignment Model for the Memory Management of Multidimensional Signal Processing Applications , 2011, J. Signal Process. Syst..

[6]  M. Moonen,et al.  AN SVD UPDATING ALGORITHM FOR SUBSPACE TRACKING , 1992 .

[7]  Luca Benini,et al.  Memory design techniques for low energy embedded systems , 2002 .

[8]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[9]  Florin Balasa,et al.  Computation of Storage Requirements for Multi-Dimensional Signal Processing Applications , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Joos Vandewalle,et al.  A Singular Value Decomposition Updating Algorithm for Subspace Tracking , 1992, SIAM J. Matrix Anal. Appl..

[11]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[12]  Erik Brockmeyer,et al.  Data and memory optimization techniques for embedded systems , 2001, TODE.

[13]  Uming Ko,et al.  Energy optimization of multilevel cache architectures for RISC and CISC processors , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[14]  Manish Verma,et al.  Advanced memory optimization techniques for low-power embedded processors , 2005, Ausgezeichnete Informatikdissertationen.

[15]  K. Ohmori,et al.  A 60 MHz 240 mW MPEG-4 video-phone LSI with 16 Mb embedded DRAM , 2000, 2000 IEEE International Solid-State Circuits Conference. Digest of Technical Papers (Cat. No.00CH37056).

[16]  Mahmut T. Kandemir,et al.  Energy savings through compression in embedded Java environments , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[17]  Enrico Macii,et al.  Architectural Leakage-Aware Management of Partitioned Scratchpad Memories , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[18]  Erik Brockmeyer,et al.  Layer assignment techniques for low energy in multi-layered memory organisations , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[19]  Norman P. Jouppi,et al.  CACTI: an enhanced cache access and cycle time model , 1996, IEEE J. Solid State Circuits.