Ryzen 4000 (Vermeer): AMD Zen 3 soll definitiv noch dieses Jahr kommen
Ryzen 4000 (Vermeer) soll definitiv noch dieses Jahr kommen, das bestätigte AMD im Rahmen eines Produkt-Briefings, dessen wesentliche Inhalte aber unter Embargo stehen. Dabei ging es auch schon um die von AMD gestern angekündigten Ryzen 3000 XT.
Während eines Briefings von AMD, dessen Informationen derweil noch weitestgehend unter Verschluss stehen, wurde auch erwähnt, dass AMD Zen 3 definitiv noch dieses Jahr auf den Markt bringen will. Das dürfte den Gerüchten ein Ende bereiten, dass Zen 3 vielleicht erst kommendes Jahr erscheinen wird. Die kamen zuletzt immer wieder auf, aber AMD scheint seinen Fahrplan einhalten zu wollen. Die Ryzen 3000 XT-Modelle, die man gestern angekündigt hatte, sind also nur eine kleine Zyklus-Politur.
Für Zen 3 steht eine Optimierung der Zen-2-Technik auf dem Programm, ohne diese besonders invasiv zu ändern. Man würde wohl von einem Refresh sprechen. Die CPUs sollen weiter zu AM4 kompatibel sein und dürften als Ryzen 4000 vermarktet werden. Die mechanische Sockelkompatibilität sollte man aber nicht zu hoch hängen, denn heißen muss das wenig. Bei AMD kann einem da gerne mal der AGESA-Support einen Strich durch die Rechnung machen. Die Desktop-Version von Ryzen 4000 wird unter dem Codenamen Vermeer entwickelt.
So darf man auch sicher sein, dass Zen 3 in einem optimierten 7-nm-Prozess bei TSMC vom Band läuft. Die Neuerungen werden vor allem in der Optimierung der Architektur zu finden sein. AMD hatte letztes Jahr 17 Prozent IPC-Zuwachs in Aussicht gestellt, aber nicht genau umrissen, wo man die findet. Lohnenswert in der Zen-Architektur ist unter anderem die weitere Optimierung der CCX-Einheiten und des Infinite Fabrics, was laut Gerüchten auch geschehen soll. Unter anderem mit globalem Zugriff auf den L3-Cache. Wir hatten das Thema bereits beleuchtet. Ob auch am Speicherinterface geschraubt wird, ist derweil noch nicht so recht klar. Es ist denkbar, dass der bislang gesetzte Standard DDR4-3200 leicht erhöht wird. Ob bei der asymmetrischen Anbindung des Speichers etwas passiert, war auch noch nirgends zu lesen. Hier wären auf jeden Fall noch hebbare Leistungsschätze in Reichweite.
Offiziell hieß es bei AMD immer zweites Halbjahr 2020 für Zen 3. Man kann wohl annehmen, dass es eher Ende des Jahres werden wird. Ein Gerücht nannte mal September. Und auch Threadripper soll laut Gerüchten noch dieses Jahr aktualisiert werden, unter dem Codenamen Genesis. Für Zen 4 hatte AMD bereits größere Änderungen angekündigt, die auch etwas mehr Zeit beanspruchen. Ryzen 5000 soll dann angeblich neben einem neuen Sockel auch 1 MiB L2-Cache pro Kern bekommen und AVX-512 unterstützen. Mehr IPC-Leistung ist ja ohnehin Standard in der Erwartungshaltung und angeblich soll auch 5 nm drin sein - statt 7 nm Plus-Plus.

Da sich bei Zen3 gegenüber Zen2 architetonische Änderungen ergeben, muss das dort genauso sein.
Ich hatte Anwendungen, die beim Wechsel vom i7-2600K auf dem i9-9900K langsamer geworden sind. Erst mit der neuesten Version der Software kamen Teile der Benchmark-Mehrleistung dann auch bei dieser Anwendung an.
Nicht jeder Algorithmen kann beliebig parallelisiert werden. Das Neuformatieren eines großen Word-Files wird immer nur auf einem Thread laufen können. Bei Handbrake hängt es vom Codec und der Bildgröße ab, ob der bei mir 8+8 Kerne ausnutzen kann oder nicht.
Der Core-i 4xxx ist schon eineges älter wie 2 Jahre. Wenn die Software erst 2 Jahre alt ist, dann kann sie durchaus Befehle nutzen, welche der core-i 4xxx noch nicht kannte und welche erst auf neueren CPUs aktiviert werden.
M.M.n. hängt das mit dem geänderten CPU Design zusammen.
Die Zeiten, in denen für jeden CPU-Befehl festgelegt war, wie viele Taktzyklen die Ausführung dieses Befehls benötigt, sind schon lange vorbei. Die Befehle werden intern in Mikrooperationen zerlegt, zum Teil parallel ausgeführt und das auch noch (mehr oder weniger gut) spekulativ. Wenn es also in der Software eine Verzweigung gibt, die in Abhängigkeit eines Rechenergebnissis mal links oder rechts herum läuft, dann werden u.U. beide Wege schon ausgeführt, bevor die Entscheidung für "links" oder "rechts" bekannt ist (so lange die Daten dies zulassen). Ist die Entscheidung bekannt, wird der nutzlos ausgeführt Pfad verworfen.
Das ist u.U. eines der Probleme bei den Spectre/Meltdown Bugs, weil Daten aus Geschwindigkeitsgründen nicht gut genug gegen einander abgeschottet waren/sind.
Und nun kommen die neuen Prozessorgenerationen ins Spiel. Dort wird u.U. die Anzahl der spekulativ bearbeitbaren Mikrooperationen geändert, die Entscheidung, ob die CPU spekulativ etwas ausführen soll, wird optimiert, es werden mehr Ausführungseinheiten für die Mikrooperationen eingeführt usw. Und dann kann manchmal der Hersteller auch noch die Ausführung gewisser Befehle beschleunigen.
Bei Zen2 hat AMD z.B. die Bandreite für Fließkomma-Berechnungen verdoppelt (insb. für AVX256) und auch bei den Interger-Einheiten wurde einiges optimiert:
AMD Zen 2 – Alle Details zu Ryzen 3000 - ComputerBase
Genauso wurde dort an der Sprungvorhersage gearbeitet, womit (hoffentlich) nicht mehr so viele Befehle spekulativ, aber am Ende nutzlos ausgeführt werden müssen und die Ressourcen für andere Dinge bereit stehen.
Da in der Regel nicht nur ein einziger Thread läuft, teilen sich (spätestens bei SMP) die Threads gewisse Ressourcen. Dazu kommen unterschiedliche Cache-Größen und die Hauptspeicheranbindung.
Passt das alles "irgendwie" zusammen, wird die unveränderte Software selbst dann auf einer neuen CPU schneller ausgeführt, wenn sich die Taktfrequenz nicht ändert, theoretisch also gleich viele x86-Befehle pro Sekunden abgearbeitet werden "sollten".
Passt das ganze aber nicht zur (alten) Software, da diese z.B. auf eine festen L1/L2 Cache-Größe optimiert ist, dann kann das auch zur schlechteren Performance führen. War z.B. eine Software für die 64 KB L1-Cache des Zen1 optimiert, so könnten sich dadurch beim Wechsel auf Zen2 mehr Speicherzugriffe ergeben, was wiederum zu weniger Performance führen könnte. Andere Optimierungne von Zen2 mögen das wieder auffangen, womit am Ende exakt diese Software "nur" gleich schnell läuft wie auf Zen1.
Wobei ja AVX bei HD sowie besonders bei Full HD aufnahmen schon was brachte.Allerdings habe ich keines dieser genannten Aufösung sondern nur 720x576er Aufnahmen.Da kommt halt AVX nicht zu Geltung.Es bringt mir also mit etwas glück vielleicht 3 Sekunden schnelleres Umwandeln.Also von 1:56 auf 1:53.
Viel ist das ja nicht.Denn ich weis wie gut AVX sein kann.Ich hatte dabei AVX1 & AVX2 in der Software nen Haken gemacht,damit er es verwenden konnte.
Schluss endlich trotz zwei Aufnahmen gleichzeitig,war der Effekt für mich einfach nicht gegeben.Es war also im Grunde am ende also nichts was der Rede wäre.
Ich habe ne Software die 2 Jahre alt ist,auf dem Stand von 2014 in der Technik,das ist die Tatsache.
Achja Zen 1 bzw die erste Genertation war in der Tat nicht gut gewesen.Da waren die 16 Kerne nicht so viel schneller als ein core i7 mit 10 Kernen gewesen.Scheinbar war diese feste zuordnung der Cache der Software ein dorn im Auge gewesen.
Darum stieg ja als die zweite Generation kam auch die Leistung Massiv an.Das setze die 3 Gerneration in Form der 3000 Serie dann auch fort.
Man könnte also ne Lienie machen,die dann steil nach oben geht.Weshalb dann der Ryzen 9 3950x dann den i9 9980xe dann überholt hatte.Der der zweiten Gernation wurde ja noch als Threadripper 2950x bezeichnet.Dieser war nur auf der Leistung einem i9 7960x gewesen.Also vielleicht noch minimal schlechter aber halt nicht viel vom 7960x entfernt gewesen.
Die erste Generation hieß ja noch Threadripper 1950x.Dieser war ja zwischen einem 10 und 12 Kerner von der Leistung gewesen.Man könnte sagen,das es indirekt als einen 11 Kerner von der Leistung entsprechen hatte.
Woher ich das alles weis,na weil ich die CPUs bei unterschiedlichen Menschen habe testen dürfen.Ich kann also mit 100 % sicherheit sagen,wie die Leistung so ist.Kann man somit auch gut die abhängigkeit der Cache von dem du geschrieben hast auch gut daran es erkennen und hilft das denn zur beurteilung über die Software einem weiter oder nicht?
Nicht jeder Algorithmen kann beliebig parallelisiert werden. Das Neuformatieren eines großen Word-Files wird immer nur auf einem Thread laufen können. Bei Handbrake hängt es vom Codec und der Bildgröße ab, ob der bei mir 8+8 Kerne ausnutzen kann oder nicht.
Der Core-i 4xxx ist schon eineges älter wie 2 Jahre. Wenn die Software erst 2 Jahre alt ist, dann kann sie durchaus Befehle nutzen, welche der core-i 4xxx noch nicht kannte und welche erst auf neueren CPUs aktiviert werden.
Wie man man das denn am besten erklären?
Die Zeiten, in denen für jeden CPU-Befehl festgelegt war, wie viele Taktzyklen die Ausführung dieses Befehls benötigt, sind schon lange vorbei. Die Befehle werden intern in Mikrooperationen zerlegt, zum Teil parallel ausgeführt und das auch noch (mehr oder weniger gut) spekulativ. Wenn es also in der Software eine Verzweigung gibt, die in Abhängigkeit eines Rechenergebnissis mal links oder rechts herum läuft, dann werden u.U. beide Wege schon ausgeführt, bevor die Entscheidung für "links" oder "rechts" bekannt ist (so lange die Daten dies zulassen). Ist die Entscheidung bekannt, wird der nutzlos ausgeführt Pfad verworfen.
Das ist u.U. eines der Probleme bei den Spectre/Meltdown Bugs, weil Daten aus Geschwindigkeitsgründen nicht gut genug gegen einander abgeschottet waren/sind.
Und nun kommen die neuen Prozessorgenerationen ins Spiel. Dort wird u.U. die Anzahl der spekulativ bearbeitbaren Mikrooperationen geändert, die Entscheidung, ob die CPU spekulativ etwas ausführen soll, wird optimiert, es werden mehr Ausführungseinheiten für die Mikrooperationen eingeführt usw. Und dann kann manchmal der Hersteller auch noch die Ausführung gewisser Befehle beschleunigen.
Bei Zen2 hat AMD z.B. die Bandreite für Fließkomma-Berechnungen verdoppelt (insb. für AVX256) und auch bei den Interger-Einheiten wurde einiges optimiert:
AMD Zen 2 – Alle Details zu Ryzen 3000 - ComputerBase
Genauso wurde dort an der Sprungvorhersage gearbeitet, womit (hoffentlich) nicht mehr so viele Befehle spekulativ, aber am Ende nutzlos ausgeführt werden müssen und die Ressourcen für andere Dinge bereit stehen.
Da in der Regel nicht nur ein einziger Thread läuft, teilen sich (spätestens bei SMP) die Threads gewisse Ressourcen. Dazu kommen unterschiedliche Cache-Größen und die Hauptspeicheranbindung.
Passt das alles "irgendwie" zusammen, wird die unveränderte Software selbst dann auf einer neuen CPU schneller ausgeführt, wenn sich die Taktfrequenz nicht ändert, theoretisch also gleich viele x86-Befehle pro Sekunden abgearbeitet werden "sollten".
Passt das ganze aber nicht zur (alten) Software, da diese z.B. auf eine festen L1/L2 Cache-Größe optimiert ist, dann kann das auch zur schlechteren Performance führen. War z.B. eine Software für die 64 KB L1-Cache des Zen1 optimiert, so könnten sich dadurch beim Wechsel auf Zen2 mehr Speicherzugriffe ergeben, was wiederum zu weniger Performance führen könnte. Andere Optimierungne von Zen2 mögen das wieder auffangen, womit am Ende exakt diese Software "nur" gleich schnell läuft wie auf Zen1.
Da sich bei Zen3 gegenüber Zen2 architetonische Änderungen ergeben, muss das dort genauso sein.
Ich hatte Anwendungen, die beim Wechsel vom i7-2600K auf dem i9-9900K langsamer geworden sind. Erst mit der neuesten Version der Software kamen Teile der Benchmark-Mehrleistung dann auch bei dieser Anwendung an.
Denn ne Leistungssteigerung gab es ja dennoch. Finde dieses Verhalten also äußerst merkwürig.
Wie man man das denn am besten erklären?
Momentan gibt es glaube keine CPU der Ryzen Reihe auf der wirklich nur 4 Kerne (1 CCX) verbaut sind. Alle Chiplets die ich kenne bestehen aus 2 CCX und damit 8 Kernen. Sprich es wird der Aufbau eines Chiplets geändert, sodass die Anzahl der Kerne gleich bleibt aber die Anbindungen an Cache und der Kerne untereinander deutlich besser ist mit niedrigeren Latenzen.
Edit: Nicht verwechseln damit das es CPUs gibt welche nur einen aktiven CCX haben. Physisch vorhanden sind trotzdem meines Wissens nach 2 CCX.
https://www.pcgameshardware.de/screenshots/original/2017/10/AMD-Raven-Ridge-Die-Shot-pcgh.png