Excited by the idea of Soft Processors

Excited by the idea of Soft Processors

I was spending some time the other day looking at Qi Hardwares’ latest project Milkymist One. It is a SoC with the mico32 core (CPU). The mico32 is a free Soft Processor that runs on various FBGAs.

From my point of view the biggest benefit of a Soft Processor is the ability to accelerate dynamic languages with high level (CISC) instructions. The primitive (natively implemented routines) of languages like Python, Smalltalk (SqueakVM, GST), Ruby try to remain stable over time. With a Soft Processor one could share the knowledge of the object layout with the CPU and handle certain routines directly in the CPU.
This is the old battle between CISC, RISC, the speed of RAM and complexity. If things are easy things are faster (RISC) vs. if the CPU knows more it can do things in a better way. I think for script languages (with its own instruction fetch, decode, execute) an implementation in the CPU could probably do a lot better.
The question will be how easily one can reconfigure the Soft Processor, how easily binutils will handle new instructions and how open projects will be to implementations in hardware.
I am excited about the Milkymist…
Comments are closed.