Maurer Computers with Single-Thread Control

We investigate basic issues concerning stored threads and their execution, building upon Maurer's model for computers and the thread algebra of Bergstra et al. We show among other things that a single thread can control the execution on a Maurer machine of any executable finite-state thread stored in the memory of the Maurer machine. We also relate stored threads with programs as considered in the program algebra of Bergstra et al. The work is intended as a preparation for the development of a formal approach to model micro-architectures and to verify their correctness and anticipated speed-up results.

[1]  Jan A. Bergstra,et al.  Simulating Turing machines on Maurer machines , 2008, J. Appl. Log..

[2]  C. R. Jesshope,et al.  Dynamic scheduling in RISC architectures , 1996 .

[3]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[4]  Jan A. Bergstra,et al.  Process algebra: specification and verification in bisimulation semantics , 1986 .

[5]  S. S. Pathak,et al.  On Communicating Sequential Processes , 1995, Comput. Networks ISDN Syst..

[6]  Jan A. Bergstra,et al.  Thread algebra for strategic interleaving , 2007, Formal Aspects of Computing.

[7]  Jan A. Bergstra,et al.  Maurer computers for pipelined instruction processing† , 2008, Mathematical Structures in Computer Science.

[8]  Chris R. Jesshope Implementing an efficient vector instruction set in a chip multi-processor using micro-threaded pipelines , 2001, Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001.

[9]  Kees Middelburg An alternative formulation of operational conservativity with binding terms , 2003, J. Log. Algebraic Methods Program..

[10]  Chris R. Jesshope,et al.  Micro-threading: a new approach to future RISC , 2000, Proceedings 5th Australasian Computer Architecture Conference. ACAC 2000 (Cat. No.PR00512).

[11]  Jan A. Bergstra,et al.  A Thread Algebra with Multi-level Strategic Interleaving , 2005, CiE.

[12]  Ward Douglas Maurer A theory of computer instructions , 2006, Sci. Comput. Program..

[13]  Jan A. Bergstra,et al.  Decision problems for pushdown threads , 2007, Acta Informatica.

[14]  Peter Linz,et al.  An Introduction to Formal Languages and Automata , 1997 .

[15]  Luca Aceto,et al.  Structural Operational Semantics , 1999, Handbook of Process Algebra.

[16]  Jan A. Bergstra,et al.  Splitting bisimulations and retrospective conditions , 2006, Inf. Comput..

[17]  Jos C. M. Baeten,et al.  Process Algebra , 2007, Handbook of Dynamic System Modeling.

[18]  Jan A. Bergstra,et al.  Program algebra for sequential code , 2002, J. Log. Algebraic Methods Program..

[19]  Jan A. Bergstra,et al.  Polarized Process Algebra and Program Equivalence , 2003, ICALP.

[20]  Chris R. Jesshope Implementing an efficient vector instruction set in a chip multi-processor using micro-threaded pipelines , 2001 .

[21]  Jan A. Bergstra,et al.  Synchronous cooperation for explicit multi-threading , 2007, Acta Informatica.

[22]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[23]  Jan A. Bergstra,et al.  Thread Algebra with Multi-Level Strategies , 2006, Fundam. Informaticae.

[24]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[25]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

[26]  Jan A. Bergstra,et al.  Combining programs and state machines , 2002, J. Log. Algebraic Methods Program..