Skip to main content

Data Dependencies in Decoupled, Pipelined Loops

  • Chapter

Abstract

Decoupling and Loop Pipelining are complementary structures which contribute different capabilities to high performance execution. The interaction of these structures increases the complexity of code generation for programs containing data dependencies. In this paper we demonstrate how a shifting register file and a loop based dispatch mechanism simplify the code generation task for loop pipelining with programs containing data dependencies.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aho, S. Johnson and J. Ullman, “Code Generation for Expressions with Common Subexpressions,” Journal of the ACM 24(1), pp 146–160, January 1977.

    Article  MathSciNet  MATH  Google Scholar 

  2. U. Banerjee, Dependence Analysis for Supercomputing, Springer Science+Business Media New York, 1988.

    Google Scholar 

  3. P. Bird, “Code Generation and Instruction Scheduling for pipelined SISD Machines,” Ph.D. Dissertation, Department of Computer Science and Electrical Engineering, University of Michigan, Ann Arbor, MI, June 1987.

    Google Scholar 

  4. P. Bird and U. Pleban, “A Semantics-Directed Partitioning of a Processor Architecture,” Proceedings of Supercomputing’ 91, November 1991.

    Google Scholar 

  5. P. Bird and R. Uhlig, “Using Lookahead to Reduce Memory Bank Contention for Decoupled Operand References,” Proceedings of Supercomputing’ 91, pp 187–196, November 1991.

    Google Scholar 

  6. P. Y. T. Hsu, “Silicon Graphics TFP Micro-Supercomputer Chipset,” Proceedings of the Fifth Hot Chips Symposium, August 8–10, 1993.

    Google Scholar 

  7. Geraldo Lino de Campos, “Asynchronous Polycyclic Architecture,” Proceedings of Parallel Processing: ConPar 92-VAPP 5 Sepember 1992, Springer-Verlag Lecture Notes in Computer Science # 634, pp 387–398.

    Article  Google Scholar 

  8. M. Lam, A Systolic Array Optimizing Compiler, Springer Science+Business Media New York, 1989.

    Google Scholar 

  9. A. I. Moshovos, “Implementing Non-Numerical Algorithms on a Decoupled Architecture supporting Software Pipelining,” MSc Thesis, CS Department, University of Crete, August 1992.

    Google Scholar 

  10. A. Nicolau, “Run-Time Disambiguation: Coping with Statically Unpredictable Dependencies,” IEEE Transactions on Computers, 38(5), pp 663–678, May 1989.

    Article  Google Scholar 

  11. B. Rau, C. Glaeser and R. Picard, “Efficient Code Generation for Horizontal Architectures: Compiler Techniques and Architectural Support,” Proceedings of the 9th Symposium on Computer Architecture, pp. 131–139, 1982.

    Google Scholar 

  12. B. Rau, D. Yen, W. Yen and R. Towle, “The Cydra 5 Departmental Supercomputer: design philosophies, decisions and tradeoffs,” IEEE Computer 22(1), pp. 12–35, January 1991.

    Article  Google Scholar 

  13. B. Rau, M. Lee, P. Tirumalai and M. Schlansker, “Register Allocation for Software Pipelined Loops,” Proceedings of the conference on Programming Language Design and Implementation, pp 283–299, 1992.

    Google Scholar 

  14. A. Rawsthorne, N. Topham and P. Bird, “The Effectiveness of Decoupling,” Proceedings of the Seventh ACM International Conference on Supercomputing, Tokyo, Japan, July 1993.

    Google Scholar 

  15. J. Smith, S. Weiss and N. Pang, “A Simulation Study of Decoupled Architectures,” IEEE Transactions on Computers C-35(8), pp 692–702, August 1986.

    Article  Google Scholar 

  16. M. Wolfe, Optimizing Supercompilers for Supercomputers, The MIT Press, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer Science+Business Media New York

About this chapter

Cite this chapter

Bird, P.L. (1994). Data Dependencies in Decoupled, Pipelined Loops. In: Lilja, D.J., Bird, P.L. (eds) The Interaction of Compilation Technology and Computer Architecture. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2684-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-2684-1_4

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-6154-1

  • Online ISBN: 978-1-4615-2684-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics