next up previous
Next: A Transputer Approach to Up: A Transputer Trigger and Previous: A Standard Approach to

The Transputer and occam

The transputer is a single VLSI chip which provides processing power, memory and communications hardware [6]. It contains firmware for multi-task switching at two levels of priority and thus supports real-time and pseudo-parallel processing. ZEUS uses the IMS T200, IMS T400 and IMS T800 series of processors. The IMS T200 series has a 16-bit processor, while the IMS T400 and IMS T800 series have 32-bit units. The IMS T400 and IMS T800 are identical except the IMS T800 supports an additional on-chip 64-bit floating-point unit capable of 1.5-2.25 MFLOPS. The floating-point unit allows the use of pattern recognition and parameter determination algorithms similar to those used in the offline environment. Both types of 32-bit transputers have a maximum performance of 15 MIPS.

All transputers have four serial links which can be set to 20 Mbit/s. For the IMS T800, a sustained uni-directional transfer rate of 1.7 Mbyte/s and a bi-directional rate of 1.1 Mbyte/s are typical for cable lengths less than 15 m; rates are about 30% slower over distances of 35-40 m. Both processing units and all four bi-directional links can operate concurrently. Hence constructing a re-configurable transputer array is an ideal way to build a large distributed memory MIMD computer for online triggering.

Some components in ZEUS use the IMS C004; a single chip containing a 32-way cross-bar switch which can be used to dynamically configure a transputer array.

The transputer was designed to execute the occam language primitives efficiently [7]. The configuration language supports simulated concurrency on a single processor, as well as a truly distributed implementation on a network of transputers. A unique feature of occam is the ability to specify that a group of processes will execute in sequence or parallel. In addition, the coding of real-time control systems is simplified by using the priority, timer and alternation construct features of the language.

occam is more than just a programming language for the transputer. It is based on a formal specification in terms of communicating sequential processes [8] which can form the mathematical basis for proofs of dead-lock and live-lock freedom. occam can also be used to describe an application (hardware or software) as a collection of processes which operate concurrently and communicate through channels. Thus occam is a good choice for formally specifying and modeling asynchronous parallel systems [9].


next up previous
Next: A Transputer Approach to Up: A Transputer Trigger and Previous: A Standard Approach to

Douglas M. Gingrich
Thu Mar 28 18:34:03 MST 1996