AMD Virtualization (AMD-V)
What is AMD Virtualization (AMD-V)?
AMD-V (AMD Virtualization) technology refers to a set of hardware extensions and on-chip features for the AMD family of x86 microprocessors. Advanced Micro Devices (AMD) designed the technology to perform the repetitive tasks that software normally performs and to improve resource use and virtual machine (VM) performance.
First announced in 2004 and introduced in 2006, AMD-V technology added VM capability via VM instructions in AMD's x86 CPU chips. The technology uses hardware to simplify the tasks that VM managers normally perform via software emulation. It does this by incorporating hardware virtualization extensions in the processor's instruction set, thus enhancing the instruction set and simplifying VM tasks.
The emergence of AMD-V
Early virtualization efforts relied on software emulation to replace hardware functionality. But software emulation can be slow and inefficient. Furthermore, when many virtualization tasks and operations are handled through software, VM behavior and resource control are often poor, resulting in unacceptable VM performance on the server. It also limits virtualization, therefore, restricting the power of the system to be emulated.
Earlier processors lacked the internal microcode to handle intensive virtualization tasks in hardware. AMD addressed this problem by creating processor extensions that could offload the repetitive and inefficient work from the software. AMD's first-generation virtualization extensions were developed under the code name "Pacifica" and published as AMD Secure Virtual Machine (SVM). The name was later changed to AMD Virtualization, which was then abbreviated to AMD-V.
AMD-V technology allows for the handling of virtualization tasks through processor extensions, traps and the emulation of virtualization. As a result, tasks through the operating system (OS) were essentially eliminated, vastly improving VM performance on the physical server. By enabling hardware virtualization, AMD-V gives more processing power to the emulated system and allows more VMs to run simultaneously.
Which AMD processors support AMD-V?
In the beginning, AMD's Athlon 64 X2 and Athlon 64 FX family of processors incorporated AMD-V technology. By 2009, the technology was available on many other AMD processors, including Socket AM2 and Turion 64 X2, as well as 2nd- and 3rd-generation Opteron, Phenom and Phenom II processors.
AMD's Opteron and Phenom II processors support a 2nd-generation hardware virtualization technology called Rapid Virtualization Indexing (RVI), which was later adopted by Intel as Extended Page Tables (EPT). Today, all Zen-based AMD processors support AMD-V.
What is AMD-V 2.0?
AMD-V 2.0, the company's advanced virtualization technology, includes additional features, such as I/O-level virtualization and AMD extended migration. I/O virtualization enables direct device access by a VM, meaning it bypasses the hypervisor to isolate VMs and improve application performance. Extended migration enables live VM migration between available AMD Opteron processor generations.
Here are other advanced features available with AMD-V 2.0:
- Tagged TLB. Facilitates efficient switching between VMs to improve the responsiveness of many virtualized applications.
- RVI. Can improve system performance by enabling hardware-based VM memory management.
- AMD-V extensions. Enables multiple OS and applications to run simultaneously on the same computer.
Together, these features and processor extensions in AMD-V 2.0 enable more satisfying user experiences and deliver near-native application performance.
AMD-based systems with AMD-V 2.0 technology also offer the following benefits:
- Streamlined IT management.
- Reduced costs and increased utilization.
- Fast provisioning and deployment.
- Support for legacy apps to run older applications on newer hardware.
- Lower downtime to increase business productivity.
- Virtual desktop infrastructure for higher security.
How to check if AMD-V is enabled
Virtualization technology allows for different OSes to run simultaneously on the same system. With this capability, a multi-OS environment can be established for software product development and testing, and to reduce hardware costs by combining multiple servers on one physical server.
On older computers, virtualization must be enabled in the system's BIOS. But to use the technology -- and by extension AMD-V -- a user must first confirm if the computer supports it at the hardware level.
To do this, it's best to download the AMD-V Detection Utility and extract its files. After right-clicking on the .exe file, select the run as administrator option. The user will then be notified about the status of virtualization on their system.
For Intel-powered systems, the steps to check if virtualization is enabled are similar:
- Download and install the Intel Processor Identification Utility.
- Click on the CPU Technologies tab.
- If "Intel virtualization technology" is checked, it means that virtualization is supported on the computer.
On new computers that use Unified Extensible Firmware Interface (UEFI) instead of BIOS, AMD-V can be enabled easily within the OS by an application that wants to run it.
How to enable AMD-V
In some systems, AMD-V technology is disabled in the BIOS settings (or by the host OS) by default. In the BIOS, AMD-V is named SVM mode. For the OS to take advantage of AMD-V, it must first be enabled by following these steps:
- Press the F2 key at the startup BIOS setup.
- Press the right arrow key to go to the "advanced" tab.
- Select virtualization, and then press enter.
- Select enabled, and press enter.
- Press the F10 key, and select yes.
- Press enter to save changes.
- Reboot into Windows.
Once the changes made in the BIOS are saved, the computer will reset and boot into the OS. At this point, AMD-V will be enabled and the OS will run VM software (or other software that relies on virtualization).
Intel's virtualization technology
Like AMD chips, Intel chips are also enabled with virtualization technology (VT). Intel's VT-x is virtualization technology for the x86 processor. In 2005, the Pentium 4 family was the first to support VT-x. Since then, Intel processors for server, desktop and mobile support VT-x (with some exceptions).
Intel VT-x provides basic support for virtualization software. Other variations are available, such as VT-d, which provides support for the virtualization of I/O transactions. Similarly, VT-c (virtualization technology for connectivity) is implemented in I/O devices.
Learn more on how to enable AMD-V in BIOS to remediate error codes.