Skip to main content

Systolic array synthesis by static analysis of program dependencies

  • Conference paper
  • First Online:
PARLE Parallel Architectures and Languages Europe (PARLE 1987)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 258))

Abstract

We present a technique for synthesizing systolic arrays which have non-uniform data flow governed by control signals. The starting point for the synthesis is a Recurrence Equation with Linear Depencencies (RELD) which is a generalization of the simple recurrences encountered in mathematics. A large class of programs, including all (single and multiple) nested-loop programs can be described by such recurrences. In this paper we extend some of our earlier work [17] in two principal directions. Firstly, we describe a transformation called multistage pipelining and show that it yields recurrences that have linear conditional expressions governing the computation. Secondly, we discuss how it is possible to automatically derive control signals that govern the data flow by applying the same pipelining transformations to these linear conditional expressions. The approach is illustrated by deriving the Guibas-Kung-Thompson architecture for optimum string parenthesization.

Supported by a University of Utah Graduate Research Fellowship

Supported by an IBM faculty development grant.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Cappello, P.R. and Steiglitz, K. Unifying vlsi designs with linear transformations of space-time. Advances in Computing Research, (1984), 23–65.

    Google Scholar 

  2. Chen, M.C. A parallel language and its compilation to multiprocessor machines or vlsi. In Principles of Programming Languages, ACM, 1986.

    Google Scholar 

  3. Delosme, J.M. and Ipsen, I.C.F. An illustration of a methodology for the construction of efficient systolic architectures in vlsi. In International Symposium on VLSI Technology, Systems and Applications, Taipei, Taiwan, 1985, pp. 268–273.

    Google Scholar 

  4. Fortes, J.A.B. and Moldovan, D. Data broadcasting in linearly scheduled array processors. In Proceedings, 11th Annual Symposium on Computer Architecture, 1984, pp. 224–231.

    Google Scholar 

  5. Guerra, C. and Melhem, R. Synthesizing non-uniform systolic designs. In Proceedings of the International Conference on Parallel Processing, IEEE, August 1986, pp. 765–771.

    Google Scholar 

  6. Guibas, L., Kung, H.T., and Thompson, C.D. Direct vlsi implementation of combinatorial algorithms. In Proc. Conference on Very Large Scale Integration: Architecture, Design and Fabrication, January 1979, pp. 509–525.

    Google Scholar 

  7. Kung, H.T. Let's design algorithms for vlsi. In Proc. Caltech Conference on VLSI, January 1979.

    Google Scholar 

  8. Kung, H.T. Why systolic architectures. Computer 15, 1 (January 1982), 37–46.

    Google Scholar 

  9. Lam, M.S. and Mostow, J.A. A transformational model of vlsi systolic design. IEEE Computer 18, (February 1985), 42–52.

    Google Scholar 

  10. Leiserson, C.E. and Saxe, J.B. Optimizing synchronous systems. Journal of VLSI and Computer Systems 1, (1983), 41–68.

    Google Scholar 

  11. Li, G.J. and Wah, B.W. Design of optimal systolic arrays. IEEE Transactions on Computers C-35, 1 (1985), 66–77.

    Google Scholar 

  12. Miranker, W.L. and Winkler, A. Space-time representation of computational structures. Computing 32, (1984), 93–114.

    Google Scholar 

  13. Moldovan, D.I. On the design of algorithms for vlsi systolic arrays. Proceedings of the IEEE 71, 1 (January 1983), 113–120.

    Google Scholar 

  14. Quinton, P. The Systematic Design of Systolic Arrays. Tech. Rep. 216, Institut National de Recherche en Informatique et en Automatique INRIA, July 1983.

    Google Scholar 

  15. Rajopadhye, S.V., Synthesis, Otimization and Verification of Systolic Architectures. PhD thesis, University of Utah, Salt Lake City, Utah 84112, December 1986.

    Google Scholar 

  16. Rajopadhye, S.V. and Fujimoto, R.M. Synthesizing Systolic Arrays with Control Signals from Recurrence equations. Tech. Rep. CIS-TR-86-12, University of Oregon, Computer and Information Science Department, December 1986.

    Google Scholar 

  17. Rajopadhye, S.V., Purushothaman, S., and Fujimoto, R.M. On synthesizing systolic arrays from recurrence equations with linear dependencies. In Proceedings, Sixth Conference on Foundations of Software Technology and Theoretical Computer Science, Springer Verlag, New Delhi, India, December 1986. to appear.

    Google Scholar 

  18. Ramakrishnan, I.V., Fussell, D.S., and Silberschatz, A. Mapping homogeneous graphs on linear arrays. IEEE Transactions on Computers C-35, (March 1985), 189–209.

    Google Scholar 

  19. Weiser, U.C. and Davis, A.L. A wavefront notational tool for vlsi array design. In VLSI Systems and Computations, Carnegie Mellon University, October 1981, pp. 226–234.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker A. J. Nijman P. C. Treleaven

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rajopadhye, S.V., Fujimoto, R.M. (1987). Systolic array synthesis by static analysis of program dependencies. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds) PARLE Parallel Architectures and Languages Europe. PARLE 1987. Lecture Notes in Computer Science, vol 258. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17943-7_135

Download citation

  • DOI: https://doi.org/10.1007/3-540-17943-7_135

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17943-6

  • Online ISBN: 978-3-540-47144-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics