AMD entscheidet sich, den Loop Buffer von Zen 4 zu deaktivieren
(chipsandcheese.com)AMD deaktiviert den Loop Buffer von Zen 4
-
Rolle des Loop Buffers: Er befindet sich im Frontend der CPU und speichert zuvor geholte Instruktionen. Kleine Schleifen können in den Loop Buffer passen, wodurch sich einige Frontend-Stufen deaktivieren lassen, um Strom zu sparen und die Leistung zu verbessern. Es handelt sich um eine alte Technik, die in Intel-, Arm- und AMD-Kernen verwendet wird.
-
Der Loop Buffer in Zen 4: Zen 4 ist der einzige Hochleistungskern von AMD, der einen Loop Buffer enthält. Experimente mit Performance Countern zeigen, dass der Kern bei Ausführung mit einem Thread 144 Einträge hat. Wenn zwei SMT-Threads aktiv sind, werden jedem Thread 72 Einträge zugewiesen. Treten innerhalb der Schleife Aufrufe und Rückgaben auf, werden diese nicht im Loop Buffer erfasst.
-
Änderung nach BIOS-Update: Nach einem Update des ASRock B650 PG Lightning auf BIOS-Version 3.10 zeigte das Hardware-Performance-Monitoring, dass das Frontend keine Mikro-Ops mehr aus dem Loop Buffer dispatcht. Nach einem Downgrade auf BIOS-Version 1.21 war der Loop Buffer wieder aktiv. AMD scheint den Loop Buffer zwischen BIOS 1.21 (AGESA-Version 1.0.0.6) und BIOS 3.10 (AGESA-Version 1.2.0.2a) deaktiviert zu haben.
SPEC CPU2017: Unterschiede finden
-
Leistungsauswirkung: Die SPEC-CPU2017-Ergebnisse zeigen keinen auffälligen Unterschied abhängig davon, ob der Loop Buffer aktiv ist oder nicht. Die Gesamtergebnisse der Integer- und Floating-Point-Suites unterscheiden sich um weniger als 1 %. Auch die SMT-Leistungssteigerung bleibt unbeeinflusst.
-
Rolle des Loop Buffers: Der Loop Buffer dient offenbar nicht in erster Linie der Leistungssteigerung, sondern soll es dem Kern ermöglichen, große Teile des Frontends zu deaktivieren. Laut der Processor Programming Reference für Zen 4 können Performance Counter so programmiert werden, dass sie jedes Mal um 1 erhöht werden, wenn die Anzahl der Ereignisse einen Schwellenwert überschreitet.
Cyberpunk 2077
- Test der Spieleleistung: Mithilfe des integrierten Benchmarks von Cyberpunk 2077 wurde geprüft, welchen Einfluss die Deaktivierung des Loop Buffers auf die Spieleleistung hat. Dabei zeigte sich, dass sie nahezu keinen Einfluss auf die Gaming-Performance hat.
Versuch zur Überprüfung des Stromverbrauchs
- Energieeffizienz: Es wurde versucht, mit den Core-Power-Countern von Zen 4 zu prüfen, ob der Loop Buffer die Energieeffizienz verbessert, aber die Ergebnisse waren nicht konsistent. Mit dem neuen BIOS lässt sich der Loop Buffer nicht mehr testen.
Fazit
- Grund für die Deaktivierung des Loop Buffers: Warum AMD den Loop Buffer von Zen 4 deaktiviert hat, ist unklar. CPU-Funktionen können wegen Hardware-Bugs deaktiviert werden. Zen 4 war der erste Fall, in dem AMD einen Loop Buffer in seine Hochleistungs-CPUs integriert hat. Die Auswirkungen auf die Leistung sind nahezu null, und auch der Einfluss auf den Stromverbrauch dürfte gering sein.
1 Kommentare
Hacker-News-Kommentare
Möglicherweise wurde die Funktion deaktiviert, um Hardware-Schwachstellen zu verhindern. Das deutet darauf hin, dass der Loop Buffer weder Leistungs- noch Energieverbrauchsvorteile bringt
Der Loop Buffer von Zen 4 zeigt, dass das Unternehmen über die Engineering-Fähigkeiten verfügt, mit solchen Dingen zu experimentieren
Ich nutze einen 7950x3d und habe von einem Skylake 6700k upgegradet
In Spielen sinkt die Leistung um 5 %, wenn der Loop Buffer deaktiviert ist und der Prozess auf dem Die ohne Cache festgenagelt wird
Der Loop Buffer war vermutlich so klein, dass er nur in bestimmten Szenarien einen Unterschied machte, und ein größerer Buffer hätte im Verhältnis zu den Kosten wenig Nutzen gebracht
Beim Cortex-A15 ist es ein "wichtiges Designmerkmal"
Ich verstehe nicht, wie viel Platz der Loop Buffer auf dem Die einnimmt
Im Abschnitt "Power" wird nicht durch die Anzahl der pro Sekunde ausgeführten Instruktionen geteilt
Einer der Unterschiede zwischen dem 68000 von 1979 und dem 68010 von 1982 war die Ergänzung des "Loop Mode", eines 6-Byte-Loop-Buffers