What is iommu
Last updated: April 1, 2026
Key Facts
- IOMMU stands for Input/Output Memory Management Unit, a component in the computer's chipset
- Intel's IOMMU technology is called VT-d (Virtualization Technology for Directed I/O), while AMD calls theirs AMD-Vi (AMD Virtualization Integrity)
- IOMMUs enable device isolation and improve security by preventing unauthorized direct memory access by peripherals
- They are essential for virtualization, allowing virtual machines to directly access peripheral devices safely
- IOMMUs work alongside the CPU's MMU (Memory Management Unit) to manage all memory access in the system
Overview
An IOMMU (Input/Output Memory Management Unit) is a specialized hardware component typically integrated into a computer's chipset or processor. Its primary function is to manage and control how peripheral devices access system memory. While the CPU's Memory Management Unit (MMU) handles memory access from the processor itself, the IOMMU performs similar functions for external devices.
How IOMMU Works
The IOMMU sits between peripheral devices and system memory, acting as an intermediary that translates device memory addresses to physical system memory addresses. Key operational aspects:
- Devices submit memory access requests through the IOMMU
- The IOMMU performs address translation using page tables
- Only approved memory regions are accessible to each device
- Unauthorized access attempts are blocked
Virtualization Support
IOMMUs are crucial for virtualization technology, particularly for direct device assignment to virtual machines. In virtualized environments, an IOMMU allows a virtual machine to have direct, secured access to a physical device (like a GPU or network card) without going through software emulation. This provides better performance and isolation compared to emulated I/O. Hypervisors use the IOMMU to ensure that each virtual machine only accesses its assigned devices and memory.
Vendor Implementations
Intel implements IOMMU technology as VT-d (Virtualization Technology for Directed I/O), found in their processors and chipsets. AMD provides equivalent functionality with AMD-Vi (AMD Virtualization Integrity) in their Ryzen and EPYC processors. Both technologies follow similar principles but have different hardware implementations and software interfaces.
Security Benefits
IOMMUs enhance system security by preventing rogue or compromised devices from accessing unauthorized memory regions. They are particularly important in environments with untrusted hardware or multi-tenant systems where different users or applications must be isolated from each other.
Related Questions
What is the difference between IOMMU and MMU?
An MMU (Memory Management Unit) in the CPU controls memory access for the processor itself, while an IOMMU handles memory access for peripheral devices. Both work together to protect system memory and enable address translation.
Is IOMMU important for gaming or regular computer use?
Most users won't notice IOMMU's effects in daily computing. It becomes important for advanced tasks like GPU passthrough in virtual machines, running untrusted code safely, or in data center environments requiring strong isolation.
How do I enable IOMMU in my computer?
IOMMU is typically enabled in the BIOS/UEFI settings under Virtualization or Security options. The exact menu location varies by manufacturer. It's labeled as 'VT-d' on Intel systems and 'AMD-Vi' on AMD systems. A system restart is required after enabling.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- Wikipedia - IOMMUCC-BY-SA-4.0
- Linux Kernel DocumentationGPL-2.0