The transputer

The transputer [1] is one of several 32-bit VLSI processors specifically designed for use in concurrent message-passing systems. The conceptual structure of the transputer (see figure) contains the three essential ingredients for a self-contained element of a message-passing system: processor, local memory and communications. The general philosophy of the transputer is one of providing a family of compatible components which are able to communicate with the minimum of external logic, irrespective of their individual internal clock rates. To this end individual transputers communicate via point-to-point links, implemented using an asynchronous bit-serial protocol.

Each transputer has a fixed number of such bi-directional links, nominally four, and hence any processor inter-connection network of fixed degree i (i ≤ 4) can be constructed from these devices. In transputer-based multiprocessors the serial communication links and their inter-connection topology together constitute the message transfer system.

The architecture of the transputer is defined by reference to the programming language occam [2]. occam possesses the necessary language attributes for expressing algorithms in a manner suitable for distributed parallel processing on networks of transputers. It enables the whole computation to be expressed as a static collection of processes which operate concurrently and communicate through named channels. The placement of occam processes on to transputer processors is the explicit responsibility of the occam program, and processes would not normally be expected to migrate. The static structure of occam processes permits the transputer hardware to remain simple and uncomplicated. This means, for example, that the domain of each process is known at compile time and consequently hardware for segment based memory protection is not required.