PCPUTER History

A Little More History

So where did PCPUTER come from?

In the 1980's, a UK semiconductor startup named INMOS® developed a ground-breaking microprocessor family called the “Transputer”. These processors featured 16 and 32 bit data paths, integral on-chip RAM, multiple off-chip high speed serial communication ports, optional floating point hardware and dedicated, instruction-level, support for CSP (Communicating Sequential Processes ala C. A. R. Hoare). Support for CSP was the linchpin of the Transputer: Process communication and synchronization, whether on the same CPU, or via a serial “link” to another CPU, was fast and seamless.

With the development of the Transputer, it was suddenly possible to transcend the processing limits of a single microprocessor without resorting to a specialized external communication system. The programming steps needed to communicate between processes on a single CPU, and to communicate to a process running on a completely different microprocessor, were almost identical. And further, whether on the same processor or between processors, communication had the important characteristic of extremely low latency - thanks to excellent hardware support.

INMOS initially intended that the Transputer be programmed in the OCCAM language, a new language designed from the ground up to take advantage of the CSP paradigm. After evaluating the use of OCCAM for ongoing embedded control applications, Kirk Bailey (then working at Logical Systems), decided instead to create a C language development environment for the Transputer. This was a bit heretical at the time since OCCAM was the only supported development environment for the Transputer. Although the effort turned out to ultimately take more than 14 person years to complete, the result was a C development suite called the Transputer Toolset. Ironically, this non-OCCAM programming system would arguably become the most widely used development tool for the Transputer (partially due to the fact that it was bundled in “starter kits” from a number of different development system hardware vendors).

Customers used the Transputer Toolset to develop all sorts of programs, for all sorts of environments. Known “single system” hardware implementations included everything from a single processor to tens of thousands. Applications ranged the gamut from land/sea/space data collection and control to massive simulation systems. Given the “lightweight” nature of processes on the Transputer (thanks to the hardware process “thread” support), systems tended to evolve as large collections of relatively simple processes. C may not have been designed for CSP, but with a little tweaking it got the job done!

Which gets us to today. Logical Systems is no more (Embedded Systems now owns the Transputer Toolset intellectual property). INMOS and the Transputer are no more1, the void that the Transputer once so ably filled is still empty. But wait, suppose someone took the good ideas from the Transputer Toolset and optimized them to work with modern PC software and hardware systems? Perhaps create some sort of PC/TRANSPUTER hybrid? Now what should it be called...

We've waited long enough: It's PCPUTER time!

1In the process of cleaning out a basement a number of boxes of ancient Transputer-related hardware and software were unearthed and some quick photographs taken. If you lived through it, or are just curious, feel free to peruse the Transputer Photos page. For "official" INMOS/Transputer nostalgia, visit www.inmos.com.