Also, die Möglichkeit ECC zu nutzen ohne ECC Speicher klingt interessant, dann müsste ja der 9 "Chip" im Controller verbaut sein?
Nein, dies könnte gar nicht funktionieren, dazu müsste man ja so viel RAM dort einbauen, dass es selbst bei der maximalen RAM Ausstattung noch genug ist und dies wären dann 128GB/8 = 16GB. Das wird anderes funktionieren, denn die ECC Funktion kommt ja durch die Redundanz. Damit man beim Lesen einer Speicherzeile auch 64 Bit bekommt, wird normalerweise der ECC Code eben in den zusätzliche Bits der ECC RAM Riegel abgelegt. DDR4 erlaubt achtfach Prefetching, es werden also pro RAM Channel 64 Byte gelesen, bzw. eben 72 Byte bei ECC RAM, 128B bei Dualchannel bzw 144B bei Dualchannel mit ECC RAM Riegeln. In diese zusätzlichen 8 bzw. 16 Byte steht der Hamming Code oder welches Verfahren der Hersteller des RAM Controllers auch immer verwendet um die Bitfehler zu erkennen und nach Möglichkeit zu korrigieren. Man kann aber eben auch auf ein paar Byte Nutzdaten verzichten, denn nimmt man eben 64 Byte und schreibt nur in 56 Byte die Nutzdaten und in die restlichen den Hamming Code und schon hat man eine ECC RAM Funktion ohne ECC RAM Riegel, dies reduziert dann aber die Größe des nutzbaren Arbeitsspeichers um 12,5% und wer 16GB RAM verbaut, hat dann nur 14GB, wer 32GB verbaut hat, dann eben nur 28GB RAM nutzbar, dafür aber die ECC. So dürfte AMD dies auch gelöst haben und ob es so ist, wird man dann an der Reduzierung der Größe des nutzbaren RAMs erkennen. Entsprechend reduziert sich natürlich auch der Speicherdurchsatz, denn man bekommt ja auch weniger Daten bei einem RAM Zugriff, von den gelesenen 64 Byte sind ja nur 56 wirkliche Nutzdaten.
Außerdem dürfte der RAM Controller dann immer die Zugriffe mit dem maximalen achtfach Prefetching machen, denn diese Hamming Codes haben die Eigenschaft umso mehr Fehler korrigieren zu können, je länger sie sind. Deshalb haben die HDD Hersteller ja damals auch von den 512 Byte pro physikalischen Sektor auf 4096 Byte Sektorgröße (meist mit 512e) umgestellt, denn wenn man den Hamming Code über achtmal so viele Daten berechnet und dann auch einen achtmal so lange Code berechnet, hat man eine viel, viel stärkere Möglichkeit Fehler zu korrigieren. Tatsächlich sind die Hamming Codes bei den HDDs daher im Verhältnis kleiner, die sind jetzt über 4k nicht achtmal so groß wie sie bei 512 Byte waren und können sogar noch besser Fehler erkennen und korrigieren.
Immer achtfach Prefetching, also 56 Byte oder bei Dual Channel dann 112 Byte zu laden, wenn man eigentlich viel weniger braucht, bedeutet eine entsprechende Verzögerung bis der Zugriff vorbei ist und der nächsten Zugriff möglich wird. Aber wenn man den Code effizient machen will, muss man ihn eben über möglichst viele Daten erstellen und dies ganze Daten dann auch immer zusammen mit dem Code einlesen, um überhaupt die Fehlererkennung und ggf Fehlerkorrektur ausführen zu können. Wenn also ein Programm oft zufällige RAM Zugriffe über nur z.B. 8 Byte an einer RAM Adresse ausführt, können diese Zugriffe dann eben nicht nicht ohne Prefetching erfolgen.
AMD hat den RYZEN 3000 bei der Demo an einem Betriebspunkt gezeigt, nämlich bei so 75W Leistungsaufnahme, wo die Effizienz sehr gut ist und genau dies wollte AMD zeigen. Die Frage wie viel Leistung er hat wenn es mit einer Leistungsaufnahme von 95W (27% mehr) oder 105W (40% mehr) betrieben wird, kann man nicht aus der Demo ableiten, ebenso daraus niemand erraten, wie hoch die Taktraten maximal gehen können. Der kleine 7nm Fertigungsprozess hat nämlich auch den Nachteil, dass die Fläche auf der die Wärme entsteht, damit auch sehr klein ist. Außerdem ist die Kurve der Leistungsaufnahme über den Takt nicht linear, sondern wenn der Takt gesteigert, steigt die Leistungsaufnahme immer überproportional stark und je höher der Takt ist, umso deutlicher ist dies.
Für 10% mehr Takt braucht man nicht nur 10% mehr elektrische Leistung, sondern mehr als diese 10% und dies kann leicht selbst herausfinden indem man mal die Leistungsaufnahme bei 3GHz ermittelt und dann bei 3,3Ghz, da wird sie auch um mehr als 10% gestiegen sein. Wenn wiederholt man das bei 4 und 4,4GHz und wird sehen, dass die prozentuale Steigerung der Leistungsaufnahme wird nochmal deutlich höher als vorher beim Sprung von 3Ghz auf 3,3Ghz sein.
Die alten FX aus der 32nm Fertigung wurde mit bis 5GHz Takt verkauft, aber versucht mal einen RYZEN aus 14nm oder 12nm Fertigung auf 5GHz zu prügeln, da muss man bei der Kühlung ganz andere Geschütze auffahren, denn die laufen irgendwo bei 4,3 bis 4,5GHz regelrecht an eine Wand wo man für kaum noch mehr Takt dann extrem viel mehr Leistungsaufnahme hinnehmen muss, weshalb dies auch kein Mensch macht. Bei 5GHz hat der alte FX also weniger Leistungsaufnahme und bei 3GHz ist es umgekehrt, die Leistungsaufnahme bei den jeweiligen Taktraten skaliert eben bei unterschiedlichen CPU Architekturen und Prozessen nicht in gleicher Weise und bei den bisherigen RYZEN ist die Kurve fast wie ein Hockeyschläger.