Zen 5s 2-Ahead-Branch-Predictor: Wie eine 30 Jahre alte Idee neue Tricks ermöglicht
(chipsandcheese.com)Zen 5s 2-Ahead Branch Predictor Unit: Wie eine 30 Jahre alte Idee neue Tricks ermöglicht
-
Einführung
- AMDs Zen-5-Architektur ist eine vollständige Neugestaltung der bisherigen Zen-Architektur
- Eine der wichtigsten Änderungen ist die neue 2-Ahead Branch Predictor Unit
- Die Idee stammt aus einer 30 Jahre alten wissenschaftlichen Arbeit
-
Die Bedeutung des Branch Predictors
- Computer speichern Programme im Speicher und führen sie aus
- Prozessoren sind in ein Frontend und ein Backend unterteilt, die Befehle holen und ausführen
- Bedingte Sprünge sind eine große Herausforderung beim Füllen der Pipeline
- Fehlvorhersagen zwingen dazu, die Pipeline zu leeren und neu zu starten
- Daher müssen Prozessoren die Befehlssequenz eines Programms so präzise wie möglich vorhersagen
-
Das Aufkommen des 2-Ahead Branch Predictors
- Die Idee wurde bereits Anfang der 1990er Jahre vorgeschlagen
- Effizientere Methoden wie der TAGE predictor wurden entwickelt
- Um die Single-Core-Leistung zu steigern, rückt der 2-Ahead Branch Predictor jedoch wieder in den Fokus
-
Vorteile der x86-Architektur
- x86 profitiert bei der 2-Ahead Branch Prediction stärker als andere ISAs mit Befehlen fester Länge
- Bei x86 ist eine komplexere Verarbeitung nötig, um Befehlsgrenzen zu bestimmen
- Zen 5 verwendet zwei 32-Byte-Fetch-Pipelines und einen 4-fach breiten Decode-Cluster
-
Implementierung nach der Seznec-Arbeit
- Die Seznec-Arbeit beschreibt, wie sich ein 2-Ahead Branch Predictor implementieren lässt
- Zen 5 folgt den Empfehlungen dieser Arbeit
- Es kommen zwei 32-Byte-Fetch-Pipelines und ein 6-fach breiter Dual-Port-Op-Cache zum Einsatz
- L1 BTB und L2 BTB werden verwendet, um die Vorhersagegenauigkeit zu erhöhen
-
Fazit
- Zen 5s 2-Ahead Branch Predictor ist eine wichtige Veränderung in der Zen-Architektur
- Dieser neue Predictor wird die künftige Entwicklung von Zen-Kernen stark unterstützen
Zusammenfassung von GN⁺
- Zen 5s 2-Ahead Branch Predictor ist eine moderne Neuinterpretation einer 30 Jahre alten Idee
- Die Technik verbessert die Leistung, indem sie die Genauigkeit der Befehlsvorhersage erhöht
- Sie ist besonders nützlich, um die Komplexität der x86-Architektur zu bewältigen
- Der Artikel ist lohnend für alle, die sich für CPU-Architektur und Performance-Optimierung interessieren
- Ein anderes Projekt mit ähnlichen Funktionen ist Intels Golden-Cove-Architektur
1 Kommentare
Hacker-News-Kommentare