Skip to main content
Springer Nature Link
Account
Menu
Find a journal Publish with us Track your research
Search
Cart
  1. Home
  2. Acta Informatica
  3. Article

Instruction sequence processing operators

  • Original Article
  • Open access
  • Published: 23 March 2012
  • Volume 49, pages 139–172, (2012)
  • Cite this article
Download PDF

You have full access to this open access article

Acta Informatica Aims and scope Submit manuscript
Instruction sequence processing operators
Download PDF
  • J. A. Bergstra1 &
  • C. A. Middelburg1 
  • 1002 Accesses

  • 8 Citations

  • Explore all metrics

Abstract

Instruction sequence is a key concept in practice, but it has as yet not come prominently into the picture in theoretical circles. This paper concerns instruction sequences, the behaviours produced by them under execution, the interaction between these behaviours and components of the execution environment, and two issues relating to computability theory. Positioning Turing’s result regarding the undecidability of the halting problem as a result about programs rather than machines, and taking instruction sequences as programs, we analyse the autosolvability requirement that a program of a certain kind must solve the halting problem for all programs of that kind. We present novel results concerning this autosolvability requirement. The analysis is streamlined by using the notion of a functional unit, which is an abstract state-based model of a machine. In the case where the behaviours exhibited by a component of an execution environment can be viewed as the behaviours of a machine in its different states, the behaviours concerned are completely determined by a functional unit. The above-mentioned analysis involves functional units whose possible states represent the possible contents of the tapes of Turing machines with a particular tape alphabet. We also investigate functional units whose possible states are the natural numbers. This investigation yields a novel computability result, viz. the existence of a universal computable functional unit for natural numbers.

Article PDF

Download to read the full article text

Similar content being viewed by others

Computable Execution Traces

Chapter © 2021

Random Self-modifiable Computation

Chapter © 2021

Parallelized Sequential Composition and Hardware Weak Memory Models

Chapter © 2021

Explore related subjects

Discover the latest articles, books and news in related subjects, suggested using machine learning.
  • Computability and Recursion Theory
  • Data Structures
  • Formal Languages and Automata Theory
  • Self incompatability
  • Theory of Computation
  • Functional Analysis
Use our pre-submission checklist

Avoid common mistakes on your manuscript.

References

  • Arora S., Barak B.: Computational Complexity: A Modern Approach. Cambridge University Press, Cambridge (2009)

    MATH  Google Scholar 

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

    Article  Google Scholar 

  • 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, New York (2003)

    Google Scholar 

  • Bergstra J.A., Loots M.E.: Program algebra for component code. Formal Aspects Comput. 12(1), 1–17 (2000)

    Article  MATH  Google Scholar 

  • Bergstra J.A., Loots M.E.: Program algebra for sequential code. J. Logic Algebraic Programm. 51(2), 125–156 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  • Bergstra J.A., Middelburg C.A.: A thread algebra with multi-level strategic interleaving. Theory Comput. Syst. 41(1), 3–32 (2007)

    Article  MathSciNet  MATH  Google Scholar 

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

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

    Article  MathSciNet  MATH  Google Scholar 

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

  • Bergstra, J.A., Middelburg, C.A.: Functional units for natural numbers. arXiv:0911.1851v3 [cs.PL] (2009)

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

  • Bergstra, J.A., Middelburg, C.A.: Instruction sequence processing operators. arXiv:0910.5564v4 [cs.LO] (2009)

  • Bergstra J.A., Middelburg C.A.: On the operating unit size of load/store architectures. Math. Struct. Comput. Sci. 20(3), 395–417 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  • Bergstra J.A., Middelburg C.A.: A thread calculus with molecular dynamics. Inform. Comput. 208(7), 817–844 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  • Bergstra J.A., Middelburg C.A.: Inversive meadows and divisive meadows. J. Appl. Logic 9(3), 203–220 (2011)

    Article  MathSciNet  Google Scholar 

  • Bergstra, J.A., Middelburg, C.A.: On the behaviours produced by instruction sequences under execution. arXiv:1106.6196v1[cs.PL] (2011)

  • Bergstra J.A., Middelburg C.A.: Thread extraction for polyadic instruction sequences. Sci. Ann. Comput. Sci. 21(2), 283–310 (2011)

    MathSciNet  Google Scholar 

  • Bergstra J.A., Middelburg C.A.: On the expressiveness of single-pass instruction sequences. Theory Comput. Syst. 50(2), 313–328 (2012)

    Article  Google Scholar 

  • Bergstra J.A., Ponse A.: Combining programs and state machines. J. Logic Algebr. Programm. 51(2), 175–192 (2002)

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  • Bergstra J.A., Ponse A.: An instruction sequence semigroup with involutive anti-automorphisms. Sci. Ann. Comput. Sci. 19, 57–92 (2009)

    MathSciNet  Google Scholar 

  • Bergstra, J.A., Tucker, J.V.: The rational numbers as an abstract data type. J. ACM 54(2), Article 7 (2007)

    Google Scholar 

  • Brock, C., Hunt, W.A.: Formally specifying and mechanically verifying programs for the Motorola complex arithmetic processor DSP. In: ICCD ’97, pp. 31–36 (1997)

  • Hennessy, J., Jouppi, N., Przybylski, S., Rowen, C., Gross, T., Baskett, F., Gill, J.: MIPS: A microprocessor architecture. In: MICRO ’82, pp. 17–22 (1982)

  • Hermes H.: Enumerability, Decidability, Computability. Springer, Berlin (1965)

    MATH  Google Scholar 

  • Kleene S.C.: General recursive functions of natural numbers. Math. Ann. 112, 727–742 (1936)

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  • Lynch N.A., Blum E.K.: Relative complexity of algebras. Math. Syst. Theory 14(1), 193–214 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  • Margenstern M.: Decidability and undecidability of the halting problem on Turing machines, a survey. In: Adian, S., Nerode, A. (eds.) LFCS’97, Lecture Notes in Computer Science, vol. 1234, pp. 226–236. Springer, New York (1997)

    Google Scholar 

  • Minsky M.L.: Recursive unsolvability of Post’s problem of “tag” and other topics in theory of Turing machines. Ann. Math. 74(3), 437–455 (1961)

    Article  MathSciNet  MATH  Google Scholar 

  • Mosses, P.D.: The mathematical semantics of ALGOL 60. Tech. Rep. PRG-12, Programming Research Group, Oxford University (1974)

  • Mosses P.D.: Formal semantics of programming languages—an overview. Electron. Notes Theor. Comput. Sci. 148, 41–73 (2006)

    Article  Google Scholar 

  • 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 

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

  • 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 

  • Pavlotskaya L.M.: Solvability of the halting problem for certain classes of Turing machines. Math. Notes 13(6), 537–541 (1973)

    MATH  Google Scholar 

  • 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, New York (2006)

    Google Scholar 

  • Sannella D., Tarlecki A.: Algebraic preliminaries. In: Astesiano, E., Kreowski, H.J., Krieg-Brückner, B. (eds.) Algebraic Foundations of Systems Specification, pp. 13–30. Springer, Berlin (1999)

    Chapter  Google Scholar 

  • Shepherdson J.C., Sturgis H.E.: Computability of recursive functions. J. ACM 10(2), 217–255 (1963)

    Article  MathSciNet  MATH  Google Scholar 

  • Sipser M.: Introduction to the Theory of Computation, 2nd edn. Thomson, Boston (2006)

    MATH  Google Scholar 

  • Stoy J.E.: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, Series in Computer Science. MIT Press, Cambridge (1977)

    Google Scholar 

  • Tennenhouse D.L., Wetherall D.J.: Towards an active network architecture. SIGCOMM Comput. Commun. Rev. 37(5), 81–94 (2007)

    Article  Google Scholar 

  • Tennent, R.D.: A denotational definition of the programming language Pascal. Tech. Rep. TR77-47, Department of Computing and Information Sciences, Queen’s University, Kingston, Ontario, Canada (1977)

  • Turing, A.M.: On computable numbers, with an application to the Entscheidungs problem. Proc. Lond. Math. Soc. Ser. 2 42, 230–265 (1937). Correction: ibid, 43, 544–546 (1937)

  • Wirsing M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol B, pp. 675–788. Elsevier, Amsterdam (1990)

    Google Scholar 

  • Xia, C., Torrellas, J.: Instruction prefetching of systems codes with layout optimized for reduced cache misses. In: ISCA ’96, pp. 271–282 (1996)

Download references

Acknowledgments

We thank two anonymous referees for carefully reading preliminary versions of this paper and for suggesting improvements of the presentation of the paper.

Open Access

This article is distributed under the terms of the Creative Commons Attribution License which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited.

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

    Search author on:PubMed Google Scholar

  2. C. A. Middelburg
    View author publications

    Search author on:PubMed Google Scholar

Corresponding author

Correspondence to C. A. Middelburg.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Bergstra, J.A., Middelburg, C.A. Instruction sequence processing operators. Acta Informatica 49, 139–172 (2012). https://doi.org/10.1007/s00236-012-0154-2

Download citation

  • Received: 22 March 2011

  • Accepted: 05 March 2012

  • Published: 23 March 2012

  • Issue Date: May 2012

  • DOI: https://doi.org/10.1007/s00236-012-0154-2

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

  • Functional Unit
  • Turing Machine
  • Execution Environment
  • Instruction Sequence
  • Method Operation
Use our pre-submission checklist

Avoid common mistakes on your manuscript.

Advertisement

Search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Journal finder
  • Publish your research
  • Language editing
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our brands

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Discover
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Legal notice
  • Cancel contracts here

Not affiliated

Springer Nature

© 2025 Springer Nature