Clustered Pi Picos made to run original Transputer code

Parallel retrocomputing project of the week, er, month, no, year

The astonishing PicoPuter emulation project can run a transputer emulator on multiple Raspberry Pi Picos, and clustering them using the transputer's native inter-processor link protocol.

The Raspberry Pi Pico is a surprisingly capable device at $4 apiece, and one of its less well-known features is its eight programmable IO state-machines on board. As programmer-archaeologist Andrew Menadue wrote in a blog post:

While I was looking at the RP2040, it suddenly occurred to me that the four links on a transputer could be implemented using the eight PIO state machines on an RP2040. Each state machine handles data in one direction, leaving the processor(s) free for other work. What other work? Well, how about running an emulator of a transputer on the core?

So he went and made it happen. One of each Pico's 133MHz ARM Cortex M0+ cores runs a modified version of the T4 transputer emulator, and the PIO state machines run the os-link inter-processor communications channels, separately and without burdening the CPU.

These inter-chip channels were one of the key features of the revolutionary transputer processors, as The Reg mentioned when it profiled the device's lead architect a decade ago. Transputers were used to build multiprocessor computers where each microprocessor had its own local memory, along with fast links to its four neighboring chips, which was suited for parallel processing. It was nifty for the 1980s.

Menadue has also made a series of seven videos showing the process of building the hardware and getting the software running. He has also shared the source code on GitHub. He's even designed and built a RAM upgrade board for the Pi Pico, which piggybacks onto one end of the tiny PCB and adds another 8MB of RAM. Since existing expansions for bigger Pis are already called "hats," he's dubbed this expansion… Underpants.

Youtube Video

One of many remarkable elements of his setup is that he used original Inmos IMSC011 silicon to connect the transputer links to a PC via an Arduino, and he's also demonstrated his interface talking equally well to original transputer hardware.

Although the transputers themselves were not a commercial success, a lot of software and hardware came out of the project, including the now open-source HeliOS parallel operating system and the Occam parallel programming language. In the 1980s, transputers were used to add extra grunt to both Atari and Amiga hardware. More recently, the processors' design inspired the XMos XCore processor, used among other things as a coprocessor in a modern Amiga. ®

Bootnote

The term "programmer-archaeologist" is taken from Vernor Vinge's classic novel A Deepness in the Sky. The definition, a few paragraphs long, is on Goodreads here and is well worth reading – as is the novel.

Similar topics


Other stories you might like

Biting the hand that feeds IT © 1998–2022