January 07, 2008
The transputer (TRANSistor comPUTER) was an innovative computer design of the 1980s from INMOS, a British semiconductor company based in Bristol. When the transputer was first reveiled, many thought this exceptional concept should be the next revolution in microprocessor technology. As you may already have guessed, things didn't happen as expected: today, the transputer is a largely forgotten concept (although some initial ideas may be found in modern processor architectures).
In the early 1980s it became clear that conventional CISC processors were very limited in terms of scalable performance. One concept to solve the problem was RISC, which became the defacto standard for high performance workstations in the late 1990's. As RISC architectures were quite expensive in most cases (although ARM was not), the transputer was intended to offer high end performance without being costy.
The idea behind the transputer was quite simple: instead of creating a very complex processor, the transputer consisted of a family of chips. Each chip had a very simple design and multiple chips could be wired together to form an entire computer. Each transputer chip was in fact some kind of a microcontroller and was able to boot and operate by itself, it had its own RAM, a serial bus and an embedded real-time OS, but it fulfilled only very few complex tasks. Computer vendors would then combine transputer chips like building blocks and design a system that would fulfill specific requirements.
A single transputer chip could be used to power a disk controller for example, while larger numbers of them could be used to create a high end workstation. The advantage of the design was its extreme scalability and its low cost hardware. The transputer chip core itself was a simplified, microcoded CISC-like 8-bit processor (it ran a real-time OS to control the processor), while the available processors can be categorised into three groups: the 16-bit T2 series, the 32-bit T4 series and the 32-bit T8 series with 64-bit IEEE 754 floating-point support.
The transputer was a parallel architecture by design, and it required a multitasking operating system to take full advantage of the transputer hardware. Transputers were intended to be programmed using the occam programming language, which had also been developed inhouse at INMOS, and allowed to directly take advantage of the transputer hardware design. Later on other languages such as C, FORTRAN, Ada and Pascal became available too.
One of the major disadvantages of the transputer was the lack of an MMU or virtual memory support, which prevented UNIX to be ported to the transputer architecture (although there were ports of some UNIX-like OSes).
The first transputers were announced in 1983 and released in 1984, and various models followed during the later 1980's. The final problem of the transputer may have been that it was still too costy to compete in the microcontroller market, while it coulnd't complete with the growing success off the high end RISC designs. At the end, the was no real market for the transputer.
After many technical problems and delays during the development of the next generation T9000 transputer, INMOS got into financial trouble and was finally sold to SGS-Thomson, whose focus was the embedded systems market, and eventually the T9000 project was abandoned.
The most well known machine may have been the Atari Transputer Workstation, which was first introduced at the November 1987 COMDEX under the name Abaq. It was basically a modified Atari Mega ST with 512kB of RAM connected to a 20 MHz T800-20 transputer board and 4MB of RAM, plus a Blossom video system with 1MB of dual-ported RAM. A fully equipped Atari Transputer Workstation could contain 17 transputers offering 10 MIPS each.
Atari used HeliOS as operating system on this machine, as UNIX could not be ported because of the lack of a transputer MMU. Nevertheless this allowed the Atari Transputer Workstation to run a large number of standard Unix utilities, including the X Window System as the machine's graphical user interface (GUI).