Timing and memory optimization for embedded systems

Qingfeng Zhuge,Edwin Sha
2003-01-01
Abstract:Embedded systems with strict timing requirement and limited memory resources present demanding challenges as well as new opportunities for optimization techniques. This dissertation endeavors to show that our optimization techniques considering timing, code size, and data mapping enhance the code quality and performance of the compiled code of DSP applications in magnitudes. Our approach based on fundamental studies of design parameters and optimization objectives such as retiming, software pipelining, unfolding, schedule length, and code size, etc. After we clearly understand their properties and the underlying relationships among them, solid theoretical foundations are established, and also, new algorithms are developed for new optimization techniques. Since most embedded processors employ separated on-chip program memory and data memory—one program memory and sometimes multiple data memory banks, our optimization techniques target optimization objectives for both program memory and multiple data memory banks. Because the performance of computation-intensive applications greatly depends on time-critical code sections, such as loops, we develop various optimization techniques work for either simple loops or nested loops. Our techniques out-perform many other approaches that only consider basic blocks. In particular, we solve the code size expansion problem for software-pipelined and unfolded loops by Code-size REDuction technique (CRED); we solve the problem of software pipelining for nested loops by Software PIpelining framework of NEsted loops (SPINE); we develop new technique to optimize data mapping for multiple memory module architectures; and we apply our optimization techniques to a new approach of design space exploration for obtaining superior design solutions. As a result, our research results directly benefit scheduling, code generation, design space exploration and architectural-level synthesis for applications in embedded systems.
What problem does this paper attempt to address?