Abstract
A communicating process language such as occam can be used to design VLSI devices, and can be compiled into silicon layout. Some parts of the design process are still performed by hand (such as the final placement of the functional blocks), but this cannot introduce errors. It is therefore possible to design concurrent VLSI systems using occam, establish that the design behaves as intended using the formal semantics of occam (or in simple cases by experimental testing of the occam program), and finally compile the occam source into correct silicon layout.
In order to simplify the construction of the compiler, many issues have been ignored. For example, the synchronous communication system is only appropriate for local communication between devices sharing a common clock. This problem can be overcome by using a different link implementation for ‘long distance’ communication (for example, the link used in the transputer itself).
Expressing an application in a form which efficiently exploits silicon area involves careful consideration of the relative costs of memory, processing and communication. Concurrent algorithms which perform ‘redundant’ calculations can be faster and consume less area than sequential algorithms which store values. An important use of a silicon compiler is to aid in the evaluation of ‘silicon algorithms’.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Occam Programming Manual. Prentice-Hall International 1984.
C A Mead and L A Conway: Introduction to VLSI Systems. Addison Wesley 1980 Section 5.
Communicating Sequential Processes, C A R Hoare, Communications of the ACM Vol. 21, 8 (August 1978) p. 666.
Denotational Semantics for Occam, A W Roscoe. Presented at NSF/SERC Seminar on Concurrency, Carnegie-Mellon University, July 1984. To be published.
The Laws of Occam Programming, A W Roscoe and C A R Hoare, Programming Research Group, Oxford University, 1986.
An Effective Implementation for the Generalised Input-Output Construct of CSP. G N Buckley and A Silberschatz, ACM Transactions on Programming Languages and Systems Vol. 5, 2 (April 1983) p. 224.
A Protocol for Generalised Occam, R Bornat, Department of Computer Science, Queen Mary College, London 1984.
Occam 2 Referance Manual, Inmos, 1986
Lets Design Algorithms for VLSI Systems, H T Kung, in: C A Mead and L A Conway: Introduction to VLSI Systems. Addison Wesley 1980 Section 8.3.
Occam Programming Manual, Prentice-Hall International, 1984
IMS T414 referance manual, inmos Limited 1985.
Simulation of statistical mechanical systems on transputer arrays C R Askew, D B Carpenter, J T Chalker, A J G Hey, D A Nicole and D S Pritchard Physics Department, University of Southampton To be published
Signal processing with transputer arrays J G Harp, J B G Roberts and J S Ward Royal Signals and Radar Establishment, Malvern, Worcestershire Computer Physics Communications, 1985
Occam Programming Manual, Prentice-Hall International, 1984
The Laws of Occam Programming, A W Roscoe and C A R Hoare, Programming Research Group, Oxford University, 1986.
Formal Methods applied to a Floating Point Number System, G Barrett, Programming Research Group, Oxford University, 1986.
Compiling Communicating Processes into delay insensitive VLSI Circuits, Alain J Martin, Journal of distributed computing, 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
May, D., Shepherd, R., Keane, C. (1987). Communicating process architecture: Transputers and occam. In: Treleaven, P., Vanneschi, M. (eds) Future Parallel Computers. Lecture Notes in Computer Science, vol 272. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18203-9_2
Download citation
DOI: https://doi.org/10.1007/3-540-18203-9_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18203-0
Online ISBN: 978-3-540-47806-5
eBook Packages: Springer Book Archive