zurück zum Artikel

AMD erweitert das zukünftige I/O-Virtualisierungskonzept

Andreas Stiller

AMD gibt die "breite Verfügbarkeit" der AMD I/O Virtualization Technology Specification Rev 1.2 bekannt.

Was auch immer die "breite Verfügbarkeit" einer Spezifikation ist – jedenfalls hat AMD selbige jetzt für die I/O Virtualization Technology Specification Rev 1.2 [1] verkündet. Es handelt sich dabei um ein Update für eine bislang noch gar nicht implementierte Virtualisierungstechnik, deren konkretes Erscheinen in Hardware von ursprünglich 2006 (nach der IOMMU Spec. Rev 1.0 [2]) auf nunmehr 2008 [3] verschoben wurde. Allerdings hat AMD die Zeit genutzt, um die Spezifikationen zu erweitern, die Sicherheit und Zuverlässigkeit zu erhöhen, ACPI-Tabellen und Interrupt Remapping hinzuzufügen und die Konformität mit den offenen Standards zur I/O-Virtualisierung (IOV) [4] und Address Translation (ATS) [5] der PCI-SIG [6] sicherzustellen.

Die IOMMU ist eine Speicherverwaltung für I/O, die ähnlich wie die MMU für Prozessoren die Speicherzugriffe von externer Hardware nicht direkt, sondern über eine Tabelle (I/O Page Table) abwickelt. Um Zeit zu sparen, soll auch hier ein Transition Lookaside Buffer (TLB) die aktuellen Übersetzungen ähnlich wie ein Cache zwischenspeichern. Die komplette IOMMU-Hardware sitzt dabei im IOHUB, die AMD-Prozessoren müssen im Wesentlichen eigentlich nur das Hypertransport-Protokoll erweitern. Alle Tabellen (neben den I/O Page Tables auch die Gerätetabellen, der Befehlspuffer, der Event-Log und die mit Version 1.2 neu hinzugekommene Interrupt Remapping Table) werden aber im normalen Hauptspeicher untergebracht. Das unterscheidet dieses IOMMU-Konzept von den schon lange in Mainframes üblichen IOMMU-Techniken, die hierfür normalerweise eigenen Speicher vorsehen.

AMDs IOMMU-Konzept bezieht sich nur auf das Remapping von Speicheradressen sowie (ab Version 1.2) von Interrupts, jedoch nicht von I/O-Adressen. Letzteres kann aber der Hypervisor oder das Betriebssystem mit Hilfe der traditionellen I/O-Überwachung in der CPU erledigen.

Nicht nur für den Umgang mit virtuellen Maschinen ist die IOMMU von Vorteil, auch im "normalen" Betrieb kann sie nützlich sein:

(as [7])


URL dieses Artikels:
https://www.heise.de/-178798

Links in diesem Artikel:
[1] http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/34434.pdf
[2] https://www.heise.de/news/AMD-veroeffentlicht-Spezifikation-zur-I-O-Virtualisierung-173136.html
[3] https://www.heise.de/news/AMD-Im-Barcelona-steckt-K10-167303.html
[4] http://www.pcisig.com/specifications/iov/
[5] http://www.pcisig.com/specifications/iov/ats/
[6] http://www.pcisig.com/home
[7] mailto:as@ct.de