Neu: Prozessor mit K10-Architektur

AMDs K10-CPUs: Quad-Core, L3-Cache und SSE4a

Virtualisierung mit Nested Paging

Die Virtualisierungstechnolgie Pacifica erhält bei den K10-Prozessoren ebenfalls Erweiterungen. So will AMD mit seiner nächsten 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 sogenannte 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-basierend und somit mit höherer Effizienz. Außerdem reduziert der Einsatz von Nested Paging die Frequenz von #VMEXIT.