Skip to main content
Log in

Computation in the Context of Transport Triggered Architectures

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Processors used in embedded systems have specific requirements which are not always met by off-the-shelf processors. A templated processor architecture, which can easily be tuned towards a certain application (domain) offers a solution. The transport triggered architecture (TTA) template presented in this paper has a number of properties that make it very suitable for embedded system design. Key to its success is to give the compiler more control; it has to schedule all data transports within the processor. This paper highlights two important TTA-related issues. First a new code generation method for TTAs is discussed; it integrates scheduling and register allocation, thereby avoiding the notorious phase ordering problem between these two steps. Secondly, we discuss how to tune the instruction repertoire for an embedded processor. A tool is described which automatically detects frequent patterns of operations. These patterns can then be implemented on special function units.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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. Henk Corporaal, Microprocessor Architectures; From VLIW to TTA, John Wiley (1998).

  2. Jan Hoogerbrugge. Code generation for Transport Triggered Architectures. PhD thesis, Delft Univ. of Technology, February 1996. ISBN 90-9009002-9.

  3. Henk Corporaal, TTAs: Missing the ILP complexity wall, J. Syst. Architecture, 45(12-13): 949-973 (June 1999).

    Google Scholar 

  4. Andreas Koch, SPARXIL: Ein konfigurierbarer FPGA-Coprocessor, GI-ITG-workshops on Architecturen für hochintegrierte Schaltungen, Schloss Dagstuhl, pp. 65–66 (July 1994).

  5. R. Brayton and R. Spence, Sensitivity and Optimization, Elsevier (1980).

  6. D. Bernstein and M. Rodeh, Global instruction scheduling for superscalar machines, Proc. ACM SIGPLAN Conf. Progr. Lang. Design and Implementation, pp. 241–255 (June 1991).

  7. P. Briggs, K. D. Cooper, K. Kennedy, and L. Torczon, Coloring heuristics for register allocation, SIGPLAN Notices, 24(7):275–284 (July 1989).

    Google Scholar 

  8. John R. Ellis, Bulldog: A compiler for VLIW architectures, ACM Doctoral Dissertation Awards, MIT Press, Cambridge, Massachusetts (1986).

    Google Scholar 

  9. C. Norris and L. L. Pollock, An experimental study of several cooperative register allocation and instruction scheduling strategies, Proc. 28th Ann. Int'l. Symp. Microarchitecture, Ann Arbor, Michigan, pp. 169–179 (November 1995).

  10. Shlomit S. Pinter, Register allocation with instruction scheduling: A new approach, SIGPLAN Conf. Progr. Lang. Design and Implementation, pp. 248–257 (June 1993).

  11. B. Ramakrishna Rau, Iterative modulo scheduling: An algorithm for software pipelining loops, Proc. 27th Ann. Int'l. Workshop on Microprogramming, San Jose, California (November 1994).

  12. M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman and Company, New York (1979).

    Google Scholar 

  13. Joseph A. Fisher, Trace scheduling: A technique for global microcode compaction, IEEE Trans. Computers, C-30(7):478–490 (July 1981).

    Google Scholar 

  14. N. P. Jouppi and D. W. Wall, Available instruction-level parallelism for superscalar and superpipelined machines, Proc. Third Int'l. Conf. Architectural Support for Progr. Lang. Operat. Syst., pp. 272–282 (April 1989).

  15. Scott A. Mahlke and Balas Natarajan, Compiler synthesized dynamic branch prediction, Proc. 29th Ann. Int'l. Symp. Microarchitecture, pp. 153–164 (December 1996).

  16. G. J. Chaitin, Register allocation and spilling via graph coloring, Proc. ACM SIGPLAN Symp. Compiler Construction, Boston, ACM, New York, pp. 98–105 (June 1982).

    Google Scholar 

  17. R. M. Karp, Reducibility among combinatorial problems. In R. E. Miller and J. W. Thatcher (eds.), Complexity of Computer Computations, Plenum Press, pp. 85–103 (1972).

  18. W. Ambrosch, M. A. Ertl, F. Beer, and A. Krall, Dependence-conscious global register allocation. In Jürg Gutknecht (ed.), Progr. Lang. Syst. Architectures, Zürich, Springer LNCS 782, pp. 125–136 (1994).

    Google Scholar 

  19. C. Norris and L. L. Pollock, Register allocation over the program dependence graph, ACM SIGPLAN Conf. Progr. Lang. Design and Implementation (June 1994).

  20. J. R. Goodman and Wei-Chung Hsu, Code scheduling and register allocation in large basic blocks, Proc. Int'l. Conf. Supercomputing, St. Malo, France, pp. 442–452 (July 1988).

  21. Philip Sweany and Steven Beaty, Post-compaction register assignment in a retargetable compiler, Proc. 23rd Ann. Workshop on Microprogramming and Microarchitectures, Orlando, Florida, pp. 107–116 (November 1990).

  22. J. A. A. J. Janssen, Registers on demand, an integrated region scheduler and register allocator, Technical Report 1-68340-44(2000)-03, Delft University of Technology, Delft, The Netherlands (January 2000).

    Google Scholar 

  23. J. A. A. J. Janssen and H. Corporaal, Registers on demand, an integrated region scheduler and register allocator, Poster Proc. Seventh Int'l. Conf. Compiler Construction, Lisbon, Portugal, pp. 44–51 (April 1998).

  24. P.-Y. Chang, E. Hao, and Y. N. Patt, Alternative implementations of hybrid branch predictors, Proc. 28th Ann. Int'l. Symp. Microarchitecture, Michigan, pp. 252–257 (November 1995).

  25. J. Hoogerbrugge and L. Augesteijn, Instruction scheduling for TriMedia, Journal of Instruction-Level Parallelism (February 1999).

  26. Marnix Arnold and Henk Corporaal, Matching and covering with multiple-output patterns, Technical Report 1-68340-44(1999)-01, Delft University of Technology (1999).

  27. A. Aho and M. Corassick, Efficient string matching: An aid to bibliographic research, Commun. ACM, 18(6):333–340 (June 1975).

    Google Scholar 

  28. K. Keutzer, Dagon: Technology binding and local optimization by DAG matching, DAC, Proc. Design Automation Conf., pp. 617–623 (May 1987).

  29. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles, Techniques and Tools, Addison-Wesley Series in Computer Science, Addison-Wesley Publishing Company, Reading, Massachusetts (1985).

    Google Scholar 

  30. Yuji Kukimoto, Robert K. Brayton, and Prashant Sawkar, Delay-optimal technology mapping by DAG covering, Proc. Design Automation Conf. (1998).

  31. Clifford Liem, Trevor May, and Pierre Paulin, Instruction-set matching and selection for dsp and asip code generation, Proc. EDAC-ETC-EUROASIC, pp. 31–37 (1994).

  32. Frederick Onion, Alexandru Nicolau, and Nikil Dutt, Compiler Feedback in ASIP Design, Technical Report, University of California, Irvine (September 1994). Printed in Belgium

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Corporaal, H., Janssen, J. & Arnold, M. Computation in the Context of Transport Triggered Architectures. International Journal of Parallel Programming 28, 401–427 (2000). https://doi.org/10.1023/A:1007511206083

Download citation

  • Issue Date:

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