A month ago Microsoft released a NetBSD port for their eMIPS (“Extensible MIPS”) platform. Now the port found its way into the NetBSD source tree. “The ‘extensible MIPS’ is a dynamically extensible processor for general-purpose, multi-user systems. The reconfigurable logic (Extensions) dynamically load/unload application-specific circuits. Extensions add specialized instructions to the processor, security monitors, debuggers, new on-chip peripherals. Extended Instructions dramatically speedup application programs, just by patching their binaries.” Besides the eMIPS port, Microsoft also contributed a machine independent framework for hardware accelerator scheduling, a scheduling policy for it, and a secure executable format.
Look nice, I hope some day we will have FPGA built in the CPU die so we can make ultra fast circuit on purpose instead of running heavy algorithm for things such as computer vision. Expendable CPU arch would be a way to do that.
I really wish I had the equipment to run this myself. Most of the mixed traditional CPU and FPGA systems I’ve seen before have been so non-integrated together that the CPU code and FPGA code might as well be running on physically separate systems.
It seems MS has an emulator you can test it on.
It’s probably windows-only, and available here: http://research.microsoft.com/en-us/projects/giano .