Sign in with
Sign up | Sign in

Hardware-Assisted Virtualization Support

Upgrading And Repairing PCs 21st Edition: Processor Features
By

The ability to run multiple operating systems on a single computer, a technology known as virtualization, was originally developed for IBM mainframe computers in 1965. However, it has also been available in PCs for over a decade. By running multiple operating systems and applications on a single computer, a single computer can be used for multiple tasks, can support legacy applications that no longer run on a current operating system, and makes technical support of a wide range of operating systems, utilities, applications, and web browser versions from a single system feasible.

Virtualization can take two forms:

  • Hypervisor/client
  • Host/guest

With either type of virtualization, a program called a virtual machine manager (VMM) is used to create and manage a virtual machine (VM), which is a section of RAM and hard disk space that is set aside for use by an operating system and its applications. Once a VM is created and started, the user can install an operating system supported by the VMM, install any utilities designed to make the operating system work better inside the VM, and can use the VM as if it is the only operating system running on the hardware. The disk space used by a VM is usually dynamic, expanding from a small size to a pre-set maximum only as needed, and the RAM allocated to a VM is available for other processes when the VM is closed.

In hypervisor/client virtualization, the virtual machine manager (VMM) runs directly on the hardware, enabling VMs to go through fewer layers of emulation for faster performance than with host/guest virtualization. This type of virtualization is sometimes referred to as Type 1 or bare-metal virtualization. This is the type of virtualization performed by Microsoft Hyper-V and most server-class virtualizers.

In host/guest virtualization, a host operating system runs a virtual machine manager (VMM) program. The VMM is used to create and manage operating systems loaded as guests. In this type of virtualization, the connections between hardware and the virtual machine must pass through two layers: the device drivers used by the host operating system and the virtualized drivers used by the VMM. The multilayered nature of host/guest virtualization makes this type of virtualization relatively slow. It is also referred to as Type 2 virtualization, and Microsoft Virtual PC and Windows Virtual PC are examples of this type of virtualization.

Most virtualization programs for Windows-based PCs, such as Microsoft Virtual PC 2004 and 2007, use host/guest virtualization. To enable virtualization to run faster and make virtualization more useful, both Intel and AMD have added hardware-assisted virtualization support to their processors. The original edition of Windows Virtual PC for Windows 7 required the use of processors with hardware-assisted virtualization support with the BIOS configured to enable this feature. Although the current version of Windows Virtual PC does not require the use of processors with hardware-assisted virtualization, this feature is highly desirable for any computer that will be used for virtualization.

Note: Windows 8 Pro does not support Windows Virtual PC. Instead, it includes Hyper-V Client. Enable it through the Add/Remove Features from Windows dialog in the Control Panel.

AMD-V

AMD refers to its hardware-assisted virtualization support as AMD-V, although BIOS setup programs might also identify it as VMM or virtualization. Support for AMD-V is almost universal across its processors starting with models supporting Socket AM2 and their mobile counterparts up through current processors for AM3+ and FM2 sockets.

Intel VT-x and VT-D

Intel refers to its hardware-assisted virtualization support as Intel VT-x. Intel supports VT-x on all of its second-generation and third-generation Core i3/i5/i7 processors, and with certain models in older product families. Intel processors with VT-D support also virtualize directed I/O for faster performance of I/O devices in a virtualized environment.

VIA VT

VIA Technologies refers to its hardware-assisted virtualization support as VIA VT. It is present in all Nano-family processors as well as QuadCore and Eden X2 processor families.

Enabling Hardware-Assisted Virtualization Support

To enable hardware-assisted virtualization support on a computer, the following must occur:

  • The installed process must support hardware-assisted virtualization
  • The BIOS must support hardware-assisted virtualization
  • The BIOS settings for hardware-assisted virtualization must be enabled
  • A VMM that supports hardware-assisted virtualization must be installed

Note: To determine if a system includes a processor that supports hardware-assisted virtualization, use CPU-Z, and check BIOS settings.

The following sections discuss the major features of these processors and the different approaches Intel and AMD take to bring 64-bit multicore computing to the PC.

Ask a Category Expert

Create a new thread in the Reviews comments forum about this subject

Example: Notebook, Android, SSD hard drive

Display all 18 comments.
This thread is closed for comments
Top Comments
  • 13 Hide
    ta152h , October 31, 2013 12:30 AM
    Ugggh, got to page two before being disgusted this time. This author is back to writing fiction.

    The Pentium (5th generation, in case the author didn't know, thus the "Pent"), DID execute x86 instructions. It was the Pentium Pro that didn't. That was the sixth generation.

    CISC and RISC are not arbitary terms, and RISC is better when you have a lot of memory, that's why Intel and AMD use it for x86. They can't execute x86 instructions effectively, so they break it down to RISC type operations, and then execute it. They pay the penalty of adding additional stages in the pipeline which slows down the processor (greater branch mispredict penalty), adds size, and uses power. If they are equal, why would anyone take this penalty?

    Being superscalar has nothing to do with being RISC or CISC. Admittedly, the terms aren't carved in stone, and the term can be misleading, as it's not necessarily the number of instructions that defines RISC. Even so, there are clear differences. RISC has fixed length instructions. CISC generally does not. RISC has much simpler memory addressing modes. The main difference is, RISC does not have microcoding to execute instructions - everything is done in hardware. Obviously, this strongly implies much simpler, easier to execute instructions, which make it superior today. However, code density is less for RISC, and that was very important in the 70s and early 80s when memory was not so large. Even now, better density means better performance, since you'll hit the faster caches more often.

    This article is also wrong about 3D Now! It was not introduced as an alternative to SSE, SSE was introduced as an alternative to 3D Now!, which predated SSE. In reality, 3D Now! was released because the largest difference between the K6 and Intel processors was floating point. Games, or other software that could use 3D Now!, rather than relying entirely on x87 instructions, could show marked performance improvement for the K6-2. It was relatively small to implement, and in the correct workloads could show dramatic improvements. But, of course, almost no one used it.

    The remarks about the dual bus are inaccurate. The reason was that motherboard bus speeds were not able to keep up with microprocessors speeds (starting with the 486DX2). Intel suffered the much slower bus speed to the L2 cache on the Pentium and Pentium MMX, but moved the L2 cache on the same processor package (but not on the same die) with the Pentium Pro. The purpose of having the separate buses was that one could access the L2 cache at a much higher speed; it wasn't limited to the 66 MHz bus speed of the motherboard. The Pentium Pro was never intended to be mainstream, and was too expensive, so Intel moved the L2 cache onto the Slot 1 cartridge, and ran it at half bus speed, which in any case was still much faster than the memory bus.

    That was the main reason they went to the two buses.

    That was as far as I bothered to read this. It's a pity people can't actually do fact checking when they write books, and make up weird stories that only have a passing resemblance to reality.

    And then act like someone winning this misinformation is lucky. Good grief, what a perverse world ...

Other Comments
  • 2 Hide
    k1114 , October 30, 2013 10:11 PM
    Keep it coming.
  • 1 Hide
    renzhe , October 30, 2013 10:39 PM
    9412 pins; imagine that.
  • 13 Hide
    ta152h , October 31, 2013 12:30 AM
    Ugggh, got to page two before being disgusted this time. This author is back to writing fiction.

    The Pentium (5th generation, in case the author didn't know, thus the "Pent"), DID execute x86 instructions. It was the Pentium Pro that didn't. That was the sixth generation.

    CISC and RISC are not arbitary terms, and RISC is better when you have a lot of memory, that's why Intel and AMD use it for x86. They can't execute x86 instructions effectively, so they break it down to RISC type operations, and then execute it. They pay the penalty of adding additional stages in the pipeline which slows down the processor (greater branch mispredict penalty), adds size, and uses power. If they are equal, why would anyone take this penalty?

    Being superscalar has nothing to do with being RISC or CISC. Admittedly, the terms aren't carved in stone, and the term can be misleading, as it's not necessarily the number of instructions that defines RISC. Even so, there are clear differences. RISC has fixed length instructions. CISC generally does not. RISC has much simpler memory addressing modes. The main difference is, RISC does not have microcoding to execute instructions - everything is done in hardware. Obviously, this strongly implies much simpler, easier to execute instructions, which make it superior today. However, code density is less for RISC, and that was very important in the 70s and early 80s when memory was not so large. Even now, better density means better performance, since you'll hit the faster caches more often.

    This article is also wrong about 3D Now! It was not introduced as an alternative to SSE, SSE was introduced as an alternative to 3D Now!, which predated SSE. In reality, 3D Now! was released because the largest difference between the K6 and Intel processors was floating point. Games, or other software that could use 3D Now!, rather than relying entirely on x87 instructions, could show marked performance improvement for the K6-2. It was relatively small to implement, and in the correct workloads could show dramatic improvements. But, of course, almost no one used it.

    The remarks about the dual bus are inaccurate. The reason was that motherboard bus speeds were not able to keep up with microprocessors speeds (starting with the 486DX2). Intel suffered the much slower bus speed to the L2 cache on the Pentium and Pentium MMX, but moved the L2 cache on the same processor package (but not on the same die) with the Pentium Pro. The purpose of having the separate buses was that one could access the L2 cache at a much higher speed; it wasn't limited to the 66 MHz bus speed of the motherboard. The Pentium Pro was never intended to be mainstream, and was too expensive, so Intel moved the L2 cache onto the Slot 1 cartridge, and ran it at half bus speed, which in any case was still much faster than the memory bus.

    That was the main reason they went to the two buses.

    That was as far as I bothered to read this. It's a pity people can't actually do fact checking when they write books, and make up weird stories that only have a passing resemblance to reality.

    And then act like someone winning this misinformation is lucky. Good grief, what a perverse world ...

  • 0 Hide
    Reynod , October 31, 2013 3:23 AM
    ta152h sir you are correct.

  • 0 Hide
    spookyman , October 31, 2013 5:47 AM
    Yes you are correct on the bus issue. VESA local bus was designed to overcome the limitations of the ISA bus.

    As for the reason Intel went with a slot design for the Pentium 2 was to prevent AMD from using it. You can patent and trademark a slot design.

    As for the Pentium Pro, it had issues from handling 16bit x86 instruction sets. The solution was to program around it. The was an inherent computational flaw with the Pentium Pro too.
  • 0 Hide
    Kraszmyl , October 31, 2013 5:54 AM
    I don't think there is a single page that isn't piled with inaccurate or incomplete information.......this is perhaps the worst thing I've ever read on tomshardware and I don't see how you let it get published.
  • 0 Hide
    therogerwilco , October 31, 2013 6:22 AM
    Kinda nice for generic info, was hoping for more explanation of some of the finer points of cpu architecture
  • 7 Hide
    Reynod , October 31, 2013 6:56 AM
    Perhaps the most important thing to note from this is just how clever some of our users are ... so get into the forums and help out the n00bs with their problems guys !!

    :) 
  • 1 Hide
    Sprongy , October 31, 2013 8:20 AM
    Not to be anal but aren't all Core i3 processors, dual cores (2). Some have Hyper-Threading to make it like 4 cores. The last chart above should read Core i3 - 2 cores. Just saying...
  • 0 Hide
    ingtar33 , October 31, 2013 8:37 AM
    Quote:
    Not to be anal but aren't all Core i3 processors, dual cores (2). Some have Hyper-Threading to make it like 4 cores. The last chart above should read Core i3 - 2 cores. Just saying...


    not on mobile. some mobile i3s are single core, same with the mobile i5s... those are all dual core... with hyperthreading.

    there are even dual core i5s in haswell on the desktop. (they are the ones with a (t) after the number)
  • 2 Hide
    rolli59 , October 31, 2013 9:15 AM
    Well although it is full of minor misinformation it is a good insight for a reader that does not know much about it.
  • -1 Hide
    ezorb , October 31, 2013 9:17 AM
    please stop putting this crap on the site, its better to post nothing on a slow Friday
  • 1 Hide
    Nintendo Maniac 64 , October 31, 2013 11:25 AM
    Llano is not based on Bulldozer but rather is based on a slightly improved K10 (typically dubbed "K10.5").
  • 0 Hide
    ronch79 , October 31, 2013 5:50 PM
    Do AMD processors also feature reprogrammable microcode? I'm using an FX-8350 and before it I was using a Phenom II X4 925 (unlocked X3 720).
  • 0 Hide
    turboflame , November 1, 2013 9:45 AM
    Yeah, this wasn't particularly well researched. Quite a few minor mistakes, not to mention it reads like an Intel advertisement, with AMD's contribution to modern PCs being either downplayed or omitted entirely.
  • 0 Hide
    Geef , November 1, 2013 4:16 PM
    After seeing that story they had up a couple days ago about HUBS where the person actually talked about what SWITCHES do, not hubs.
    Since then I make sure I come into Tomshardware articles expecting stuff to be incorrect. It makes me sad, I used to come here for new tech info but now I'm not so sure...
  • 0 Hide
    catfishtx , November 4, 2013 11:44 AM
    I worked for Intel during the time period that they released the Pentium MMX processors. They told us that MMX stood for Multi Media eXtensions.
  • 0 Hide
    falcosoft , November 17, 2013 11:54 AM
    "Note: Most applications that formerly used floating-point math now use MMX/SSE instructions instead. These instructions are faster and more accurate than x87 floating-point math."

    Quite the contrary, x87 CAN BE more accurate than SSE but not the way around. X87 knows and uses 80 bit floating point data internally while SEE (and AVX) can only use 64 bit floating point data. This sentence will be true if 128 bit precision is implemented in the future.