What is a Memory Management Unit?
In the computer field, an input-output memory management unit ( IOMMU ) is a type of memory management unit (MMU) that connects an I / O bus with direct memory access capability (which can be DMA) to Main memory. Like a traditional MMU (converting a CPU-visible virtual address to a physical address), an IOMMU maps a device-visible virtual address (also called a device address or I / O address in this context) to a physical address. Some units also provide memory protection to prevent malfunctioning or malicious devices.