There are many details of the Transputer which have been omitted in this brief description.
The assembly language used in the example programs is very crude. A real assembly language for the Transputer would have labels and other naming conventions. However, this is not really important because the Transputer would rarely be programmed directly in assembly language; instead, code would be produced by compilers from higher level languages such as C or Occam.
Although the example programs have multi-byte instructions in them, the way in which these are built up has not been explained. A multi-byte instruction can be thought of as a sequence of one-byte instructions, using the special instructions pfix (prefix), nfix (negative prefix) and opr (operate). This way of viewing instructions means that instruction bytes are treated in a very uniform way by the processor, leading to simple and yet very efficient execution.
There are further instructions for supporting various operations which higher level languages require. These involve access to global data as well as local data in the currently allocated section of workspace, pointer manipulation, array indexing, support for byte oriented data such as strings as well as word-oriented data, and so on.
|Concurrency and Communications||Top|
One of the key features of the Transputer which sets it apart from most other computers is its hardware support for multiple threads of execution (processes), with priorities, and its uniform approach to communications, both between threads on the same chip, and between threads and external I/O devices (including other Transputer chips in a multi-processor system). Unfortunately, these features are rather subtle, and will have to wait for an updated version of these notes.
The Transputer has a further collection of instructions for speeding up graphics, in terms of the manipulation of pixel arrays, and other such important application-dependent processing. In fact, different versions of the Transputer have different collections of extra instructions.
|Copyright © 1998 University of Bristol. All rights reserved.
Author: Ian Holyer
|Last modified: 14 Sep 1998 11:31
Authored in CALnet