Synchronisieren eines Translation-Lookaside-Pufferspeichers mit einer erweiterten Paging-Tabelle

Prozessor (318) eines auf Virtualisierung basierenden Systems (300), der umfasst:einen Translation-Lookaside-Puffer, TLB, (323) um ein Mapping von einer physikalischen Gastadresse (412, 432, 452) zu einer physikalischen Host-Adresse (404, 414, 424) zu speichern; undeine Logikschaltung (322, 332, 334...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Madukkarumukumana, Rajesh, Neiger, Gilbert, Uhlig, Richard, Anderson, Andrew V, Schoenberg, Sebastian, Rust, Camron, Bennett, Steven M, Rodgers, Dion
Format: Patent
Sprache:ger
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Prozessor (318) eines auf Virtualisierung basierenden Systems (300), der umfasst:einen Translation-Lookaside-Puffer, TLB, (323) um ein Mapping von einer physikalischen Gastadresse (412, 432, 452) zu einer physikalischen Host-Adresse (404, 414, 424) zu speichern; undeine Logikschaltung (322, 332, 334), um eine Synchronisierung des Mappings von der physikalischen Gastadresse (412, 432, 452) zur physikalischen Host-Adresse (404, 414, 424), die im Translation-Lookaside-Puffer (323) gespeichert ist, mit einem entsprechenden Mapping, das in einer erweiterten Paging-Tabelle, EPT, (328; 455, 465, 475) gespeichert ist, durchzuführen,wobei das entsprechende Mapping ein in der EPT (328; 455, 465, 475) gespeichertes Mapping mit derselben physikalischen Gastadresse (412, 432, 452) wie das im TLB (323) gespeicherte Mapping aufweist,wobei die Synchronisierung auf dem Operanden eines Befehls basiert,wobei der Operand einen EPT-Zeiger umfasst, undwobei eine Abruflogik (330) ferner einen ersten Operanden des Befehls, einen zweiten Operanden des Befehls und einen dritten Operanden des Befehls empfängt;die Logikschaltung (322, 332, 334) fernerdas Mapping auswählt, das zumindest teilweise in der EPT (328; 455, 465, 475) gespeichert ist, basierend auf einer Kontextbezeichnung, die aus dem ersten Operanden des Befehls erhalten wird;die Gastadresse (412, 432,452) auswählt, zumindest teilweise basierend auf dem zweiten Operanden des Befehls; undeinen Ausführungsmodus des Befehls auswählt, basierend auf dem dritten Operanden des Befehls;und wobei es sich bei dem Ausführungsmodus des Befehls um einen der folgenden handelt;ein erster Modus, in welchem nur ein einziges in dem TLB (323) gespeichertes und zu der physikalischen Gastadresse (412, 432,452) gehörendes Mapping mit der entsprechenden Umsetzung in der EPT (328; 455, 465, 475) synchronisiert wird;ein zweiter Modus, in welchem alle Mappings, die in dem TLB (323) gespeichert sind und zu einem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit den entsprechenden Mappings in der EPT (328; 455, 465, 475) synchronisiert werden, wobei die Synchronisation des Mappings ein Synchronisieren jener Einträge im TLB (323) in dem EPT-Kontext, der in dem EPT-Zeiger spezifiziert ist, mit der erweiterten Paging-Tabelle,EPT, (328; 455, 465, 475) umfasst; undein dritter Modus, in welchem alle Mappings, die in dem TLB (323) gespeichert sind und zu irgendeinem EPT-Kontext gehören, der aus der Kontextbezeichnung erhalten wird, mit