Abstract
An infinite synchronous concurrent algorithm (isca) is an algorithm composed of infinitely many modules and channels, computing and communicating in parallel, and synchronised by a global clock. A theory of such algorithms will explore infinite parallelism and also help in understanding computation involving unbounded finite parallelism. The theory presented is a generalisation of a theory of finite synchronous concurrent algorithms, based on computable functions on many sorted algebras. We use algebras to model specifications and iscas, and epimorphisms and isomorphisms to model related notions of implementation.
We will model a hardware stack with unbounded capacity using an infinite synchronous concurrent algorithm and prove that the architecture is correct; special emphasis is placed on using algebras to formalise the various stages of the development.
First we specify equationally a class of hardware stacks that operate in time with streams of data and commands. We then present a specific algebraic model Str op (S(X)) of the hardware stack axioms that computes over an arbitrary data set X and which serves as a mathematical specification for the hardware stack. Next we define an isca and we prove that this isca implements the model Str op (S(X)) of the stack. Finally we consider the refinement of the general algebraic model and isca over the set X to an algebraic model and isca based on the set 0,1 of bits.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
P Abdulla, Decision Problems in Systolic Circuit Verification, PhD Thesis, Department of Computer Systems, University of Uppsala, Sweden, (1990).
P Abdulla, “Automatic Verification of a Class of Systolic Circuits”, Formal Apsects of Computing, (1991 to appear).
J A Bergstra and J V Tucker, “Algebraic Specifications of Computable and Semicom-putable Data Structures”, Department of Computer Science Research Report IE 115, Mathematical Centre, Amsterdam, (1979).
J A Bergstra and J V Tucker, “Initial and Final Algebra Semantics for Data Type Specifications: Two Characterisation Theorems”, in SIAM Journal of Computing 12, (1983), pp 366–387.
J A Bergstra and J V Tucker, “Algebraic Specifications of (Semi) Computable Data Types”, in Theoretical Computer Science 50, North-Holland, Amsterdam, (1987), pp 137–181.
J A Bergstra and J V Tucker, “The Inescapable Stack: An Exercise in Algebraic Specification with Total Functions”, Centre for Theoretical Computer Science Report 13.88, University of Leeds, (1988).
J A Bergstra and J V Tucker, “The Inescapable Stack: An Exercise in Algebraic Specification with Total Functions” (revised report), University of Amsterdam, Programming Research Group Report P8804b, (1990).
P M Cohn, Algebra, Volume 1, Wiley, (1983).
R W Doran, Computer Architecture: A Structured Approach, Academic Press, London, (1979).
M Davio, J P Deschamps and A Thayse, Digital Systems with Algorithm Implementation, Wiley, (1983).
S M Eker, Foundations for the Design of Rasterisation Algorithms and Architectures, PhD Thesis, School of Computer Studies, University of Leeds, (1990).
S M Eker, V Stavridou and J V Tucker, “Verification of Synchronous Concurrent Algorithms using OBJ: A Case Study of the Pixel Planes Architecture”, in G Jones and M Sheeran (eds.), Designing Correct Circuits, Oxford, 1990, Springer-Verlag, (1988), pp. 231–252.
S M Eker and J V Tucker, “Specification, Derivation and Verification of Concurrent Line Drawing Algorithms and Architectures”, in R A Earnshaw (ed.), Theoretical Foundations of Computer Graphics and CAD, Springer-Verlag, (1988), pp. 449–516.
S M Eker and J V Tucker, “Specification and Verification of Synchronous Concurrent Algorithms: a Case Study of the Pixel Planes Architecture”, pp. 16–49 in R A Earnshaw, P M Dew and T R Heywood (eds.), Parallel Processing for Computer Vision and Display, Addison Wesley, (1989).
H Ehrig and B Mahr, Fundamentals of Algebraic Specifications 1-Equations and Initial Semantics, EATCS Monographs on Theoretical Computer Science, Springer-Verlag, (1985).
G Grätzer, Universal Algebra, Springer-Verlag, Berlin, (1989).
N A Harman, Formal Specifications for Digital Systems, PhD Thesis, School of Computer Studies, University of Leeds, (1989).
N A Harman and J V Tucker, “Clocks, Retimings, and the Formal Specification of a UART”, in G Milne (ed.), Proceedings of IF IP Working Group 10.2 Working Conference on The Fusion of Hardware Design and Verification, North-Holland, Amsterdam, (1988), pp. 375–396.
N A Harman and J V Tucker, “The Formal Specification of a Digital Correlator. I: User Specification Process”, in K McEvoy and J V Tucker (eds.), Theoretical foundations of VLSI design, Cambridge University Press, Cambridge, (1990), pp. 161–262.
N A Harman and J V Tucker, “Consistent Refinement of Specifications for Digital Systems”, Technical Report CSR 4-91, Division of Computer Science, University College of Swansea, (1991).
E A Hauck and B A Dent, “Burroughs’ B6500/7500 Stack Mechanism”, in AFIPS Conference Proceedings, SJCC 32, Thompson Books, Washington DC, (1968), pp 245–251.
J P Hayes, Computer Architecture and Organisation, McGraw-Hill, (1978).
K M Hobley, The Specification and Verification of Synchronous Concurrent Algorithms, PhD Thesis, School of Computer Studies, University of Leeds, (1990).
K M Hobley, B C Thompson and J V Tucker, “Specification and Verification of Synchronous Concurrent Algorithms: a Case Study of a Convolution Algorithm”, in G Milne (ed.), Proceedings of IFIP Working Group 10.2 Working Conference on The Fusion of Hardware Design and Verification, North-Holland, (1988), pp. 347–374.
K M Hobley and J V Tucker, “Clocks, Retimings and Transformations of Synchronous Concurrent Algorithms”, in G Megson (ed.), Transformational Approaches to Systolic Design, Chapman and Hall, (1992 to appear).
A V Holden, B C Thompson and J V Tucker, “The Computational Structure of Neural Systems”, in A V Holden and V I Kryukov (eds.), Neurocomputers and Attention. I: Neurobiology, Synchronisation and Chaos, Manchester University Press, (1991), pp. 223–240. A revised and extended version appears in Physica D 49, pp 240–246, (1991).
A V Holden, B C Thompson and J V Tucker, “Can Excitable Media be Considered as Computational Systems?”, in A V Holden, M Markus and H G Othmer (eds.), Proceedings of NATO Advanced Study Institute Nonlinear wave processes in excitable media, Plenum, New York, (1991), pp. 513–520. A revised and extended version appears in Physica D 49, (1991), pp 240–246.
A V Holden, B C Thompson, J V Tucker, D Withington and H Zhang, “Theoretical Framework for Synchronisation, Coherence and Chaos in Real and Simulated Neual Networks”, in J Taylor (ed.), Institute for Advanced Studies, Workshop on Complex Dynamics in Neural Networks, Salerno, Italy, Springer-Verlag, (1992 to appear), pp. 223–240.
K Hwang and F A Briggs, Computer Architecture and Parallel Processing, McGraw-Hill, New York, (1985).
P M Kogge, The Architecture of Symbolic Computers, McGraw-Hill. (1991).
R N Ibbet, The Architecture of High Performance Computers, Macmillan Press, London, (1982).
J K Iliffe Advanced Computer Design, au]Prentice-Hall, London, (1982).
INMOS Limited, Transputer Instruction Set: A Compiler Writer’s Guide, Prentice Hall, New York, (1988).
A I Mal’cev, Algebraic Systems, Springer-Verlag, Berlin, (1973).
A R Martin, The Specification and Simulation of Synchronous Concurrent Algorithms, PhD Thesis, School of Computer Studies, University of Leeds, (1989).
A R Martin and J V Tucker, “The Concurrent Assignment Representation of Synchronous Systems”, in J W de Bakker, A J Nijman and P C Treleaven (eds.), PARLE: Parallel Languages and Architectures Europe, Vol II Parallel Languages, Springer Lecture Notes in Computer Science 259, Springer-Verlag, (1987), pp 369–386. A revised and expanded edition appears in Parallel computing 9, (1988/89), pp 227–256.
S Matsui, Y Kato, S Teramura, T Tanaka, N Mohei, A Madea and M Nakanishi, “SYNAPSE a Multiprocessor Lisp Machine with Parallel Garbage Collector”, in Al-brecht A, Jung H and Melhorn K (eds.), Parallel Algorithms and Architectures, Lecture Notes in Computer Science 262, Springer-Verlag, Berlin, (1987).
B McConnell and J V Tucker, “Infinite Synchronous Concurrent Architectures: A Case Study — The Convolver”, Technical Report, Division of Computer Science, University College of Swansea, (1992 in preparation).
K McEvoy and J V Tucker, Theoretical Aspects of VLSI Design, Cambridge Tracts in Theoretical Computer Science, Cambridge Unviversity Press, (1990).
C A Mead and L A Conway, Introduction to VLSI Systems, Addison Wesley, (1980).
K Meinke, A Graph Theoretic Model of Synchronous Concurrent Algorithms, PhD Thesis, Department of Computer Studies, University of Leeds, (1988).
K Meinke and J V Tucker, “Specification and Representation of Synchronous Concurrent Algorithms”, in F H Vogt (ed.), Concurrency ′88, Springer Lecture Notes in Computer Science, Spinger-Verlag, (1988), pp 163–180.
K Meinke and J V Tucker, “Universal Algebra”, in S Abramsky, D Gabbay, and T S E Maibaum (eds.), Handbook of Logic in Computer Science, Oxford University Press, Oxford, (1992 in preparation).
A Mukherjee, Introduction to nMOS and CMOS VLSI Desgin, Prentice-Hall International, (1986).
J G Nash et al, “Toeplitz Linear System Solver”, in H T Kung, B Sproull and G Steele (eds.), VLSI Systems and Computations, Springer-Verlag, Berlin, (1981).
M J Shute, Fifth Generation Wafer Architecture, Prentice-Hall International, Hemel Hempstead, (1988).
V Stoltenberg-Hansen and J V Tucker, “Infinite Sets of Equations over Inverse Limits of Algebras”, Technical Report, Division of Computer Science, University College of Swansea, (1992 in preparation).
B C Thompson, A Mathematical Theory of Synchronous Concurrent Algorithms, PhD Thesis, School of Computer Studies, University of Leeds, (1987).
B C Thompson and J V Tucker, “Theoretical Considerations in Algorithm Design”, in R A Earnshaw (ed.), Fundamental Algorithms for Computer Graphics, Springer-Verlag, Berlin, (1985), pp. 856–878.
B C Thompson and J V Tucker, “A Parallel Deterministic Language and its Application to Synchronous Concurrent Algorithms”, in Proceedings of 1988 UK IT Conference held under the auspices of the Information Engineering Directorate of the Department of Trade and Industry (DTI), Institute of Electrical Engineers (IEE), (1988), pp. 228–231.
B C Thompson and J V Tucker, “Equational Specification of Synchronous Concurrent Algorithms and Architectures”, Technical Report CSR 9-91, Division of Computer Science, University College of Swansea, (1991).
J E Thornton, The Design of a Computer: The Control Data 6600, Scott Forseman and Co, (1970).
J V Tucker, “Theory of Computation and Specification over Abstract Data Types, and its Applications”, in F L Bauer (ed.), Logic, Algebra and Computation, Springer-Verlag, (1991), pp 1–39.
J V Tucker and J I Zucker, Program Correctness over Abstract Data Types, with Error State Semantics, North-Holland, Amsterdam, (1988).
W Wechler, Universal Algebra for Computer Scientists, EATCS Monographs on Theoretical Computer Science, Spinger-Verlag, Berlin, (1991).
N Weste and K Eshraghian, Principles of CMOS VLSI Design, Addison Wesley, (1985).
M Wirsing, “Algebraic Specification”, in J. van Leeuwen (ed.), The Handbook of Theoretical Computer Science, Elsevier, (1990), pp. 675–788.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
McConnell, B., Tucker, J.V. (1993). Infinite Synchronous Concurrent Algorithms The Algebraic Specification and Verification of a Hardware Stack. In: Bauer, F.L., Brauer, W., Schwichtenberg, H. (eds) Logic and Algebra of Specification. NATO ASI Series, vol 94. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-58041-3_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-58041-3_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-63448-2
Online ISBN: 978-3-642-58041-3
eBook Packages: Springer Book Archive