January 26, 2011 posted by Antti Kantee
In April 2009 I got an email from Alessandro Forin containing
this picture as an attachment. His group
at Microsoft Research was investigating dynamically reconfigurable
computing and needed an operating system for testing purposes. I
was happy that they were using NetBSD for their research and was
especially pleased to learn that they had also evaluated another
general purpose open source OS but found NetBSD vastly superior
for their purposes. Jokingly I even suggested they should send
patches. A few months later I got another mail from Sandro saying:
"Believe it or not this might actually happen". There were a number
of issues to work on, including the paperwork for getting the
copyright transferred from Microsoft Corporation to The NetBSD
Foundation and forward-porting the NetBSD 4.x-based code to -current,
but now I am pleased to announce I have just committed the eMIPS
port to the NetBSD source tree.
The Microsoft Research eMIPS
page gives the following summary of the eMIPS architecture:
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. eMIPS runs NetBSD on the Xilinx ML401/2 (Virtex V4) XUP
(V5), and on the BEE3(4xV5).
What makes NetBSD/emips an appealing platform for researchers and
hobbyists interested in the MIPS architecture is the full availability
of the CPU and platform peripheral source code. Testing of
modifications can be done on FPGA platforms or in the Giano
system simulator which available for download here.
The NetBSD port page for eMIPS is at
Among other things, it contains links to hardware vendors and
installation instructions for NetBSD/emips using the Giano simulator.
daily autobuild system will eventually offer NetBSD/emips binaries
for download. Meanwhile,
Microsoft Research offers a download for NetBSD 4.0.1
In addition to the eMIPS port, Microsoft contributed a machine
independent framework for hardware accelerator scheduling, a
scheduling policy for it, and a secure executable format. They will
be proposed shortly on the tech-kern mailing list. Meanwhile,
please have fun with eMIPS!