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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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.
U. Banerjee, Dependence Analysis for Supercomputing, Springer Science+Business Media New York, 1988.
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.
P. Bird and U. Pleban, “A Semantics-Directed Partitioning of a Processor Architecture,” Proceedings of Supercomputing’ 91, November 1991.
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.
P. Y. T. Hsu, “Silicon Graphics TFP Micro-Supercomputer Chipset,” Proceedings of the Fifth Hot Chips Symposium, August 8–10, 1993.
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.
M. Lam, A Systolic Array Optimizing Compiler, Springer Science+Business Media New York, 1989.
A. I. Moshovos, “Implementing Non-Numerical Algorithms on a Decoupled Architecture supporting Software Pipelining,” MSc Thesis, CS Department, University of Crete, August 1992.
A. Nicolau, “Run-Time Disambiguation: Coping with Statically Unpredictable Dependencies,” IEEE Transactions on Computers, 38(5), pp 663–678, May 1989.
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.
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.
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.
A. Rawsthorne, N. Topham and P. Bird, “The Effectiveness of Decoupling,” Proceedings of the Seventh ACM International Conference on Supercomputing, Tokyo, Japan, July 1993.
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.
M. Wolfe, Optimizing Supercompilers for Supercomputers, The MIT Press, 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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