Effiziente Speichervirtualisierung in mehrsträngigen Verarbeitungseinheiten
Ein Verfahren, ausgeführt von einer Parallelverarbeitungssubeinheit zur Zuordnung einer virtuellen Adresse, die mit einem ersten virtuellen Adressenraum, der in einer Gruppe aus unterschiedlichen virtuellen Adressenräumen enthalten ist, verknüpft ist, zu einer physikalischen Adresse, bei einer gleic...
Gespeichert in:
Hauptverfasser: | , , , , , , |
---|---|
Format: | Patent |
Sprache: | ger |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Ein Verfahren, ausgeführt von einer Parallelverarbeitungssubeinheit zur Zuordnung einer virtuellen Adresse, die mit einem ersten virtuellen Adressenraum, der in einer Gruppe aus unterschiedlichen virtuellen Adressenräumen enthalten ist, verknüpft ist, zu einer physikalischen Adresse, bei einer gleichzeitigen Ausführung von Strangprogrammen, die die unterschiedlichen virtuelle Adressräume haben, wobei das Verfahren umfasst:Empfangen einer virtuellen Speicherzugriffsanforderung von einem ersten Strangprogramm, die die virtuelle Adresse und eine Adressenraumkennung, ASID, (510) die mit dem ersten virtuellen Adressenraum verknüpft sind, umfasst;Ermitteln, dass für die virtuelle Speicherzugriffsanforderung in einem ersten Translations-Nebenschaupuffer, TLB, ( 430) von mehreren Translations-Nebenschaupuffern kein Eintrag mit der angeforderten virtuellen Adresse und der Adressraumkennung, ASID, zwischengespeichert ist, was zu einem TLB-Fehltreffer führt;in Reaktion auf den TLB-Fehltreffer Zuordnen der Anforderungsadresse zu einer physikalischen Adresse mit Zuordnen der Adressraumkennung, ASID, (510) zu einer Seitentabellenreferenz basierend auf der ASID und Zuordnen der virtuellen Adresse zu der physikalischen Adresse mit Hilfe der Seitentabellenreferenz; undVerknüpfen der physikalischen Adresse mit der Anforderungsadresse.
A technique for simultaneously executing multiple tasks, each having an independent virtual address space, involves assigning an address space identifier (ASID) to each task and constructing each virtual memory access request to include both a virtual address and the ASID. During virtual to physical address translation, the ASID selects a corresponding page table, which includes virtual to physical address mappings for the ASID and associated task. Entries for a translation look-aside buffer (TLB) include both the virtual address and ASID to complete each mapping to a physical address. Deep scheduling of tasks sharing a virtual address space may be implemented to improve cache affinity for both TLB and data caches. |
---|