Skip to main content
SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
  1. Home
  2. Theory of Computing Systems
  3. Article

On the Expressiveness of Single-Pass Instruction Sequences

  • Open access
  • Published: 11 November 2010
  • volume 50, pages 313–328 (2012)
Download PDF

You have full access to this open access article

Theory of Computing Systems Aims and scope Submit manuscript
On the Expressiveness of Single-Pass Instruction Sequences
Download PDF
  • J. A. Bergstra1 &
  • C. A. Middelburg1 
  • 458 Accesses

  • 6 Citations

  • Explore all metrics

Cite this article

Abstract

We perceive programs as single-pass instruction sequences. A single-pass instruction sequence under execution is considered to produce a behaviour to be controlled by some execution environment. Threads as considered in basic thread algebra model such behaviours. We show that all regular threads, i.e. threads that can only be in a finite number of states, can be produced by single-pass instruction sequences without jump instructions if use can be made of Boolean registers. We also show that, in the case where goto instructions are used instead of jump instructions, a bound to the number of labels restricts the expressiveness.

Article PDF

Download to read the full article text

Use our pre-submission checklist

Avoid common mistakes on your manuscript.

References

  1. Baker, H.G.: Precise instruction scheduling without a precise machine model. SIGARCH Comput. Archit. News 19(6), 4–8 (1991)

    Article  Google Scholar 

  2. Bergstra, J.A., Bethke, I.: Polarized process algebra and program equivalence. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) Proceedings 30th ICALP. Lecture Notes in Computer Science, vol. 2719, pp. 1–21. Springer, Berlin (2003)

    Google Scholar 

  3. Bergstra, J.A., Loots, M.E.: Program algebra for sequential code. J. Log. Algebr. Program. 51(2), 125–156 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  4. Bergstra, J.A., Middelburg, C.A.: Instruction sequences with indirect jumps. Sci. Ann. Comput. Sci. 17, 19–46 (2007)

    MathSciNet  Google Scholar 

  5. Bergstra, J.A., Middelburg, C.A.: Synchronous cooperation for explicit multi-threading. Acta Inf. 44(7–8), 525–569 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  6. Bergstra, J.A., Middelburg, C.A.: Distributed strategic interleaving with load balancing. Future Gener. Comput. Syst. 24(6), 530–548 (2008)

    Article  Google Scholar 

  7. Bergstra, J.A., Middelburg, C.A.: Instruction sequences and non-uniform complexity theory. arXiv:0809.0352v3 [cs.CC] (2008)

  8. Bergstra, J.A., Middelburg, C.A.: Maurer computers for pipelined instruction processing. Math. Struct. Comput. Sci. 18(2), 373–409 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  9. Bergstra, J.A., Middelburg, C.A.: Program algebra with a jump-shift instruction. J. Appl. Log. 6(4), 553–563 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  10. Bergstra, J.A., Middelburg, C.A.: Autosolvability of halting problem instances for instruction sequences. arXiv:0911.5018v2 [cs.LO] (2009)

  11. Bergstra, J.A., Middelburg, C.A.: Indirect jumps improve instruction sequence performance. arXiv:0909.2089v1 [cs.PL] (2009)

  12. Bergstra, J.A., Middelburg, C.A.: Instruction sequences with dynamically instantiated instructions. Fundam. Inform. 96(1–2), 27–48 (2009)

    MathSciNet  MATH  Google Scholar 

  13. Bergstra, J.A., Ponse, A.: Execution architectures for program algebra. J. Appl. Log. 5(1), 170–192 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  14. Cooper, D.C.: Böhm and Jacopini’s reduction of flow charts. Commun. ACM 10(8), 463, 473 (1967)

    Article  Google Scholar 

  15. Fernandes, T., Desharnais, J.: Describing data flow analysis techniques with Kleene algebra. Sci. Comput. Program. 65, 173–194 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  16. Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Inf. Comput. 110(2), 366–390 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  17. Kozen, D.: Kleene algebra with tests. ACM Trans. Program. Lang. Syst. 19(3), 427–443 (1997)

    Article  Google Scholar 

  18. Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Trans. Comput. Log. 1(1), 60–76 (2000)

    Article  MathSciNet  Google Scholar 

  19. Lunde, A.: Empirical evaluation of some features of instruction set processor architectures. Commun. ACM 20(3), 143–153 (1977)

    Article  Google Scholar 

  20. Nair, R., Hopkins, M.E.: Exploiting instruction level parallelism in processors by caching scheduled groups. SIGARCH Comput. Archit. News 25(2), 13–25 (1997)

    Article  Google Scholar 

  21. Ofelt, D., Hennessy, J.L.: Efficient performance prediction for modern microprocessors. In: SIGMETRICS ’00, pp. 229–239 (2000)

    Chapter  Google Scholar 

  22. Patterson, D.A., Ditzel, D.R.: The case for the reduced instruction set computer. SIGARCH Comput. Archit. News 8(6), 25–33 (1980)

    Article  Google Scholar 

  23. Ponse, A., van der Zwaag, M.B.: An introduction to program and thread algebra. In: Beckmann, A., et al. (eds.) CiE 2006. Lecture Notes in Computer Science, vol. 3988, pp. 445–458. Springer, Berlin (2006)

    Google Scholar 

  24. Salomaa, A.: Two complete axiom systems for the algebra of regular events. J. ACM 13(1), 158–169 (1966)

    MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Informatics Institute, Faculty of Science, University of Amsterdam, Science Park 904, 1098 XH, Amsterdam, The Netherlands

    J. A. Bergstra & C. A. Middelburg

Authors
  1. J. A. Bergstra
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. C. A. Middelburg
    View author publications

    You can also search for this author in PubMed Google Scholar

Corresponding author

Correspondence to J. A. Bergstra.

Rights and permissions

Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License (https://creativecommons.org/licenses/by-nc/2.0), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.

Reprints and Permissions

About this article

Cite this article

Bergstra, J.A., Middelburg, C.A. On the Expressiveness of Single-Pass Instruction Sequences. Theory Comput Syst 50, 313–328 (2012). https://doi.org/10.1007/s00224-010-9301-8

Download citation

  • Published: 11 November 2010

  • Issue Date: February 2012

  • DOI: https://doi.org/10.1007/s00224-010-9301-8

Share this article

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Keywords

  • Single-pass instruction sequence
  • Regular thread
  • Expressiveness
  • Jump-free instruction sequence
Use our pre-submission checklist

Avoid common mistakes on your manuscript.

Advertisement

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

Not affiliated

Springer Nature

© 2023 Springer Nature