AMDs K10-CPUs

AMD Barcelona: Hoffnungsträger Quad-Core

20.11.2007

Virtualisierung mit Nested Paging

Die Virtualisierungstechnolgie "Pacifica" erhält bei den K10-Prozessoren ebenfalls Erweiterungen. So will AMD mit seiner K10-CPU-Generation die Umschaltzeit zwischen virtuellen Maschinen um 25 Prozent reduzieren. Verantwortlich hierfür zeichnet das Feature "Nested Paging".

Normalerweise arbeitet jede virtuelle Maschine (VM) in einem eigenen Adressbereich, den der Hypervisor unter Kontrolle behält. Die Adressanfragen einer VM übersetzt der Hypervisor und lenkt sie auf entsprechend zugewiesene physikalische Adressen um. Werden die Daten aus dem Speicher gelesen, so muss sie die Virtualisierungssoftware erneut für die virtuelle Maschine umleiten.

AMDs K10-Prozessoren können diesen Vorgang mit Hardwareunterstützung durch den neuen Speichermodus "Nested Paging" mit Nested Page Tables (NPT) erledigen. In der "normalen" x86-Architektur gibt es ein CR3-Register, das die physikalische Adresse des Page Table speichert. Der Page Table regelt dann in Zusammenarbeit mit der Memory Managing Unit (MMU) der CPU die Adressübersetzung.

Der Nested-Paging-Modus der K10-Architektur stellt dagegen jeder VM ein eigenes virtualisiertes CR3-Register zur Verfügung. Dieses so genannte gCR3 wird bei jedem VM-Ein- und Austritt geladen und gespeichert. Die Ergebnisse sind im TLB gepuffert. Es wird mit den Nested Paging zwar eine zusätzliche Übersetzungsschicht eingeführt, die Vorgänge erfolgen aber Hardware-basieret und somit effizienter. Außerdem reduziert der Einsatz von Nested Paging die Frequenz von #VMEXIT.

Zur Startseite