Advertisement

Control-Flow Semantics for Assembly-Level Data-Flow Graphs

  • Wolfram Kahl
  • Christopher K. Anand
  • Jacques Carette
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3929)

Abstract

As part of a larger project, we have built a declarative assembly language that enables us to specify multiple code paths to compute particular quantities, giving the instruction scheduler more flexibility in balancing execution resources for superscalar execution.

Since the key design points for this language are to only describe data flow, have built-in facilities for redundancies, and still have code that looks like assembler, by virtue of consisting mainly of assembly instructions, we are basing the theoretical foundations on data-flow graph theory, and have to accommodate also relational aspects.

Using functorial semantics into a Kleene category of “hyper-paths”, we formally capture the data-flow-with-choice aspects of this language and its implementation, providing also the framework for the necessary correctness proofs.

Keywords

Output Node Target Node Operational Semantic Input Node Edge Label 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Allan, V.H., Jones, R.B., Lee, R.M., Allan, S.J.: Software pipelining. ACM Comput. Surv. 27(3), 367–432 (1995)CrossRefGoogle Scholar
  2. 2.
    Anand, C.K., Carette, J., Kahl, W., Gibbard, C., Lortie, R.: Declarative Assembler. SQRL Report 20, Software Quality Research Laboratory, McMaster University (2004), available from: http://sqrl.mcmaster.ca/sqrl_reports.html
  3. 3.
    Coccia, M., Gadducci, F., Corradini, A.: GS-Λ Theories: A Syntax for Higher-Order Graphs. Program Construction 69(18) (1979)Google Scholar
  4. 4.
    Corradini, A., Gadducci, F.: An Algebraic Presentation of Term Graphs, via GS-Monoidal Categories. Applied Categorical Structures 7(4), 299–331 (1999)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Corradini, A., Gadducci, F.: Functorial Semantics for Multi-Algebras and Partial Algebras, with Applications to Syntax. Theoretical Computer Science 286(2), 293–322 (2002)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Granlund, T., Kenner, R.: Eliminating Branches Using a Superoptimizer and the GNU C Compiler. In: Programming Language Design and Implementation, PLDI 1992, pp. 341–352. ACM, New York (1992)CrossRefGoogle Scholar
  7. 7.
    Hoffmann, B., Plump, D.: Jungle Evaluation for Efficient Term Rewriting. In: Grabowski, J., Lescanne, P., Wechler, W. (eds.) Algebraic and Logic Programming, ALP 1988, Mathematical Research, vol. 49, pp. 191–203. Akademie-Verlag (1989)Google Scholar
  8. 8.
    Kahl, W.: Refactoring Heterogeneous Relation Algebras around Ordered Categories and Converse. J. Relational Methods in Comp. Sci. 1, 277–313 (2004)Google Scholar
  9. 9.
    Kozen, D.: Typed Kleene Algebra. Technical Report 98-1669, Computer Science Department, Cornell University (1998)Google Scholar
  10. 10.
    Massalin, H.: Superoptimizer: A Look at the Smallest Program. In: ASPLOS-II: Proceedings of the Second International Conference on Architectual Support for Programming Languages and Operating Systems, pp. 122–126. IEEE Computer Society Press, Los Alamitos (1987)Google Scholar
  11. 11.
    Plump, D.: Term Graph Rewriting. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2, pp. 3–61. World Scientific, Singapore (1999)CrossRefGoogle Scholar
  12. 12.
    Sleep, M., Plasmeijer, M., van Eekelen, M. (eds.): Term Graph Rewriting: Theory and Practice. Wiley, Chichester (1993)MATHGoogle Scholar
  13. 13.
    Ştefănescu, G.: Algebra of Flownomials — Part 1: Binary Flownomials; Basic Theory. Technical Report TUM-I9437, Technische Universität München, Institut für Informatik (1994)Google Scholar
  14. 14.
    Ştefănescu, G.: Network Algebra. Springer, London (2000)MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Wolfram Kahl
    • 1
  • Christopher K. Anand
    • 1
  • Jacques Carette
    • 1
  1. 1.SQRLMcMaster UniversityHamiltonCanada

Personalised recommendations