Data and memory optimization techniques for embedded systems
- 1 April 2001
- journal article
- review article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Design Automation of Electronic Systems
- Vol. 6 (2), 149-206
- https://doi.org/10.1145/375977.375978
Abstract
We present a survey of the state-of-the-art techniques used in performing data and memory-related optimizations in embedded systems. The optimizations are targeted directly or indirectly at the memory subsystem, and impact one or more out of three important cost metrics: area, performance, and power dissipation of the resulting implementation.We first examine architecture-independent optimizations in the form of code transoformations. We next cover a broad spectrum of optimization techniques that address memory architectures at varying levels of granularity, ranging from register files to on-chip memory, data caches, and dynamic memory (DRAM). We end with memory addressing related issues.Keywords
This publication has 70 references indexed in Scilit:
- Simultaneous reference allocation in code generation for dual data memory bank ASIPsACM Transactions on Design Automation of Electronic Systems, 2000
- Code placement techniques for cache miss rate reductionACM Transactions on Design Automation of Electronic Systems, 1997
- Memory data organization for improved cache performance in embedded processor applicationsACM Transactions on Design Automation of Electronic Systems, 1997
- A unified framework for optimizing communication in data-parallel programsIEEE Transactions on Parallel and Distributed Systems, 1996
- Compiling for massively parallel architectures: a perspectiveMicroprocessing and Microprogramming, 1995
- Communication-free data allocation techniques for parallelizing compilers on multicomputersIEEE Transactions on Parallel and Distributed Systems, 1994
- Automatic program parallelizationProceedings of the IEEE, 1993
- A loop transformation theory and an algorithm to maximize parallelismIEEE Transactions on Parallel and Distributed Systems, 1991
- Compiler optimizations for enhancing parallelism and their impact on architecture designInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1988
- Register allocation via coloringComputer Languages, 1981