← Back to context

Comment by LoganDark

8 days ago

Could you put a few thousand of these on a PCB and have a super duper tiny compute cluster?

Yes, if you want all the drawbacks of distributed computing with none of the advantages: You'd probably be stuck with something UART based as interconnect, Every core is gonna have way too little RAM to do anything useful, you are missing like half the instruction set (floating point operations in software), and power draw at 4mW minimum per core adds up quickly to something that an efficient laptop-CPU would use.

On top of all this, latency for anything is gonna be abysmal because the cores are so slow...

I honestly don't see an application where this is even close to desirable.

Would be fun, tough, to have a 10-stack of PCBs with 10 by 10 CPUs each for a thousand cores (=> ~4W power @1.8V).

  • Using it as a cluster is probably a bad idea, but you could probably build a 2d sensor grid using these. The 8 pin restriction is extremely limiting though. If you have an FSR matrix, you could connect a 2x2 grid to each MCU and then connect each row in a daisy chain configuration.

  • Maybe not practical as a cluster configuration, but it could certainly be used as a voice-generating device for a synthesizer, or as a controlling device for MIDI I/O, or .. both even of course, configurable according to the users needs/patch idea.

    • Yeah, but even for those applications you suffer from limited RAM a lot; with 16bit samples at 48kHz the thing has 10ms of audio buffer (stereo: 5ms) if you don't need RAM for anything else :S

      The ADC is really nice though, 1.5 MSPS is really good for such a small/low powered thing (fills the whole RAM in under half a millisecond).

      3 replies →

I'm reminded of TIS-100, a game where you program a cluster of tiny, parallel CPUs using a custom assembly language. It's painful to get basic stuff done, but you can do some amazing things with some effort.

  • I love TIS-100! I actually have a couple printed copies of the reference manual somewhere.

  • I stopped playing TIS100 after about 40 minutes becuase: a) the editors, come on man b) I realized I could just learn FPGA instead and it would be more useful. so I didn't do either

> Could you put a few thousand

If you had 1024 of these, you'd have a grand total of 1 MiB of RAM. You won't be compute clustering much with 1 MiB of RAM.

Yes, but also why would you? at 24MHz, you would be better off paying 100x the price ($25) for a 2.4GHz chip (easily doable). Something like a Raspbery Pi Zero 2 W already comes pretty close to that and without the penalty of memory communication/bandwidth.