David May's Transputer Page

From 1979 I worked in Bristol as the architect of the Inmos transputer and still have a large collection of material about the design, the products and the associated programming language occam which I designed alongside the transputer instruction set.

I am often asked about the history of Inmos and the transputer, so I have started to put together these pages. For the moment, here are a couple of photographs:
B0042 board
C104 board

The B0042 board contains 42 transputers connected via their links into a 2-dimensional array. A number of them were built following a manufacturing error - all of these transputers were inserted into the packages in the wrong orientation so were fully functional but unsaleable. I had them all (around 2000) written off for engineering use and we built the B0042 'evaluation' boards! Many of these were given to Southampton University where they were assembled into a 1260 processor machine and used for experimental scientific computing. Inmos used them in a number of exhibitions (in a box of 10 boards - 420 processors) drawing Mandelbrot sets in real time!

The C104 board contains one of a very small number of C104 message routing chips. This chip was originally developed alongside the T9000 transputer with its dynamic message routing architecture although in fact it was designed as a component for building interconnection networks (switching fabrics) in general. It had 32 100Mbit bidirectional links internally connected via a full crossbar. The transport protocol on the links was standardised as IEEE1355 and also used in IEEE1394 (Firewire). Routing was done using an interval-labelling technique with short message headers. There was support for hot-spot avoidance in large networks using randomisaton. I think the C104 was the first switch chip designed in state-of-the-art VLSI (around 2 million transistors). Unfortunately very little effort was available to market and support this chip and very few were made - I think most of them were on development boards like this one.

I am trying to assemble the documentation on the earliest transputers. The transputer prototype was the Simple 42. Below are versions of the Instruction set, Microarchitecture and Microcode.
Simple 42 Instruction set
Simple 42 Microarchitecture
Simple 42 Microcode in VBC
I have recently obtained a photograph of one of the first Simple 42 chips made. It clearly shows the microcode control ROM (top) and datapath (bottom) with ALU to the right and registers to the left.
Photograph of Simple 42
I've started on the T414 which was the first transputer in volume production.
T414 High level microcode
I have recently found a copy of the microcode used in the floating point co-processor of the T800 transputer. The microcode was formally verified by using an occam program transformation system to transform the microcode (represented in occam) into a high-level program that had already been verified. This was a very early use of formal methods in microprocessor design.
T800 microcode proof
I talked about this work in the Concurrent Programming Institute organised by Tony Hoare at the University of Texas at Austin in 1987. Here is a draft of the paper based on my talk; it was subsequently published as a chapter in Developments in Concurrency and Communication, Addison-Wesley, 1990.
Use of Formal Methods
The T800 was a very early implementation of the IEEE 754 standard. At the time of introduction, it was the fastest floating point microcomputer in the world.

My homepage is here