Intel Virtualization Technology (VT) Explained
By Gabriel Torres on December 16, 2005


Introduction

Intel has launched two Pentium 4 CPUs – 672 and 662 – supporting the new Intel Virtualization Technology (VT). Formerly known as Vanderpool, this technology enables a CPU to act as if it were several CPUs working in parallel, in order to enable several operating systems to run at the same time in the same machine. In this tutorial we will explain everything you need to know about this new technology.

Virtualization technology is nothing new. There is some software on the market that enables virtualization and probably VMware is the most famous one. With this technique, a single CPU can act if it were several CPUs running in parallel, allowing the system to run several operating systems at the same time.

You may confuse virtualization with multitasking or even with Hyper-Threading. On multitasking, there is a single operating system and several programs running in parallel.  On virtualization, you can have several operating systems running in parallel, each one with several programs running. Each operating system runs on a “virtual CPU” or “virtual machine”. And Hyper-Threading simulates two CPUs were there is just one physical CPU for balancing performance using SMP (Symmetric Multi Processing), and these two CPUs cannot be used separately.

Multitasking
Figure 1: Multitasking.

Hyper-Threading
Figure 2: Hyper-Threading.

Virtualization
click to enlarge
Figure 3: Virtualization.

Of course if a CPU has both Hyper-Threading and Virtualization Technology each virtual CPU will appear to the operating system as if two CPUs are available on the system for symmetric multiprocessing.

If you pay close attention, Virtualization Technology uses the same idea of Virtual 8086 (V86) mode, which is available since 386’s. With V86 mode you can create several virtual 8086 machines to run DOS-based programs in parallel. With VT you can create several “complete” virtual machines to run full operating systems in parallel.

But if there are software like VMware that enables virtualization, why implement Virtualization Technology inside the CPU? The advantage is that CPUs with Virtualization Technology have some new instructions to control virtualization. With them, controlling software (called VMM, Virtual Machine Monitor) can be simpler, thus improving performance compared to software-only solutions.

How It Works

Processors with Virtualization Technology have an extra instruction set called Virtual Machine Extensions or VMX. VMX brings 10 new virtualization-specific instructions to the CPU: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF and VMXON.

There are two modes to run under virtualization: root operation and non-root operation. Usually only the virtualization controlling software, called Virtual Machine Monitor (VMM), runs under root operation, while operating systems running on top of the virtual machines run under non-root operation. Software running on top of virtual machines is also called “guest software”.

To enter virtualization mode, the software should execute the VMXON instruction and then call the VMM software. Then VMM software can enter each virtual machine using the VMLAUNCH instruction, and exit it by using the VMRESUME. If VMM wants to shutdown and exit virtualization mode, it executes the VMXOFF instruction.

Virtualization Technology
click to enlarge
Figure 4: Virtualization technology operation.

Each guest shown on Figure 4 can be a different operating system, running its own software (even several programs at the same time as we have shown on Figure 3).

Conclusions

From Intel datasheet: “Intel Virtualization Technology requires a computer system with a processor, chipset, BIOS, Virtual Machine Monitor (VMM) and for some uses, certain platform software enabled for it. Functionality, performance or other benefit will vary depending on hardware and software configurations. Intel Virtualization Technology-enabled BIOS and VMM applications are currently in development.”

So far, VMware Workstation 5 (which costs between USD 189.00 and USD 199.00) and VMware Player (which is free but you need to have virtual machines images created with Workstation or other software ready; on http://www.vmware.com/vmtn/vm/ you can find a lot of pre-build virtual machines for several different operating systems) support Intel’s Virtualization Technology.

It is not clear to us if Intel will release any VMM software on its own or if they will just wait for other vendor to change their virtualization software to support VT.

As for the BIOS, the solution is to wait for motherboard manufacturers to release VT-enabled BIOS (or at least certify that your current motherboard BIOS works fine with VT).

On the good side VT promises to have a better performance than VMWare, but we will have to wait until VT VMM software reaches the market to check if this is really true or it is just Intel propaganda.

Originally at http://www.hardwaresecrets.com/article/263


© 2004-9, Hardware Secrets, LLC. All Rights Reserved.

Total or partial reproduction of the contents of this site, as well as that of the texts available for downloading, be this in the electronic media, in print, or any other form of distribution, is expressly forbidden. Those who do not comply with these copyright laws will be indicted and punished according to the International Copyrights Law.

We do not take responsibility for material damage of any kind caused by the use of information contained in Hardware Secrets.