Skip to main content
Log in

Code Optimization Techniques in Embedded DSP Microprocessors

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. Aho, R. Sethi, and J. Ullman. Compilers Principles, Techniques and Tools. Addison-Wesley, 1986.

  2. 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.

  3. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.

    Google Scholar 

  4. John R. Ellis. A Compiler for VLIW Architectures. MIT Press, 1985.

  5. J. A. Fisher. Trace Scheduling: A Technique for Global Microcode Compaction. IEEE Trnsactions on Computers, C-30(7):478-490, 1981.

    Google Scholar 

  6. J. G. Ganssle. The Art of Programming Embedded Systems. San Diego, CA: Academic Press, Inc., 1992.

    Google Scholar 

  7. Texas Instruments. TMS320C2x User's Guide. Texas Instruments, January 1993. Revision C.

  8. 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.

    Article  Google Scholar 

  9. 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.

  10. 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.

  11. V. Živojnović, J. Martínez Velarde, and C. Schläger. DSPstone: A DSP-oriented Benchmarking Methodology. Technical report, Aachen University of Technology, August 1994.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008803430710

Navigation