This is the big one. A PCIe device can cache virtual-to-physical address translations. When a device issues a read/write, it uses an IO Virtual Address (IOVA) . The IOMMU behind the root port remaps that IOVA to a host physical address. From the device’s perspective, its memory window moved. From the CPU’s perspective, the device is now pointing to a different physical RAM location.
Device DMA Request (Address: 0xDEADBEEF) → Memory Controller → Physical RAM at 0xDEADBEEF pcie device remapping