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
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Baker, H.G.: Precise instruction scheduling without a precise machine model. SIGARCH Comput. Archit. News 19(6), 4–8 (1991)
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)
Bergstra, J.A., Loots, M.E.: Program algebra for sequential code. J. Log. Algebr. Program. 51(2), 125–156 (2002)
Bergstra, J.A., Middelburg, C.A.: Instruction sequences with indirect jumps. Sci. Ann. Comput. Sci. 17, 19–46 (2007)
Bergstra, J.A., Middelburg, C.A.: Synchronous cooperation for explicit multi-threading. Acta Inf. 44(7–8), 525–569 (2007)
Bergstra, J.A., Middelburg, C.A.: Distributed strategic interleaving with load balancing. Future Gener. Comput. Syst. 24(6), 530–548 (2008)
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.: Maurer computers for pipelined instruction processing. Math. Struct. Comput. Sci. 18(2), 373–409 (2008)
Bergstra, J.A., Middelburg, C.A.: Program algebra with a jump-shift instruction. J. Appl. Log. 6(4), 553–563 (2008)
Bergstra, J.A., Middelburg, C.A.: Autosolvability of halting problem instances for instruction sequences. arXiv:0911.5018v2 [cs.LO] (2009)
Bergstra, J.A., Middelburg, C.A.: Indirect jumps improve instruction sequence performance. arXiv:0909.2089v1 [cs.PL] (2009)
Bergstra, J.A., Middelburg, C.A.: Instruction sequences with dynamically instantiated instructions. Fundam. Inform. 96(1–2), 27–48 (2009)
Bergstra, J.A., Ponse, A.: Execution architectures for program algebra. J. Appl. Log. 5(1), 170–192 (2007)
Cooper, D.C.: Böhm and Jacopini’s reduction of flow charts. Commun. ACM 10(8), 463, 473 (1967)
Fernandes, T., Desharnais, J.: Describing data flow analysis techniques with Kleene algebra. Sci. Comput. Program. 65, 173–194 (2007)
Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Inf. Comput. 110(2), 366–390 (1994)
Kozen, D.: Kleene algebra with tests. ACM Trans. Program. Lang. Syst. 19(3), 427–443 (1997)
Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Trans. Comput. Log. 1(1), 60–76 (2000)
Lunde, A.: Empirical evaluation of some features of instruction set processor architectures. Commun. ACM 20(3), 143–153 (1977)
Nair, R., Hopkins, M.E.: Exploiting instruction level parallelism in processors by caching scheduled groups. SIGARCH Comput. Archit. News 25(2), 13–25 (1997)
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)
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)
Salomaa, A.: Two complete axiom systems for the algebra of regular events. J. ACM 13(1), 158–169 (1966)
Author information
Authors and Affiliations
Corresponding author
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.
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00224-010-9301-8