(Before anyone jumps in with "why don't you use a desktop machine, it'll be faster", this is for fun, not a practical project.)
(Before anyone jumps in with "why don't you use a desktop machine, it'll be faster", this is for fun, not a practical project.)
Though yeah, I doubt it would be very fast regardless, but it's something.
edit: I assume you're aware of the OTG port.
[1]: https://linux-sunxi.org/F1C100s (datasheet)
https://web.archive.org/web/20161109230651/https://bengross....
You won’t be able to bitbang at those speeds, so you’ll definitely have to drop down a layer in your stack/abstractions but since you mentioned I2C I figured you’d probably be OK considering this.
[0]: https://www.winbond.com/resource-files/W25Q128JW_DTR%20RevD%...
I have one I used to build a security cam system. Pretty neat little board.
It's about twice the price though, at least from the brief look[2] I had.
It's hard to imagine this could have been competitive with a $25 million pile of beige PC boxes from the same era, but the PCs would have been starved of I/O (10 Mbps shared thick ethernet anyone?) so only applications which don't need much I/O between the nodes would be possible.
A "modern" CM-5 would ironically look much more like the pile of beige PCs, because it will have much less I/O -- these cheap chips only seem to have at most one or two fast channels (eg. ethernet and SDIO). There's no way to build these into a hypercube. It will be constantly limited by bandwidth and contention addressing other nodes in the cluster.
So I'd only build it for fun, not for practicality :-)
[0] https://en.wikipedia.org/wiki/SpiNNaker [1] https://www.youtube.com/watch?v=2e06C-yUwlc
Edit: It's a toroid, which seems an unusual choice (because 2D) for something that's meant to simulate a brain. I wonder if a simple 3D cubic connection network would have been possible by adding more links between physically adjacent boards.
The reason is that with 7 nodes I find I'm still logging into each Raspberry Pi and configuring it by hand. It's a bad habit for sure. With 100 nodes, there's no way I could possibly do that, forcing me to write software to control the nodes automatically.
Mine is more about using FPGAs for the communication fabric and RISC-V for processing, but similar.