Eigentlich habe ich keine Zeit für so'n Kleinkram. Erstmal sind die Einheiten völlig Wurst, es ging nur darum eine einfache Formel zu präsentieren. Da im BIOS in der Regel bunt von Taktschlägen (T: meint aber eigentlich die Zeitlänge, die ein Taktschlag dauert) und MHz die Rede ist, während Speicherhersteller und der Rest des Universums in Sekunden bzw. Nanosekunden (hatte ich bereits im Laufe des Threads korrigiert) misst, wurden einfach die Bezeichnungen entsprechend übernommen. Wie man die Einheiten korrekt heraus kürzt darf jemand anderes ausrechnen. Hauptsache das ganze macht Sinn: denn wenn etwas im Takt von 250000 mal pro Sekunde schlagen soll, dann dauert eben ein Schlag 4 ns lang. Und wenn das alles falsch ist, dann ist es mir jetzt auch egal!
Natürlich sind sie das, denn CAS bzw. CL hat den größten Einfluss auf die Performance.
CAS 2.0 bei 200 MHz = 10 ns
CAS 2.5 bei 300 MHz = 8,3 ns
Ganz abgesehen davon hatte ich bereits mehrere Male darauf hingewiesen, dass auch andere Werte als die reinen Speichertimings eine Rolle spielen. Der bekannteste ist die Command-Rate (1T / 2T), aber es gibt noch das Read-To-Write-Delay, sowie das Write-To-Read-Delay, genauso wie das Verhältnis von TRC zu TRAS eine Rolle spielt. In eigenen Benchmarks konnte ich gut am Memtest-Durchsatz ablesen, dass ein zu kleiner TRC genauso wie ein zu großer (!) TRC zu Leistungseinbußen führt (allerdings wenn man ihn mehrere Takte zu groß wählt). Dass man den Wert überhaupt bei einigen BIOSsen frei wählen kann spricht allerdings dafür, dass die Controller der Speicherchips (also auf den Riegeln selbst) evtl. nicht alle gleich arbeiten. Normalerweise sollte TRC innerhalb von TRAS + TRP abgeschlossen sein, aber vielleicht benötigen einige Speicherchips länger. Zur Sicherheit stellen dann Mainboardhersteller TRC etwas höher ein.
Wer sich die weiter oben geposteten Bilder ansieht, erkennt auch einigermaßen warum. Nach dem kompletten TRAS Durchgang braucht der Speicher bzw. Controller Zeit die Bänke auf Spannung zu bringen (TRP: Row Precharge). Auf dem Command/Adressbus findet außerdem ein "row ACT" statt, ist TRC zu niedrig kommt es zu früh (Bänke noch nicht geladen) und muss es wahrscheinlich wiederholt werden, da kenne ich aber nicht die technischen Details, bin ja kein Ingenieur. Kommt es zu spät, dann wurde wertvolle Zeit mit warten verbracht. So oder so stammen die Bilder und Empfehlungen aus einem wissenschaftlichen Artikel der die Simulation von Speicherchips beschreibt. Die Leute dort wissen sehr genau wie Speicher und Controller funktionieren, während wir hier nur die oberste Schicht ankratzen können.
Meine eigenen Benchmarks haben das auf jeden Fall bestätigt. Die oben genannten read/write delays noch relativ selbsterklärend, je höher der Wert desto langsamer der Durchsatz. Beim Verhältnis von CAS zu TRCD und TRP wird es komplizierter. Denn jede Speicheraktion benötigt ein CAS, viele ein TRCD und einige ein TRP. Es ist nämlich nicht nötig für jede Aktion den vollen TRAS/TRC Zyklus zu durchlaufen. Wie und ob das passiert hängt aber von sehr vielen Faktoren ab, u.a. davon wie die von der CPU angeforderten Daten im Speicher abgelegt sind und wie der Controller in den Speicherchips selbst die Anforderungen handhabt.
Aus ähnlichen Gründen können aber müssen Dual-Channel Speicher auch nicht zu höherer Performance führen. Wenn die angeforderten bzw. zu schreibenden Daten alle auf dem selben Speicherriegel liegen, hilft einem auch kein Dualchannel. Der Speicher-Controller (beim Athlon64 in der CPU integriert) ist dafür zuständig die Daten sinnvoll zu verteilen, kann aber auch nicht hellsehen. Man kann sich das durchaus wie eine Festplatte vorstellen: Liegen die angeforderten Daten alle schön beieinander (unfragmentiert) und auf beiden Riegeln (Plattern) verteilt, dann ist weniger Aufwand für den Zugriff notwendig (weniger Bewegung des Festplatten-Lesearms bzw. eine ganze Reihe kann nur mit CAS Zugriffen gelesen werden, TRCD und TRP sind nicht notwendig. Bei Dual-Channel können im günstigsten Fall Daten vom zweiten Riegel übertragen werden, während der erste gerade mit Vorbereitungen oder Refresh beschäftigt ist.