Clustered Pi Picos made to run original Transputer code
- Reference: 1651862038
- News link: https://www.theregister.co.uk/2022/05/06/pi_pico_transputer_code/
- Source link:
The [1]Raspberry Pi Pico is a surprisingly capable device at $4 apiece, and one of its less well-known features is its eight programmable IO [2]state-machines on board. As programmer-archaeologist Andrew Menadue wrote in a [3]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 [4]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 [5]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.
[6]Fedora backs down on removing BIOS support… for now
[7]Did you know Twitter has an open-source arm? This is what it's been up to
[8]Unity and Trinity: New releases for forks of abandoned Linux desktops
[9]Mozilla browser Firefox hits the big 100
Menadue has also made a [10]series of seven videos showing the process of building the hardware and getting the software running. He has also shared the source code on [11]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.
[12]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.
[13]
Although the transputers themselves were not a commercial success, a lot of software and hardware came out of the project, including the [14]now open-source HeliOS parallel operating system and the [15]Occam parallel programming language. In the 1980s, transputers were used to add extra grunt to both [16]Atari and [17]Amiga hardware. More recently, the processors' design inspired the [18]XMos XCore processor, used among other things as a [19]coprocessor in a modern Amiga. ®
Bootnote
The term "programmer-archaeologist" is taken from Vernor Vinge's classic novel A Fire Upon the Deep. The definition, a few paragraphs long, is on Goodreads [20]here and is well worth reading – as is the novel.
Get our [21]Tech Resources
[1] https://www.theregister.com/2021/01/21/pi_pico/
[2] https://www.electronicsweekly.com/blogs/engineer-in-wonderland/little-look-rp2040s-programmable-i-o-state-machines-2021-04/
[3] http://trochilidae.blogspot.com/2021/07/stack-based-with-os-in-hardware.html
[4] https://github.com/pahihu/t4
[5] https://www.theregister.com/2011/08/18/heroes_of_tech_david_may/
[6] https://www.theregister.com/2022/05/06/fedora_backs_down_on_removing/
[7] https://www.theregister.com/2022/05/05/bluesky_update/
[8] https://www.theregister.com/2022/05/04/unity_trinity_desktops/
[9] https://www.theregister.com/2022/05/03/firefox_100_released/
[10] https://www.youtube.com/playlist?list=PLmsUjCHDm8bXeOmV5_i7aZKQJZLuQxaUp
[11] https://github.com/blackjetrock/picoputer
[12] https://www.youtube.com/watch?v=YS-xCZsu00U
[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/systems&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YnWajhhFrJSgAEXd93OSWgAAABM&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[14] https://www.theregister.com/2021/12/06/heliosng/
[15] http://occam-pi.org/
[16] http://dunfield.classiccmp.org/atw800/index.htm
[17] http://www.bambi-amiga.co.uk/amigahistory/prototypes/transputer.html
[18] https://www.xmos.ai/
[19] https://www.theregister.com/2010/06/21/amiga_x1000/
[20] https://www.goodreads.com/quotes/9427225-pham-nuwen-spent-years-learning-to-program-explore-programming-went-back
[21] https://whitepapers.theregister.com/
Blimey, pt II
I ran linux on a 4MB 386 and it functioned quite well on some tasks, the swap disk being a bit slow. I've played with minix and its quite capable though it does lack shit to play with. If this is stable then there's a whole new world of pocket computing that even MPs cant compete with.
Re: Blimey, pt II
While risking sounding like one of the "4 yorkshiremen" then ... 4MB ...you were lucky, I started computing with 1kB RAM (I remember the rush at school to build a 4kB memory *card* so we could play "star trek" on a 6800 system) - and forget about swapping - storage was a 1200baud casette... to think that now my PC has 16GB of RAM and 2-3TB of SSD (my first PC had a 40MB disk .... I was pretty irritatetd off that that was the smallest I could buy as a 10MB disk was about the size I felt I'd ever need)
"One decent programmer can keep half a dozen hardware engineers busy, and one decent hardware engineer can keep twenty programmers busy" - a quote from a friend who designed and built custom boards for PDP-11s back in the early 80's.
As someone who worked on the transputer and its "successor" ST20 valiantly fighting agaisnt the rise of ARM then my response to this person is "desist immediatley"!
(On the other hand, one of the reasons I applied to INMOS was having encountered occam my immediate thought was "how can I implement this on my Acorn Atom"!)
Is an Amiga still considered modern?
I loved that kit, having had an A500... but modern now might be stretching it these days,
That said the OS was way ahead of its time....
Blimey, this brings back memories!
When I was at uni we had a Meiko Computing Surface, which was a big box of Transputers, both T414s and T800s (one model had a FPU, the other didn't). By the time I got to use it they'd developed the MK083 on-board SPARC workstation and a virtualisation layer that allowed you to program transputers in C, not just Occam.
And the definitive book on Occam was written by Roy Dowsing, who taught us parallel processing in the second year at uni. I still have my copy. :-) https://www.amazon.in/Introduction-Concurrency-Aspects-Information-Technology/dp/0278000592
I've got a chip that I crowdfunded which I thought was something close to a transputer but 30 years on - relying on fast interprocesser communications to get the real grunt. Unfortunately its in a 16thC intricately carved oak cabinet thingy and a door has jambed so I cant get to it to reveal its true name*. It is interesting to see that people are looking down this path again. We should have enough data/code sets to get an idea it its useful.
*the cabinet might** be worth more than my house so I'm not going to try and break into it.
** I saw something with the same style of carving on it go for £15k and it would fit into the small bit I cant open!!