Skip to main content
Log in

Übersetzung von Datenflußgraphen in optimierte Assemblerprogramme für Signalprozessoren

Transformation of data flow graphs into optimized assembly programs for signal processors

  • Begutachtete Originalarbeiten
  • Published:
e&i Elektrotechnik und Informationstechnik Aims and scope Submit manuscript

Zusammenfassung

Die Synthese effizienter Programme für digitale Signalprozessoren mit heterogener Registerarchitektur stellt nach wie vor cine Herausforderung für den Compilerbau dar. In diesem Beitrag wird das Konzept eines Datenflußgraph-Compilers für digitale Signalprozessoren vorgestellt. Die Transformation von Datenflußgraphen in Trellis-Bäume — über den Zwischenschritt der eingeschränkten Bäume — erlaubt die Erzeugung von sequentiellem Zwischencode mittels eines Algorithmus, dessen Komplexität nur linear von der Größe des Datenflußgraphen abhängt. In einem anschließenden Schritt werden die Register zugewiesen unter Berücksichtigung der Einschränkungen durch Mehrfachbefehle. Die Ausführungszeit des resultierenden Assemblerprogramms wird durch Parallelisierung auf Befehlsebene und Optimierung des Speicher-Layouts minimiert.

Abstract

The synthesis of efficient programs for digital signal processors with non-homogeneous register sets is still a challenge of compiler design. In this paper, we introduce the concept of a data flow graph compiler for digital signal processors. In a first step, the data flow graph is decomposed into constrained expression trees and represented by trellis trees, which allows to apply a straight-line code generation algorithm whose complexity depends just linearly on the size of the graph. Registers are assigned by taking into account the constraints of multi-function instructions. The execution time of the resulting assembly code is minimized by exploiting instruction level parallelism and memory layout optimizations.

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.

Schrifttum

  1. Araujo, G., Devadas, S., Keutzer, K., Liao, S., Malik, S., Sudarsanam, A., Tjiang, S., Wang, A.: Challenges in code generation for embedded processors. In: Marwedel, P., Goossens, G. (eds.): Code generation for embedded processors, chapter 3, pp. 48–64, Amsterdam: Kluwer. 1995.

    Google Scholar 

  2. Zivojnovic, V., Velarde, J. M., Schläger, C., Meyr, H.: DSPstone: a DSP-oriented benchmarking methodology. In: Proc. 5th int. conf. on signal processing applications & technology, vol. 1, pp. 715–720. Dallas, October 1994.

  3. Goossens, G., Praet, J. V., Lanneer, D., Geurts, W., Kifli, A., Liem, C., Paulin, P. C.: Embedded software in real-time signal processing systems: design technologies. Proc. IEEE 85 (March 1997), pp. 436–454.

    Article  Google Scholar 

  4. Lee, E. A., Messerschmitt, D. G.: Static scheduling of synchronous data flow programs for digital signal processing, IEEE trans. on computers C-36 (January 1987), pp. 24–35.

    Article  MATH  Google Scholar 

  5. Wess, B.: Automatic instruction code generation based on trellis diagrams. In: Proc. IEEE int. symp. on circuits and systems, vol. 2, pp. 645–648, San Diego, May 1992.

  6. Wess, B.: Code generation based on trellis diagrams. In: Marwedel, P., Goossens, G. (eds.): Code generation for embedded processors, chapter 11, pp. 188–202. Amsterdam: Kluwer, 1995.

    Google Scholar 

  7. Bruno, J., Sethi, R.: Code generation for a one-register machine. Journal of the ACM 23 (July 1976), pp. 502–510.

    Article  MATH  MathSciNet  Google Scholar 

  8. Wess, B.: Optimizing signal flow graph compilers for digital signal processors. In: Proc. 5th int. conf. on signal processing applications & technology, vol. 1, pp. 665–670. Dallas, October 1994.

  9. Wess, B., Kreuzer, W.: Optimized DSP assembly code generation starting from homogeneous atomic data flow graphs. In: Proc. 38th Midwest symp. on circuits and systems, vol. 2, pp. 1268–1271, Rio de Janeiro, August 1995.

  10. Gotschlich, M., Wess, B.: Automatic generation of constrained expression trees for global optimized DSP assembly code. In: Proc. 7th int. conf. on signal processing applications & technology, vol. 1, pp. 732–736, Boston, October 1996.

  11. Sethi, R.: Complete register allocation problems. SIAM J. Computing 4 (September 1975), pp. 226–248.

    Article  MATH  MathSciNet  Google Scholar 

  12. Chaitin, G. J., Auslander, M. A., Chandra, A. K., Cocke, J., Hopkins, M. E., Markstein, P. W.: Register allocation via coloring. Computer languages 6 (1981), pp. 47–57.

    Article  Google Scholar 

  13. Landskov, D., Davidson, S., Shriver, B., Mallett, P. W.: Local microcode compaction techniques. ACM Computing surveys 12 (September 1980), pp. 261–294.

    Article  Google Scholar 

  14. Wess, B., Gotschlich, M.: Optimal DSP memory layout generation as a quadratic assignment problem. In: Proc. IEEE int. symp. on circuits and systems, vol. 3, pp. 1712–1715, Hong Kong, June 1997.

  15. Helm, A., Wess, B.: A synchronous data flow graph compiler for telecommunication devices. In: Proc. 7th int. conf. on signal processing applications & technology, vol. 1, pp. 737–741, Boston, October 1996.

  16. Helm, A., Wess, B.: Decomposition of signal flow graphs for DSP compilers using trellis trees in restricted environments. In: Proc. 5th int. conf. on signal processing applications & technology, vol. 1, pp. 677–682. Dallas, October 1994.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Herrn Professor Dr.-Ing. Dr. h.c. mult. Hans Wilhelm Schüßler zum 70. Geburtstag gewidmet.

Diese Arbeit wurde im Rahmen des FWF-Projekts P1070--ÖTE und in Zusammenarbeit mit Siemens EZM Ges.m.b.H. Villach ausgeführt.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kreuzer, W., Fröhlich, S., Gotschlich, M. et al. Übersetzung von Datenflußgraphen in optimierte Assemblerprogramme für Signalprozessoren. Elektrotech. Inftech. 115, 41–47 (1998). https://doi.org/10.1007/BF03159136

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03159136

Schlüsselwörter

Keywords

Navigation