AMD Zen 5: GCC-Patch liefert zahlreiche Details zur Architektur der nächsten Ryzen-Generation
Durch ein Update für den GCC-Compiler hat AMD mehrere Details zu den neuen Ryzen-9000-Prozessoren verraten. Für die Zen-5-Kerne wird es beispielsweise neue Instruktionen und deutlich mehr Pipelines geben.
Damit Prozessoren ihr volles Potenzial ausschöpfen können, müssen sie von der Software unterstützt werden. Dafür ist der Compiler verantwortlich, der den Quellcode in Maschinenbefehle umsetzt. Aus Patches für kommende Compiler-Versionen lassen sich daher manchmal Rückschlüsse auf zukünftige CPU-Generationen ziehen - und genau das ist aktuell der Fall. Denn ein AMD-Mitarbeiter hat gestern einen Patch für den GCC-Compiler eingereicht, der diesen für die kommenden Zen-5-Prozessoren vorbereiten soll.
Deutlich breitere Kerne
Aus den entsprechenden Änderungen am Code des Compilers gehen wiederum einige Details zu der neuen CPU-Architektur hervor. Laut Mystical, dem Entwickler des Benchmark-Tools y-Cruncher, wird jeder Zen-5-Kern beispielsweise über doppelt so viele FPU-Pipelines wie ein Zen-4-Kern verfügen. Die Architektur wäre damit deutlich breiter ausgelegt. Im Optimalfall ließen sich so künftig vier statt zwei Befehle pro Takt abarbeiten.
Quelle: AMD
Zen 4 setzt auf vier ALU- (Integer-) und zwei FPU-Pipelines. Bei Zen 5 sollen es jeweils deutlich mehr sein.
Gleichzeitig soll Zen 5 laut Phoronix über eine zusätzliche Einheit zur Adressgenerierung (AGU) verfügen. Insgesamt wären es damit künftig vier statt drei Blöcke. Zudem sollen in den neuen Kernen sechs statt vier ALU-Pipelines verbaut werden. Auch hier können die kommenden Ryzen-9000-Prozessoren also wohl deutlich mehr Instruktionen pro Takt abarbeiten, sofern die Auslastung der Pipelines gelingt.
Weitere Details liefert der Patch außerdem zu den Instruktionen. Laut Videocardz wird Zen 5 die neuen Befehle AVXVNNI, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT und PREFECHTI unterstützen, die Intel-Prozessoren teils bereits seit Tiger Lake nutzen können. Gleichzeitig werden alle Instruktionen von Zen 4 weiterhin unterstützt, und innerhalb der neuen Zen-5-Architektur soll es keine Abweichungen geben. Kommende Produkte auf Basis von Zen 5C werden also wohl weiterhin identisch angesteuert.
Auch interessant: Ryzen 8000G: AMD muss bei bestimmten Specs zurückrudern
Konkrete Rückschlüsse auf die Leistung lassen sich aus den Änderungen an der Architektur leider nur bedingt ablesen, da diese maßgeblich von weiteren Faktoren wie beispielsweise dem Takt und der Trefferrate der Sprungvorhersage beeinflusst wird. Für tatsächliche Performance-Werte muss man daher, wie üblich, erste Benchmarks abwarten. Diese dürften dabei in der zweiten Jahreshälfte folgen, wenn AMD die Ryzen-9000-Prozessoren und damit die Zen-5-Architektur endlich auf den Markt bringt.
Quelle: via Videocardz / Phoronix

Das Hauptproblem bei CISC und RISC ist auch nicht wirklich die variable Wortbreite gewesen, sondern die "Paradigmen" dahinter. CISC ist die ursprüngliche Art der Programmierung einer CPU und ja ein "Retronym". In den Anfangszeiten der Computer hast du diese ja anfangs mit Lochkarten und später auch auch erst mal direkt mit "Assembler" programmiert. Entsprechend hat Intel, aber auch die anderen Entwickler damals auch darauf geachtet, dass es einen gewissen Komfort in der Assembler-Programmierung gibt und damit auch verbunden eben die Komplexenanweisungen, die teilweise mehrere Operationen in einem Befehl vereint haben.
RISC ist dann zu einer Zeit entstanden, als sich Programmiersprachen wie Basic, Pascal, C und Co etablierten und auch die Compiler immer besser wurden. Darauf aufbauend kam ja dann der Gedankengang bei den Prozessoren, dass man die Befehlssätze entschlackt und vereinfacht und sich auf die "atomaren" Operationen beschränkt und der Compiler nun die Programmiersprache in den passenden Maschinencode übersetzt.
Die Notwendigkeit für "gutlesbaren" und "komfortable" Assembler-Code hat draßtisch abgenommen und RISC war damals "deutlich" einfacher zu decodieren als RISC.
Da "Transistoren" ab den 80er und erst recht ab den 90er "schlagartig" billiger wurden, konnte man aber auch da entsprechende Entwicklungen erkennen. Während x86 noch mit 8 Registern entworfen wurden - Transistoren "teuer" - haben die neuen Befehlssetze ab den 80er und 90er immer mehr Register gehabt, man kann das ja mit nehmen. Selbst Intel hat bei IA-64 auf ganze 128 Register gesetzt für die Compiler.
Die Platzeffizienz kam durch den einfacheren Decoder, die Energieeffizient zum Teil durch das größere Registerset.
Am Ende geht es aber auch darum, wie viele Load/Store-Einheiten man benötigt für die ALUs. Die Anzahl der Register wirkt sich halt auch darauf aus, was man drumherum alles benötigt um die CPU gut auszulasten und da kann es dann schon entscheidend sein, ob man nun 6 ALUs mit 4 AGUs hat, oder wie Apple 6 ALUs mit nur 2 AGUs zu versorgen.
Am Ende wird es hoch spannend, was kommt. Ich bin gespannt.
Ein breites Kerndesign bei x86 hat andere Ansprüche als ein breite Kerndesign bei ARM.
Intel bringt nicht umsonst jetzt APX und will die Register von 16 auf 32 erhöhen. Das reduziert die Load und Store-Anweisungen und entsprechend kann man länger im Compiler bei in den Registern bleiben.
Bedeutet auch, dass man weniger Store/Load-Einheiten benötigt für die ALUs. Die Daten müssen ja irgendwo her kommen und auch gespeichert werden.
Der aktuelle Hauptvorteil, den ARM noch hatte, waren die 31 Register gegenüber den 16 bei x86 in der 64-Bit Variante.
Apple fährt ein 6-4 Design mit einem 8-fach Decoder. Das ist Intel und AMD in der IPC immer noch voraus.
Ein breites Kerndesign bei x86 hat andere Ansprüche als ein breite Kerndesign bei ARM.
Intel bringt nicht umsonst jetzt APX und will die Register von 16 auf 32 erhöhen. Das reduziert die Load und Store-Anweisungen und entsprechend kann man länger im Compiler bei in den Registern bleiben.
Bedeutet auch, dass man weniger Store/Load-Einheiten benötigt für die ALUs. Die Daten müssen ja irgendwo her kommen und auch gespeichert werden.
Der aktuelle Hauptvorteil, den ARM noch hatte, waren die 31 Register gegenüber den 16 bei x86 in der 64-Bit Variante.
Intel geht diese „Nachteile“ nun an und macht damit auch x86 für breite Kerne fit ohne das man noch größere Infrastruktur für die Daten benötigt.
Wird interessant, wann AMD APX aufnehmen darf. In Intels und AMDs Interesse hoffe ich, das APX zeitnah bei beiden Herstellern kommt.
Sobald dann wirklich last anliegt,dann werden die anderen geweckt.Wie der rest aussehen könnte,da bin ich mir nicht sicher.Man könnte wenige Kerne noch viel breiter machen als es bei Zen 5 der fall wäre.Wäre merkwürdig wenn man wenige Kerne doppelt so breit machen würde wie es bei Zen 5 kommen wird.
Damit ich davon was hätte ,wären am besten 10 ghz auf 6 Kerne,damit die volle Leistung.Dann gehen auch weniger Kerne.Ob diese hochtaktenden 6 Kerne gegen 16 kerne mit 5 ghz eine chance hätten,kann ich nicht sagen.Und wenn extrem breit auch zu einer sehr starken Leistung führen würde,dann bräuchte ich auch weniger Kerne um die gleiche Leistung oder mehr zu haben.
Ist die frage ob das die Chiplet Nachteile ausgleichen könnte,da bin ich mir nicht sicher.Diese Kerne könnte man ja neben der Onbard GPU platzieren weil sie so klein ist und so.Damit der rest sich abschalten könnte.
Durch das fällt der Nachteil nicht mehr ins gewicht.Es in das Chiplet rein zu stecken würde wohl mehr nachteile als Vorteil bringen.
Naja ist die Frage ob sowas AMD jemals so machen würde.Die super kleinen Kerne Takten auch nicht so weit nach oben.Ab wann wäre der Takt zu klein bei 2 ghz oder erst bei 1 ghz Takt?