The Intel SDE Emulator is software that enables software developers to simulate different x86 instruction set architectures on their systems. It helps developers analyze and optimize their software for specific processors by providing a detailed performance analysis. This software supports both Linux and Windows and can be used to validate software code for compatibility. It enables the development of optimized software for a range of Intel processors.
Intel SDE supports the processor codenamed Westmere and Intel has released an updated version of the Intel Compiler that allows generation of SSE4, AES, and PCLMULQDQ instructions. Another version of the Intel Compiler that will support the Intel AVX instructions is expected to be released in the first quarter of 2009. The GNU Binutils/gas (version 2.18.50.0.8 or later), YASM, and NASM also support SSE4, AES, PCLMULQDQ, and Intel AVX.
Intel SDE is built on the Pin dynamic binary instrumentation system and the XED encoder decoder. Pin controls the execution of an application and examines each static instruction in the application approximately once as it builds traces for execution. During this process, called instrumentation, Pin asks Intel SDE if the instruction should be emulated or not. If so, Intel SDE tells Pin to skip over that instruction and instead branch to the appropriate emulation routine, tell Pin how to invoke that emulation function and what arguments to pass, etc.
Intel SDE queries CPUID to figure out what features to emulate. It also modifies the output of CPUID so that compiled applications that check for the emulated features are told that those features exist. Moreover, Intel SDE comes with several emulator-enabled Pin tools and the XED disassembler that are helpful for developers, including a basic emulator, mix histogramming tool, debugtrace ASCII tracing tool, footprint tool, and XED command-line tool that efficiently disassembles PECOFF or ELF binary executables.
In summary, Intel SDE is a powerful tool for developers to explore and become familiar with new instruction set extensions. With support for SSE4, AES, PCLMULQDQ, and Intel AVX instructions, it promotes software readiness to take advantage of processor capabilities. The software is built on the Pin dynamic binary instrumentation system and the XED encoder decoder, making it a reliable and efficient asset for developers. It also provides useful emulator-enabled Pin tools and the XED disassembler, making it an essential tool for developers.
Version 1.70: N/A