Abstract
We address the problem of code optimization for embedded DSP microprocessors. Such processors (e.g., those in the TMS320 series) have highly irregular datapaths, and conventional code generation methods typically result in inefficient code. In this paper we formulate and solve some optimization problems that arise in code generation for processors with irregular datapaths. In addition to instruction scheduling and register allocation, we also formulate the accumulator spilling and mode selection problems that arise in DSP microprocessors. We present optimal and heuristic algorithms that determine an instruction schedule simultaneously optimizing accumulator spilling and mode selection. Experimental results are presented.
Similar content being viewed by others
References
A. Aho, R. Sethi, and J. Ullman. Compilers Principles, Techniques and Tools. Addison-Wesley, 1986.
W-K. Cheng and Y-L. Lin. Code Generation for a DSP Processor. In Proceedings of the Int'l Symposium on High-Level Synthesis, pages 82-87, May 1994.
T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.
John R. Ellis. A Compiler for VLIW Architectures. MIT Press, 1985.
J. A. Fisher. Trace Scheduling: A Technique for Global Microcode Compaction. IEEE Trnsactions on Computers, C-30(7):478-490, 1981.
J. G. Ganssle. The Art of Programming Embedded Systems. San Diego, CA: Academic Press, Inc., 1992.
Texas Instruments. TMS320C2x User's Guide. Texas Instruments, January 1993. Revision C.
S. Liao, S. Devadas, K. Keutzer, S. Tjiang, and A. Wang. Storage assignment to decrease code size. ACM Transactions on Programming Languages and Systems, 18(3):235-253, May 1996.
P. Marwedel and G. Goossens, editors. Code Generation for Embedded Processors. Kluwer Academic Publishers, 1995. Proceedings of the 1994 Dagstuhl Workshop on Code Generation for Embedded Processors.
S. S. Pinter. Register Allocation with Instruction Scheduling: a New Approach. In Proceedings of the ACM Programming Language Design and Implementation Conference, pages 248-257, June 1993.
V. Živojnović, J. Martínez Velarde, and C. Schläger. DSPstone: A DSP-oriented Benchmarking Methodology. Technical report, Aachen University of Technology, August 1994.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Liao, S., Devadas, S., Keutzer, K. et al. Code Optimization Techniques in Embedded DSP Microprocessors. Design Automation for Embedded Systems 3, 59–73 (1998). https://doi.org/10.1023/A:1008803430710
Issue Date:
DOI: https://doi.org/10.1023/A:1008803430710