Code Restructuring for Improving Real Time Response through Code Speed, Size Trade-offs on Limited Memory Embedded DSPs
Embedded systems are constrained by limited on-chip memory and by real time performance requirements. The traditional approach to solve these problems has been to write the embedded code in assembly language, which can no longer be followed due to the increasing complexity of the embedded systems. Programming in high-level language simplifies the software development cycle, incurring a code size and a performance penalty. Traditional compiler optimizations have focussed on improving code speed rather than code density or code size. We present optimizations that improve code density and performance.
KeywordsDirected Acyclic Graph Data Path Code Size Path Cover Loop Unroll
Unable to display preview. Download preview PDF.
- 1.David J. Kolson, Alexandru Nicolau, Nikil Dutt, and Ken Kennedy. Optimal register assignment to loops for embedded code generation. In ACM Transactions on Design Automation of Electronic Systems, pages 251–279, April 1996.Google Scholar
- 2.D. Landskov, S. Davidson, B.D. Shriver, and P.W. Mallett. Local microcode compaction techniques. In ACM Computing Surveys, pages 261–294, September 1980.Google Scholar
- 3.Stan Liao, Srinivas Devadas, Kurt Keutzer, and Steve Tjiang. Instruction selection using binate covering for code size optimization. In International Conference on Computer-Aided Design, 1995.Google Scholar