IOMMU
IOMMU (input–output memory management unit, myös nimellä SMMU, System Memory Management Unit[1]) on tietokoneen ominaisuus, joka lisää muistinhallintayksikön (MMU) kaltaisen toiminnan oheislaitteiden kanssa käytettäväksi.[2][3][4][5] IOMMU lisää osoitteiden muunnoksen ja muistisuojauksen DMA:ta käyttäville oheislaitteille sekä auttaa suodattamaan ja uudelleenohjaamaan keskeytyksiä oheislaitteilta.[2] IOMMU:n luoma virtualisoitu osoiteavaruus ohjaa oheislaitteet omiin alueisiinsa tietokoneen muistissa.[4][3] Virtualisoidussa ympäristössä IOMMU estää kahta virtuaalikonetta häiritsemästä toisiaan ja mahdollistaa pääsyn laitteistoon käyttäjäavaruudesta tai vierasvirtuaalikoneesta.[2][4] IOMMU:lla voidaan korvata GART-mekanismi ja sen avulla 32-bittiset oheislaitteet voivat käyttää koneen muistia 64-bittisessä ympäristössä.[2]
Lähteet
- System Memory Management Unit (SMMU) Support developer.arm.com. Viitattu 16.9.2020. (englanniksi)
- AMD I/O Virtualization Technology (IOMMU) Specification (PDF) developer.amd.com. Viitattu 16.9.2020. (englanniksi)
- Intel® Virtualization Technology for Directed I/O (PDF) software.intel.com. Viitattu 16.9.2020. (englanniksi)
- Appendix E. Working with IOMMU Groups access.redhat.com. Viitattu 16.9.2020. (englanniksi)
- IOMMU Support in Linux cerno.tech. Viitattu 16.9.2020. (englanniksi)
Aiheesta muualla
- Mastering the DMA and IOMMU APIs (PDF) (englanniksi)