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