Skip to content

Instantly share code, notes, and snippets.

@woachk
Last active June 16, 2018 19:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save woachk/45856bcc3d96726e0352e05f206a21c6 to your computer and use it in GitHub Desktop.
Save woachk/45856bcc3d96726e0352e05f206a21c6 to your computer and use it in GitHub Desktop.
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