1. Reduzierung der Strafen für Zweigstellen-Fehlvorhersagen
- Verzweigungsprädiktoren werden verwendet, um den nächsten auszuführenden Befehl vorherzusagen. Wenn eine korrekte Vorhersage getroffen wird, werden die Anweisungen bereits vorab abgerufen und es kommt daher nicht zu einem Pipeline-Stillstand. Andererseits tritt im Falle einer falschen Vorhersage die Ausführung in Erholungsphasen ein. Ein Stillstand der Pipeline führt zu Leistungsverlusten.
- Techniken, die zur Reduzierung von Verzweigungsfehlvorhersagen angewendet werden können, sind:Erhöhen der Puffergröße, Schleifenabrollen, Schleifenfusion.
2. Reduzierung der Datencache-Fehlerstrafen
- Der Datencache wird verwendet, um die Lade- und Speicherzeiten beim Abrufen von Daten aus dem Hauptspeicher zu verkürzen. Wenn die angeforderte Speicheradresse jedoch nicht im Cache gefunden wird, spricht man von einem Cache-Miss und die Daten müssen aus dem Hauptspeicher abgerufen werden, was länger dauert.
- Es gibt zwei Arten von Cache-Fehlern:
a) Cold Misses – Tritt auf, wenn der referenzierte Speicherblock nicht im Cache ist und auch vorher nicht dort war.
b) Kapazitätsfehler – Tritt auf, wenn der angeforderte Block nicht im Cache vorhanden ist, aber hätte vorhanden sein können, wenn genügend Speicherplatz vorhanden wäre.
- Techniken zur Reduzierung von Cache-Fehlern:Erhöhen der Cache-Größe, räumliche Lokalität (Zusammenfassen der Daten mit hoher Zugriffswahrscheinlichkeit).
3. Reduzierung des Kontrollfluss-Overheads
- Kontrollflussanweisungen in einem Programm ändern die Reihenfolge der Ausführung von Anweisungen.
- Techniken, die zur Reduzierung des Kontrollflusses verwendet werden können:Reduzieren der Anzahl von Zweigen (z. B. Entfernen des verschachtelten if-else), Verwendung von Jump-Table, Abwickeln von Schleifen.
4. Spekulative Ausführung
- Bei der spekulativen Ausführung wird eine Anweisung über eine Verzweigungsanweisung hinaus ausgeführt, wobei davon ausgegangen wird, dass die Verzweigung ausgeführt wird.
- Spekulationen werden je nach späterer tatsächlicher Richtung der Branche entweder bestätigt oder unterdrückt.