• Mitspieler gesucht? Du willst dich locker mit der Community austauschen? Schau gerne auf unserem ComputerBase Discord vorbei!

Anno Baals großer Anno 1800 Benchmark - RAM-Ranks, Channel, BankGroupSwap

Diverses zum RAM RAM-Ranks, RAM-Channeln und BankGroupSwap​


Dieser Thread ist ein Ableger eines großen Anno 1800 Benchmarks, der aufgeteilt werden musste.
Der Hauptthread mit den Inhaltsverzeichnis bietet Erläuterungen die vorher gelesen werden sollten.

Helfen mehr Ranks pro Channel in Anno 1800?​

Ein Thema, das seit dem Erscheinen der Ryzen CPUs immer wieder diskutiert wurde sind die Anzahl der Memory-Ranks.
Zuletzt gab es Berichte von 9-15% mehr FPS in manchen Spielen wie z.B. in Videos von Hardware Unboxed oder Gamers Nexus bei Vergleichen von 2 zu 4 Riegeln.
Andere Tests wie hier von Computerbase, zeigen eher 2% Unterschiede und das passt auch eher zu den Messungen die ich in einem alten Test ermittelt hatte und wo die Unterschiede bei -2 bis +6% lagen aber oft uneindeutig blieben.
Kurze Erklärung:
Ein DDR4-XMP-Ramstick kann intern so aufgebaut sein wie zwei parallele Ramsticks.
Er hat dann zwei "Ranks" aus je 8 Ramchips, die auf der gleichen Datenleitung sitzen.
Auch bei einem dual Channel System mit 4 Ramslots teilen sich je zwei Slots die Datenleitungen.
Der Ramcontroller spricht die Ramsticks getrennt voneinander an und behandelt auch die beiden Ranks auf einem Ramstick wie zwei unterschiedliche Ramsticks.

Das kann Vorteile beim Kopieren von Daten haben und bei Lesezugriffen die auf den gleichen Datencluster(Memory-Bank) zugreifen.
Entscheidend ist dabei die Anzahl an Ranks die auf einem Channel sitzen. Bei DDR4 können das 1-4 Ranks sein.

Längliche Erklärung:
Bei DDR4 und davor hat jeder Channel des Memory Controllers 64 Datenverbindungen zu den Ramsticks/Riegeln/Dimms. Die Ramchips die auf den Ramsticks sitzen gibt es mit 4, 8 und 16 Datenpins.
Damit der Controller arbeiten kann müssen ausnahmslos alle Datenpins belegt sein und das bedeutet, es gibt die Möglichkeit sechzehn 4-Bit-Chips, acht 8-Bit-Chips oder vier 16-Bit-Chips zu verwenden.
4-Bit-Chips sind fast ausschließlich in Ramsticks für Server relevant und 16-Bit-Chips vor allem in Notebooks.
Ram mit einem schnellen XMP Profil für Spiele-PCs ist fast ausschließlich mit 8-Bit-Chips aufgebaut, um die es nun geht.

Typische Größen für 8-Bit-DDR4-Chips sind 512 MB, 1 GB und im Falle von Micron-B auch 2 GB pro Chip.
Ein 4GB Ramstick kann also nur aus acht Chips mit je 512 MB aufgebaut sein.
Ein 8 GB Ramstick Ramstick ist zu 99% aus acht 1 GB Chips aufgebaut.
Und ein 16 GB Ramstick kann aus acht 2 GB Chips aufgebaut sein.
Es gab aber schon vor der Produktion von Micron-B 16 GB Ramsticks!
Diese sind dann aus sechzehn 1 GB Chips zusammengesetzt, die zusammen 128 Datenpins haben.
Diese werden dann in zwei Gruppen aus je acht Chips zusammengefasst und teilen sich die 64 Datenleitungen zum Memory Controller.
Jede dieser Gruppen ist ein Rank. Es gibt daher Ramsticks mit einem oder mit zwei Memory Ranks.

Jeder 8-Bit-Chip ist intern nochmal in vier Bank Groups aufgeteilt in denen die Daten lagern.
Nachdem auf ein Byte aus einer Bank Group lesend zugegriffen wurde sind die Speicherzellen entleert und die Daten müssen erst zurückgeschrieben werden. Das verzögert einen weiteren Zugriff auf die gleiche Bank Group.
Um so mehr Bank Groups es insgesamt gibt, um so weniger wahrscheinlich ist es, die gleiche Bank Group zu brauchen und daher ist es von Vorteil wenn man mehr Ranks und damit mehr Ramchips und damit mehr Bank Groups hat.

Ich bin auch der Meinung, gelesen zu haben, dass direkt von einem in den anderen Rank geschrieben werden kann und dass die Ranks abwechselnd ihren Datenrefresh durchführen können.
Dann wären mit mehr als einem Rank zumindest immer RAM bereit um Daten abzuspeichern.....bei diesen zwei Punkten bin ich mir nicht mehr sicher ob sie stimmen, da ich Unterschiedliches dazu gehört habe und ich nicht weiß, wie genau der Memory Controller das handhabt.
Hier sitzen bereits alle Daten dazu auf einem Haufen und sogar ein Teaser auf den single Channel Betrieb ist enthalten:
Rankschannelbalkg.png

Anno 1800 interessiert sich nicht die Bohne für die Anzahl der Ranks!
Die Ergebnisse sind oft absolut gleich, oder im Bereich der Messungenauigkeit.

Im untersten Block werden 1RpC(ein Rank pro Channel) mit 2RpC verglichen indem einmal 2x16 GB Micron-E mit sechzehn Chips pro Ramstick und einmal 2x16 GB Micron-B mit acht Chips pro Ramstick verwendet wurden. Und das auf einer Zen 1st Gen CPU.
Im Block darüber wurden ebenfalls 1RpC und 2RpC verglichen, aber hier mit 2x8 und 4x4 GB auf einer Zen2 CPU und bei 2666 MT/s.

Im oberen Block sieht man dann 1, 2 und 4 RpC die erneut keine Unterschiede außerhalb der Messungenauigkeit aufzeigen.

Warum das so ist kann ich nicht sagen, aber ich habe es auch noch mit Zen3 überprüft und auch Messungen mit Cyberpunk 2077 durchgeführt, da ich Berichte gesehen hatte die dort, mit mehr Ranks, besonders viel Steigerung versprechen.

rank2077balkg.png

In Cyberpunk kann ich leichte Vorteil von 2,7-6% finden, die also ungefär da liegen wo auch schon meine uralt Tests lagen.
Ich denke nicht, dass ich etwas falsch mache, da ich alle einstellbaren Timings gleich gesetzt habe und die Reproduzierbarkeit sehr gut ist.
Ich denke eher, dass bei den Tests die solche großen Einflüsse finden, die Subtimings nicht festgesetzt sind und es eher eine Sache der unterschiedlichen Timingauswahl durch das Mainboard ist, als ein echter Vorteil durch mehr Ranks.
Ich mag mich aber auch irren und 15% sind realistisch.:confused_alt:

Welche Nachteile hat man durch Single Channel?​

singlechannelprozeg.png

Wie man sieht fehlen 10-11.5% an Leistung wenn die Ramriegel falsch gesetzt sind. Das ist ein unnötiger Fehler und sollte dringend vermieden werden.
Da sich damit die Bandbreite halbiert, hatte ich eigentlich mit größeren Einbußen gerechnet.
Scheinbar reagiert Anno 1800 nicht so stark auf die Bandbreite und reagiert mehr auf die RAM-Latenz.

Wie sieht es mit BankGroupSwap aus?​

BankGroupSwap ist eine Option die nach dem Erscheinen der ersten Ryzen CPUs im Gespräch war.
Es ging von AMD die Empfehlung aus, die Option zu deaktivieren, weil dies mehr Leistung in einigen Spielen liefern sollte.
Meinen eigenen Tests zufolge die ich damals gemacht habe, musste man unterscheiden ob man einen oder zwei Memory-Ranks pro Channel verbaut hatte und mit 2 Ranks war die Option auf "enabled" meist besser und mit einem Rank war "disabled" meist besser.
Schon damals waren die Unterschiede gering und es war stark abhängig vom Spiel.

Später haben die Bios Versionen die Option BankGroupSwapAlt erhalten, die(wenn sie enabled ist) die eigentliche BankGroupSwap Option überschreibt. Damals haben meine Tests ergeben, dass sie automatisch erkennt ob 1 oder 2 Ranks verbaut sind und dann BankGroupSwap dementsprechend konfiguriert.
BankGroupSwapAlt "enabled" war dann auf 1RcP gleich BankGroupSwap "disabled" und auf 2RpC gleich BankGroupSwap "enabled".

In neuren Tests habe ich aber leichte Unterschiede in den Bandbreiten von Aida64 gefunden, die die drei Konfigurationsmöglichkeiten außerhalb der Messunsicherheit unterscheiden und mich daher dazu entschieden alle drei in Anno zu testen.
BGSverlaufg.png

Wie man sieht gibt es keinerlei Unterschiede die über die Messungenauigkeit hinaus gehen.

Zumindest für Anno 1800 braucht man sich um diese Option also keine Gedanken machen.

Fazit​

Drei Aspekte die ich untersucht habe und drei sehr langweilige Ergebnisse.

Ranks und BankGroupSwap sind für Anno völlig egal.
Und ein single Channel Betrieb kostet 10-11,5% Leistung und damit nicht so viel wie gedacht.
Da niemand einen Spiele-PC mit single Channel betreiben sollte ist dieser Erkenntnisgewinn wenig relevant.

Hat jemand von euch dazu Anmerkungen, Fragen oder hat noch eine ausgefallene Idee zu zukünftigen Tests die in anderen Tests selten behandelt wird?​

<- Vorheriger Thread(RAM: Menge und Geschwindigkeit) --Übersicht-- nächster Thread(DirectX, AMD/Nvidia, Sata/NVMe) ->
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: glkz, HisN, CueSystem und 2 andere
Hi, also eine Ergänzung. Die Ranks bekommt man nicht nur durch mehr Rammodule, es gibt auch Dualranked
Ramriegel. Bei denen ist es dann egal ob man 2 oder 4 Riegel nutzt.

Bei DDR5 gibts eine Abweichnung, anscheinend gibts das dort nur bei Kits die 2*32 GB nutzen, also 64 GB Gesammtkapazität.

Grüsse.
 
Supie schrieb:
Bei denen ist es dann egal ob man 2 oder 4 Riegel nutzt.
Mit dual ranked Riegeln ist man dann aber bei zwei oder 4 Ranks pro Channel, was in anderen Spielen durchaus einen Unterschied machen kann.
Meine 64 GB sind aus vier dual ranked Riegeln zusammengesetzt.

DDR5 ist nochmal anders, da da jeder Riegel aus mindestens zwei Ranks a 32 Bit statt einmal 64 Bit wie bei DDR4 aufgebaut ist.

Und die 8 Bit Chips haben doppelt so viele Bank Groups, was dann einen Gleichstand zu dual ranked bei DDR4 darstellt.
Bei den 8 GB DDR5 Riegeln hat man wohl 16 Bit Chips die nur die halbe Anzahl Bank Groups haben und daher etwas langsamer sind.
 
Zurück
Oben