Thursday, September 15, 2011

How to Check if Your CPU Supports Second Level Address Translation (SLAT)



Windows 8 will bring a lot of new features to the Windows computing environment, one of which will be Hyper-V. In order to run Hyper-V your processor must support Second Level Address Translation (SLAT). Read on to find out if your processor supports SLAT.

What Is SLAT?

Second Level Address Translation is a technology introduced in both Intel and AMD flavors of processors. Both companies call their version of the technology different names, Intel’s version is called EPT(Extended Page Tables) and AMD calls theirs RVI (Rapid Virtualization Indexing). Intel introduced Extended Page Tables in its processors that were built on the Nehalem architecture, while AMD only introduced RVI in their third generation of Opteron processors codenamed Barcelona. Hyper-V uses this to perform more VM memory management functions and reduce the overhead of translating guest physical addresses to real physical addresses. By doing this, Hypervisor CPU time is significantly reduced, and more memory is saved for each VM.

How It Works

The processor has a Translation Lookaside Buffer (TLB) that supports virtual to physical memory address translation. A TLB is a cache on the processor that contains recently used mappings from the page table. When a virtual to physical address translation is required, the TLB checks it’s cache to determine whether or not it contains the mapping information. If the TLB contains a match, the physical memory address is provided and the data is access. If the TLB doesn’t contain a record, a page error occurs, and the Windows checks the page table for the mapping information. If Windows finds a mapping, it is written to the TLB, the address translation takes place, and then the data is accessed. Because of this buffer, the hypervisors overhead is substantially decreased.

So What?

With all the hype surrounding Windows 8, it has been made known that Windows 8 will come with Hyper-V as a vitalization platform. While that might not appeal to everyone at first glance, it has been thought that this will be the only form of backwards compatibility, somewhat like XP Mode. SLAT will be required for Hyper-V in Windows 8.

How Do I Know If I Have SLAT?

To find out if your processor supports SLAT, you will need to download a copy of CoreInfo(see link at end). Once you have downloaded it you will need to extract it. You should extract it so that coreinfo is in the root of your C:\ drive.

You need open an elevated command prompt, read “run as administrator”.

Now you will need to navigate to the C: Drive, you can do this by typing “cd c:\”

To see if your processor supports SLAT you will need to run “coreinfo.exe -v”. On an Intel if your processor supports SLAT it will have an asterix in the EPT row. This is seen in the screenshot below.

On an AMD if your processor supports SLAT it will have an asterix in the NPT row.

If your processors dont support SLAT you will see a dash in the EPT or NPT rows.
You can download CoreInfo here.

No comments:

Post a Comment