Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Only Microsoft.

Microsoft E2

Explicit data graph execution ISA

Hardware highlights

16-bit sized instructions in blocks of up to 128 instructions.

64 registers unified register file.

Known special-purpose registers: pr (TEB [TeStackLimit, TeStackBase]) SP and LR.

Software highlights

Supported by the NT kernel and MSVC. .NET Core supported, with RyuJIT working too.

_M_E2 is the architecture define on Windows for the E2 architecture.

Linux and FreeRTOS ports done for E2 by Microsoft Research, no tangible proof accessible though, unlike the Windows port, where it's possible to know that it exists outside of screenshots and other MS resources at conferences.

Resources

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/e2-heart2010.pdf

https://arxiv.org/pdf/1803.06617.pdf

https://twitter.com/sigarch/status/1004395534281396225

https://twitter.com/h0x0d/status/1007641460978544641 => http://web.archive.org/web/20160428161757/http://research.microsoft.com/en-us/projects/e2/

https://twitter.com/jangray/status/1004874394957578242

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment