AMD erweitert das zukünftige I/O-Virtualisierungskonzept

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

In Pocket speichern vorlesen Druckansicht 90 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Andreas Stiller

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 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) auf nunmehr 2008 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) und Address Translation (ATS) der PCI-SIG 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:

  • Sie kann das schon vorhandene, systemabhängige GART-Konzept (Graphics Aperture Remapping Table) von Grafikkarten durch einen breiteren Standard ersetzen.
  • Durch Remapping sind Adressen jenseits der 4 GByte auch für 32-Bit-PCI-Karten (ohne Doppeladressierung) erreichbar. Derzeit ist dafür eine zeitaufwendige Doppelpufferung nötig.
  • Sie bietet eine feinkörnige Kontrolle von Zugriffen externer Geräte auf den Hauptspeicher.
  • Sie ermöglicht direkten Zugriff eines Gerät auf den Speicher im "User Space".

(as)