When ARM met the Transputer

Occarm: Distributed Simulation of Asynchronous Circuits

          1983 1988 Trademark occam and occam 2 INMOS Limited.jpg


Occarm is a framework for the modelling of asynchronous VLSI circuits in CSP and occam, the executable counterpart of CSP, and the distributed simulation of such CSP/occam models on parallel machines.  Occarm was developed as part of the pioneering research of the AMULET (now APT) Group at the at the University of Manchester.

Occarm has been instantiated in an occam simulation model of the AMULET1 microprocessor, an asynchonous implementation of the ARM processor architecture using the Micropipeline design style. AMULET1 is the first ever asynchronous  implementation of a full-scale commercial microprocessor.

Occarm consists of more than 15,000 lines of occam code and describes AMULET1 at  the Register Transfer Level. The Occarm model has been implemented as a hierarchy of occam  processes, with each process modeling a different functional module of AMULET1. Occarm (meta)-executes ARM6 machine code produced by a standard ARM compiler. Instructions enter the simulator as 32-bit quantities in hexadecimal format. Instruction decoding is performed by means of PLA models.  The occarm simulator utilises novel synchronisation, partitioning, load balancing and monitoring techniques for the execution of the model on parallel Transputer-based machines.

Occarm was configured to run on the T-Rack, a pioneering Transputer-based parallel machine designed and built as part of the ParSiFal Project.

Occarm has made  several groundbreaking contributions:
  1. It was the first ever effort to utilise and evaluate CSP as a modelling paradigm for full-scale complex asynchronous VLSI systems.
  2. It pioneered the topic of distributed simulation of asynchronous VLSI systems, and delivered novel algorithms for circuit partitioning, synchronisation and monitoring.
  3. It pioneered the use of Transputer-based machines for Distributed Simulation
  4. It brought together for the first time the two Great British Chip Inventions: the Transputer and the ARM.


The code

  • The occam source code of the entire system is available here.


  • Theodoropoulos, G., “Modelling an Asynchronous Microprocessor”, Transactions of the Society for Computer Simulation International. Vol. 79, Issue 7, July 2003, Pages: 377-409. DOI Bookmark: 10.1177/0037549703038884
  • Theodoropoulos, G. “Distributed Simulation of Asynchronous Hardware: The Program Driven Synchronisation Protocol”, Journal of Parallel and Distributed Computing, Special Issue on “Parallel and Distributed Discrete Event Simulation––An Emerging Technology”, Academic Press. Volume 62, Issue 4, April 2002, Pages 622-655. DOI Bookmark: DOI Bookmark: 10.1006/jpdc.2001.1806 
  • Theodoropoulos, G., “Simulating Asynchronous Hardware on Multiprocessor Platforms”, Concurrency-Practice and Experience Journal, John Wiley and Sons Ltd Publishers. Volume 13, Issue 10, 25 August 2001, Pages: 869-904. DOI Bookmark: 10.1002/cpe.587
  • Theodoropoulos, G., “Modelling and Distributed Simulation of Asynchronous Hardware”, Simulation Practice and Theory Journal, Elsevier. Volume 7, Issue 8, 15 March 2000, Pages 741-767. DOI Bookmark: 10.1016/S0928-4869(00)00005-7
  • Theodoropoulos, G., Woods, J. V., "Occam: An Asynchronous Hardware Description Language?", 23rd IEEE Euromicro Conference on New Frontiers of Information Technology, Budapest, Hungary, 1-4 September 1997,  IEEE Computer Society, ISBN 0-8186-8129-2. Pages: 249 – 256, DOI Bookmark: 10.1109/EURMIC.1997.617282
  • Theodoropoulos, G., Woods, J. V., "Simulating Asynchronous Architectures on Transputer Networks", IEEE Euromicro Conference on Parallel and Distributed Processing, Braga, Portugal, 24-26 January 1996, IEEE Computer Society, ISBN 0-8186-7376-1. Pages: 274-281. DOI Bookmark: 10.1109/EMPDP.1996.500597
  • G. Theodoropoulos, “Strategies for the Modelling and Simulation of Asynchronous Computer Architectures”, PhD Thesis, School of Computer Science, University of Manchester, October 1995.
  • Theodoropoulos, G., Woods, J. V., "Dealing with Time Modelling Problems in Parallel Models of Asynchronous Computer Architectures", Proceedings of the World Transputer Congress 1995, Harrogate, U.K., September 1995, IOS Press, ISBN 90-5199-235-1. Pages: 457-472
  • Theodoropoulos, G., Woods, J. V., "Analysing the Timing Error in Distributed Simulations of Asynchronous Computer Architectures", Proceedings of the EUROSIM Congress 1995, Vienna, Austria, September 1995, Elsevier, ISBN 0-4448-2241-0. Pages: 529-534
  • Theodoropoulos, G., Woods, J. V., "Distributed Simulation of Asynchronous Computer Architectures: The Program Driven Conservative Approach", Proceedings of the 6th European Simulation Symposium 1994, Istanbul, Turkey, October 1994, Society for Computer Simulation International, ISBN 1-56555-033-1. Pages: 230-234
  • Theodoropoulos, G., Woods, J. V., "Building Parallel Distributed Models for Asynchronous Computer Architectures", Proceedings of the World Transputer Congress 1994, Lake Como, Italy, September 1994, IOS Press, ISBN 90-5199-177-0. Pages: 285-301

The University of Manchester Logo PNG Transparent & SVG Vector - Freebie  Supply