IOMMU-Cache-Kohärenz
In den heutigen x86 / x64-Motherboards sind IOMMUs von Intel und AMD zu finden. Sie ermöglichen Peripheriegeräten, DMA-Operationen (Direct Memory Access, Direkter Speicherzugriff) im System-RAM unter Verwendung von virtuellen statt physischer Speicheradressen durchzuführen.
Nehmen wir nun an, dass das Peripheriegerät, das die DMA-Operation unter Verwendung der IOMMU ausführt, etwas Arbeitsspeicher zum Speichern des System-RAMs enthält, um die Verarbeitung von Daten, auf die häufig zugegriffen wird, zu optimieren. Wie kann in diesem Fall die Speicherkohärenz zwischen dem Cache des Peripheriegeräts und dem System-RAM sichergestellt werden? Wenn das Peripheriegerät einige Daten in seinem Cache ändert, ohne es in den System-RAM zurückzuschreiben, würde jeder Zugriff auf denselben Speicher von der CPU auf veraltete Daten zugreifen.
Die einzige effiziente Option, die ich sehen kann, besteht darin, dass das Peripheriegerät der IOMMU mitteilt, jede aus dem Arbeitsspeicher gelesene Seite für ungültig zu erklären, da diese Seite von diesem Moment an durch das Peripheriegerät zwischengespeichert würde. Immer wenn die CPU auf eine Seite zugreift, die zuvor vom Peripheriegerät gelesen wurde, wird ein Seitenfehler ausgelöst. Dementsprechend würde ein Seitenfehler-Handler dafür sorgen, die Seite aus dem Cache des Peripheriegeräts zu leeren und in den System-RAM zurückzulesen.
Ist so etwas überhaupt möglich? Insbesondere das kommende HSA-Programmiermodell lässt mich glauben, da eines seiner Hauptmerkmale ein einheitlicher Speicherplatz ist, der von den CPUs und den peripheren Recheneinheiten gemeinsam genutzt wird. Da diese Rechnereinheiten höchstwahrscheinlich über Caches verfügen, muss das Problem der Speicherkohärenz bereits angesprochen worden sein.
Danke für deine Hilfe!
David
0 Antworten auf die Frage
Verwandte Probleme
-
6
Muss ich 3 RAM-DIMMs haben, um DDR3 verwenden zu können, oder sogar eine 3-Kanal-CPU betreiben könne...
-
5
Warum läuft mein CPU-Fan, wenn Sie Videos oder virtuelle Maschinen ausführen?
-
4
Gibt es einen bestimmten oder messbaren Vorteil bei der Verwendung von ECC-RAM in einem Desktop-PC?
-
2
iTunes-Speicherverwendung
-
5
So ermitteln Sie, welche Firefox-Add-Ons den meisten Speicher verwenden
-
5
Was soll ich mit meinem alten Gedächtnis machen?
-
3
Wie kann ich feststellen, ob der Arbeitsspeicher auf meinem ASUS P5B MX-Motherboard von 2 auf 4 GB e...
-
6
Warum ist RAM für die neuen Macbooks so teuer?
-
8
"Speicher paarweise installieren" Wie funktioniert das für 3 GB?
-
7
Wohin sind die anderen 0,8 GB RAM gegangen?