Sandro Forin is a Principal Researcher and manager of the Embedded and Reconfigurable System group.

Sandro received his PhD from University of Padova in 1987, with a thesis on debugging of distributed systems by means of deterministic execution replay.
He then joined the faculty at Carnegie-Mellon University and worked first on a distributed speech recognition system (Agora), and then on the Mach operating system, the OS that Apple uses today. Among his contributions to the Mach project were the MIPS and 64-bit processor support, the I/O subsystem, the distributed shared memory server, and the Unix server version of the OS (version 3.0).

In 1994, he joined Microsoft Research, betting that consumer electronics was where the next wave of system research would be. In 1995, he was part of the group who built the first interactive TV system (codename Tiger) and its Rialto operating system.
In 2000, he joined Gaetano Borriello in the “invisible computing” initiative, anticipating what today is known as “internet of things”. With Johannes Helander he built and distributed the MMLite OS (aka Microsoft Invisible Computing), the first OS from Microsoft available as open source.
In 2004 Microsoft released the “SPOT watch”, predecessor to the Apple watch (history repeats itself!). Sandro was part of the team that created that watch, in MSR.
Sandro has worked on networking, and was part of the team that shipped Winsock Direct in 2000. This was the first commercial system to support Remote-DMA, and what later became Infiniband.
In 2004, Sandro was part of the team that established the Land Speed Record, demonstrating a newfound performance level in the Windows networking stack.

Starting in the year 2000, Sandro has been crusading to convince his company to embrace FPGAs. Together with Neil Pittman, he built the eMIPS processor to study the security and latency implications of using a reconfigurable fabric in a general-purpose setting. eMIPS was the first microprocessor built and released by Microsoft as open source. Support for eMIPS is also integrated into the NetBSD OS. The Giano simulator is one of the tools he built to support software-hardware co-development.
With his research group, he has since demonstrated a number of FPGA-based accelerators including SPAM detection (6000-fold speedup), sequence-alignment (Smith-Waterman), Kinect-based skeleton recognition and then finger-tracking, secure computation, and more.

Sandro holds more than 20 patents, some of which might even be true inventions!
The more than 40 students that have interned on his group over the years have each left a cherished memory in his heart.



Established: February 12, 2007

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).


Established: February 12, 2007

Giano is a simulation framework for the full-system simulation of arbitrary computer systems, with special emphasis on the hardware-software co-development of system software and Real-Time embedded applications. <h2>Overview<h2> Giano allows the simultaneous execution of binary code on a simulated microprocessor and of Verilog code on a simulated FPGA, within a single target system capable of interacting in Real-Time with the outside world. The graphical user interface uses Visio to create the interconnection graph of the…

Microsoft Invisible Computing

Established: January 18, 2002

Microsoft Invisible Computing is a toolkit for building systems for invisible computing and embedded web services. Overview Microsoft Invisible Computing is a research prototype for making small devices part of the seamless computing world. It is available free of charge for research and educational use under the Microsoft Shared Source License. Microsoft Invisible Computing consists of compact middleware for constructing embedded web services applications and a small component based Real-Time Operating System with TCP/IP networking…









Embedded Systems Research at DemoFest’07
Oscar Almeida, Alessandro Forin, Philip Garcia, Johannes Helander, Nishith Khantal, Hong Lu, Karl Meier, Sibin Mohan, Henrik Frystyk Nielsen, Neil Pittman, Risto Serg, Bharat Sukhwani, Margus Veanes, Ben Zorn, Sarah Berry, Chris Boyce, David Chaszar, Brandon Culrich, Mikhail Kisin, Gabe Knezek, Warren Linam-Church, Steve Liu, Michael Stewart, Doug Toney, July 1, 2007, View abstract, Download PDF










Link description

FestSchrift Session 1: CMU Faculty and Staff


March 9, 2012


Rich Draves, Raj Reddy, M. Satyanarayanan, Alfred Spector, Alessandro Forin, Jonathan Chew, and Bill Bolosky


IBM Research Division, Microsoft Research


Microsoft eMIPS

December 2010

    Click the icon to access this download

  • Website

Microsoft Giano

December 2010

    Click the icon to access this download

  • Website

NetBSD for eMIPS

December 2010

    Click the icon to access this download

  • Website

Microsoft P2V

August 2008

    Click the icon to access this download

  • Website