Check If CPU Supports Second Level Address Translation (SLAT)

Follow

Overview

Windows Server “8” Beta is now available for evaluation; you can download it from Microsoft. One of the advanced requirements is support for Second Level Address Translation, essential for Hyper-V features.

Microsoft lists the system requirement for Windows 8 installation as follows:

  • Processor: 1 gigahertz (GHz) or faster
  • RAM: 1 gigabyte (GB) (32-bit) or 2 GB (64-bit)
  • Hard disk space: 16 GB (32-bit) or 20 GB (64-bit)
  • Graphics card: Microsoft DirectX 9 graphics device or higher

Other new Windows 8 features have some additional hardware requirements, but in this article I will focus on one of the specific requirements for the embedded Hyper-V feature that Windows 8 Client offers, which is to have a CPU with Second Level Address Translation (SLAT) capabilities. Note that SLAT can also be enabled at the BIOS.

Note: While SLAT is a requirement from the Windows 8 Client perspective (i.e. you cannot install the Hyper-V role on the Windows 8 Client without having a CPU that supports SLAT), it is NOT a mandatory requirement on Windows 8 Server (i.e. while lacking SLAT will affect VM performance, it is still possible to run the Hyper-V role on a Windows 8 Server without SLAT).

What is SLAT?

Second Level Address Translation (SLAT) or Second Level Address Translation, is a technology that was applied on Intel and AMD processors.

Intel’s SLAT technology is represented as EPT (Extended Page Table). This technology is available in processors with virtualization support: core i7, i5, i3, Pentium G6950 and other appropriate Xeons. It is not available in Core 2 based or other earlier Intel processors.

AMD’s SLAT technology is represented as RVI (Rapid Virtualization Indexing) technology in their third generation Opteron processors codenamed Barcelona.

How to Check if Your Machine’s Processor Supports SLAT?

A cool and free Windows Sysinternals tool called Coreinfo (currently at v3.04) can help you check whether your CPU supports SLAT.

  • Download Coreinfo from: http://technet.microsoft.com/en-us/sysinternals/cc835722 and save it locally to your hard drive.
  • Open the command prompt with elevated credentials by clicking on Start -> type CMD, then right-click Command Prompt and select Run as administrator from the menu:

CPU Run As Administrator Screen

  • Browse to the location you saved the exe file you have just downloaded and type the following command:
    coreinfo.exe –v

In case your machine runs a CPU that support SLAT you will see an asterisk “*” next to EPT field as shown in the example below:

CPU Supports SLAT Asterisk

If your machine doesn’t run a CPU that supports SLAT you will not see the asterisk, but a minus “-“ appears instead, as shown in the example below:

CPU Does Not Support SLAT Example

Just for clarification, if you run coreinfo on an AMD based computer, you will get a value called NPT (Nested page Tables) instead of EPT. The asterisk appears or not whether it supports SLAT or not.

Conclusion

With an understanding of Second Level Address Translation, you can now move forward and install Windows 8 Client/Server beta on your computer, or choose to upgrade your CPU first, in order to enjoy the fantastic new capabilities of Hyper-V.

FAQs

How does Second Level Address Translation impact gaming performance in virtual machines?

Second Level Address Translation can significantly improve gaming performance in virtual machines by reducing memory access latency and overhead. Without SLAT, the system needs to perform multiple memory translations, which can cause notable fps drops and stuttering in games running in VMs.

Can Second Level Address Translation be disabled if it causes compatibility issues?

Yes, Second Level Address Translation can be disabled through BIOS settings if needed, though this isn’t recommended as it may significantly impact virtualization performance and prevent certain hypervisor features from functioning.

What’s the difference between Second Level Address Translation implementation in server vs. desktop environments?

Second Level Address Translation implementations vary between server and desktop environments primarily in their memory management strategies. Server environments typically handle larger memory pools and multiple concurrent VMs, requiring more sophisticated SLAT implementations.

How does Second Level Address Translation affect power consumption in modern processors?

Second Level Address Translation technology typically results in slightly higher power consumption due to the additional translation layer, but modern processors have optimized this process to minimize the power impact while maintaining performance benefits.

What role does Second Level Address Translation play in cloud computing infrastructure?

Second Level Address Translation is crucial in cloud computing as it enables efficient memory virtualization across multiple tenant environments, reducing overhead and improving resource utilization in large-scale cloud deployments.