Input–output memory management unit
Een input–output memory management unit (IOMMU), letterlijk vertaald "een invoer-uitvoergeheugenbeheereenheid" is een geheugenbeheersysteem (MMU) dat een I/O-bus met directe geheugentoegang verbindt met het geheugen van een computer. Waar een traditioneel geheugenbeheersysteem directe toegang tot de CPU-zichtbare geheugenadressen mogelijk maakt, wijst IOMMU apparaat-zichtbare virtuele adressen toe.

Mogelijkheden 
Een van de doelen van een IOMMU is om de geheugentoegang van apparaten die zijn aangesloten op een computer te virtualiseren. Hierdoor kan een dergelijk aangesloten apparaat enkel bij het geheugen dat speciaal is toegewezen, en niet bij de rest van het systeemgeheugen. Daarmee wordt voorkomen dat kwaadwillende apparaten gevoelige data zoals wachtwoorden en sleutels uit het werkgeheugen van een computer kunnen stelen.

Verder maakt IOMMU het mogelijk om grote gebieden aan (gefragmenteerd) geheugen beschikbaar te stellen zonder dat dit geheugen fysiek opvolgend moet zijn.

Daarnaast kan IOMMU het mogelijk maken om apparaten met kleinere geheugenadresruimte (bijvoorbeeld 32-bits apparatuur) te laten communiceren met geheugen van een systeem met een grotere geheugenadresruimte.

Computerrandapparatuur