Alapfogalmak
Durch statische Analyse können Ladebefehle identifiziert werden, die mit hoher Wahrscheinlichkeit keine Speicherabhängigkeiten aufweisen. Diese Ladebefehle können dann den Speicherabhängigkeitsvorhersager umgehen, was zu einer Verbesserung der Vorhersagegenauigkeit und Leistungssteigerung führt.
Kivonat
Die Studie untersucht, wie Informationen aus der statischen Analyse von Compilern an Out-of-Order-Maschinen übermittelt werden können, um die Speicherabhängigkeitsvorhersage (Memory Dependence Predictor, MDP) zu verbessern.
Der Kern der Idee ist es, Ladebefehle zu identifizieren, die mit hoher Wahrscheinlichkeit keine Abhängigkeiten zu anderen Speicherzugriffen haben. Diese "Predict No Dependency" (PND) Ladebefehle können dann den MDP umgehen und direkt ausgeführt werden, ohne eine Vorhersage abzufragen.
Dazu wird in LLVM eine leichtgewichtige Analyse implementiert, die in Schleifen Ladebefehle identifiziert, die keine Abhängigkeiten zu Speicherschreibzugriffen in derselben Schleife haben. Diese Ladebefehle werden dann mit speziellen Opcodes versehen, die dem Prozessor signalisieren, dass keine Vorhersage nötig ist.
In Simulationen mit Gem5 zeigt sich, dass in ausgewählten SPEC2017-Benchmarks eine signifikante Anzahl von Ladebefehlen den MDP umgehen kann, was zu Leistungsgewinnen von bis zu 2,8% führt. Die Ergebnisse deuten darauf hin, dass statische Analyse eine Quelle für leistungssteigernde Optimierungen in zukünftigen Prozessorentwürfen sein kann.
Statisztikák
In 641.leela_s konnte die Anzahl der MDP-Abfragen um 16% reduziert werden.
In 625.x264_s konnte die Anzahl der MDP-Abfragen über alle Läufe hinweg um 20% reduziert werden.
In 623.xalancbmk_s konnte die Anzahl der MDP-Abfragen um 59% reduziert werden.
Idézetek
Keine relevanten Zitate gefunden.