So berechnet man die Latenzzeit von SDRAM.

moshimoshi

Captain
Registriert
Juli 2008
Beiträge
3.904
Ich mach's einfach.
Die Formel lautet: (CAS/SDRAM Speichertakt) X 2000 (Nanosekunden)

Beispiel:
(CAS/SDRAM Speichertakt) x 2000 (nanoskunden)

DDR4 2133 CL16-16-16 VS DDR3-1600, CL6-6-6-21
Berechne

DDR4 16/2133 x 2000 = 15 Ns (Nanosekunden)
DDR3 6/1600 x 2000 = 7.5
Der DDR3 1600 Speicher ist schneller.


Weitere Beispiele:
DDR4-2133, CL15-15-15 = 14
DDR4-2400, CL12-13-13 = 10
DDR4-2666, CL13-14-14 = 9,75
DDR4-3000, CL15-15-15-35 = 10
DDR4-3200, CL16-16-16-36 = 10
DDR4-3300, CL16-16-16-36 = 9,69
DDR4-3333, CL16-16-16-36 = 9,60

DDR3-1866, CL8-9-9-24 = 8,57
DDR3-2133, CL8-10-10-28 = 7,5
DDR3-2400 CL9-11-11-31 = 7,5
DDR3-2666, CL10-12-12-31 = 7,5
DDR3-2933, CL12-14-14-35 = 8,1
DDR3-3000, CL12-14-14-35 = 8

DDR2-533, CL4 = 15
DDR2-400, CL3 = 15
DDR2-800, CL5-5-5-15 = 12,5
DDR2-1000, CL5-5-5-15 = 10
DDR2-1066, CL5-5-5-15 = 9,3

DDR-266, CL2.5 = 18
DDR-333, CL2.5 = 15
DDR-400, CL2.5-3-3-6 = 12,5

SDR-100, CL2-2-2-5 = 20 (2/100*1000)
SDR-133, CL3 = 15



Nur bei Asynchronen RAM ist die Latenz gleichbleibend nicht beim Synchronen RAM, deswegen wird bei SDRAM Modulen statt der gesamten Zeit Angabe, die Zeit in den Timings angegeben, welche wiederum vom Speichertakt abhängen.

Generell desto niedriger die Latenz (meistens teurer RAM) desto schneller.
Ein höhere Latenz kann trotzdem schneller sein, wenn der gesamte Speichertakt höher ist.
Ergo es hängt von beidem ab. Schon mal bemerkt wieso SDRAM so unterschiedlich getaktet ist?
Das 'Beste' SDRAM Modul sollte einen höheren Speichertakt haben aber dafür eine niedrige CAS Latenz + Quality IC (Speicherchip)

Die vom Hersteller empfohlene CAS Latenz setzt sich typischer weise aus dem Speichertakt zusammen. Deswegen kann es gut möglich sein wenn man den Speicher runtertaktet das man die CAS Latenz niedriger setzten kann (Stabiler Betrieb), was bei übertaktetem Arbeitsspeicher zu abstürzen führen kann.

CL ist die Zeit zwischen der Abfrage einer bestimmten Bank am Modul > und > die Zeit bis die Daten bei der Bank abrufbar (verarbeitet) sind.

Nur im Asynchronen Betrieb wird der Intervall in Nanosekunden (Absolute Zeit) spezifiziert.
Im Synchronen wird der Intervall durch die Clock Cycles (Timings) bestimmt, weil die Latenz von dem Speichertakt abhängt statt der (Absoluten Zeit, der eigentlichen Dauer). Die Zeit bevor ein DRAM Modul vom Speichercontroller bis zum Arbeitsspeicher abrufbar ist. Kann sich auch bei 2 gleichen Modulen unterscheiden, wenn die Speichertaktrate unterschiedlich ist.

So ist ein DIMM-Modul mit einer CAS-Latenz von 2 (CL2) nicht unbedingt besser als eines mit 3 (CL3).
Es kommt auch auf den Speichertakt an und das ist hier der Clou.​
 
Das heißt dann also:
DDR2-1066, CL5-5-5-15 = 9,3 ist im Grunde schneller als DDR4-3333, CL16-16-16-36 = 9,60

Richtig?
 
Wo kommen die 2000ns her?

Wenn du von Latenzen sprichst solltest du der Genauigkeit halber zwischen relativer und absoluter Latenz unterscheiden. Ansonsten liest man im Text zig mal Latenz und der Unterschied den du aufzeigen willst ist kaum herauszufinden.

Wikipedia fetzt:
https://de.wikipedia.org/wiki/DDR-SDRAM#Latenzzeiten_im_Vergleich

Wenn du von "schneller" sprichst solltest du vielleicht mal angeben was du damit meinst. Denn ein pauschales schneller gibt es meist nicht. Es gibt ein "schneller" in Form von geringeren absoluten Latenzen aber das juckt Ausführungsgeschwindigkeit der meisten Programme nicht die Bohne ;)
 
die beispielrechnung ist mehr als käse...
ddr3 1600mhz mit cl6 ? also bitte...
ddr4 2100mht mit cl16 ?

wenn schon nimm mal den üblichen standard, min. cl9 , eher cl11 bei ddr3
und ddr4 mit cl16, davon gibts wieviel auf dem markt ? 1-2 module ?
 
Die Formal ist schon Käse :D

CAS / Speicherfrequenz + 2000ns -> Einheitenprobe (ohne Anspruch auf wissenschaftliche Qualität)

(1 / 1Hz) * 1s -> (1s / 1) * 1ns = s²
Aua


Und dabei weiß ich immer noch nicht, wo der gute Mensch die 2000ns herzaubert.
 
Die 2000ns kommen daher daß man die Taktrate eigentlich halbieren muß.
Von dem her ist die Berechnung ansich falsch.
Ergbebnis stimmt ja trotzdem.

Die Formel hast du doch sicher auf Wiki richtig gelesen, oder?

Und die Latenz für sich allein sagt ja auch nichts über die Gesamtgeschwindigkeit aus.
Da man ja z. die höhere Datenrate nicht berücksichtigt.
Gibt auch sicher noch weiter Punkte. Gerade im Vergleich von DDR3 zu DDR4
 
Zuletzt bearbeitet:
Ich habe Formel auf Wikipedia gelesen (und behaupte verstanden zu haben). Nur 2000ns bekommt man da beim aller besten Willen nicht in die Formel hinein. Die Einheitenprobe (siehe oben) geht so schlicht nicht auf. Selbst die Werte liegen Größenordnungen daneben, die die Takte in Megahertz * 1000 ergeben schlicht Werte die um Faktor 1000 zu groß sind (insofern hat er sich bei jeder Rechnung oben verrechnet*) :). Der Faktor 2 hingegen geht in Ordnung, wenn er die Data Rate meint.



*Ist aber nicht so wichtig, Faktor 1000... macht doch nix. Egal ob beim eigenem Kontostand. der Lebenserwartung oder Raumstationen. Der Faktor 1000 machts Kraut nicht fett.
 
Zuletzt bearbeitet:
Ist ganz einfach, die Formel ist normalerweise 2xCL/Takt
Dabei kommt irgend eine Zahl mit x Nullstellen raus, und der TE hat da einfach mal das Komma durch die 2000 Verschoben.
 
Willkürliches Komma verschieben hmm... ich ruf mal fix bei meiner Bank an!

Ok ich trolle ich gebe es zu, um es ganz offen zu sagen, der TE rechnet einfach Stuss. Es werden einfach Einheiten und Einheitenvorsätze ohne Kommentar missachtet. In einer Form die dem Verständnis der ganzen Sache in meinen Augen abträglich ist.
 
Zuletzt bearbeitet:
Die Formal ist schon Käse

Ja das stimmt, es müsste heißen:

(CL*2000)/(Taktrate in MHz) = Latenz in ns

Es wird ohne Einheiten gerechnet.
Beispiel (für 1333MHz mit CL7):

(7*2000)/1333 = 10.5(ns)

Die 1000 wird verwendet um nicht mit MHz rechnen zu müssen und man direkt die ns rausbekommt.

Im Endeffekt ist es halt die normale Formel wie Hisn sie schon gepostet hat, nur das die 1000 die MHz ersetzen.
 
In der Praxis rechnet man (2*1000/1333)*7
Das hat den Vorteil dass man bei der ersten Rechnung in der Klammer gleich noch die tCKmin (Minimum Clock Cycle Time), also die Dauer eines halben (DDR) Takts als Zwischenergebnis erhält.
 
Ich wundere mich, warum du mit einer Latenz und einer MHz-Zahl rechnest, die der RAM in Wirklichkeit gar nicht hat...

Ich rechne mal mit deinem Beispiel:
DDR4-2400, CL12-13-13 hat keine 2400MHz!
Auch die CL-Angaben sind von den Herstellern nur künstlich hochgerechnet.
Real hat RAM meist eine CL2.
Schau mal bitte in diesen Link, da ist es super erklärt:
https://www.computerbase.de/forum/t...mmer-schlechter-werdenden-latenzzeit.1387424/
:D

DDR4-2400, CL12-13-13 hat real einen Memorytakt von 300Mhz.
Und diesen realen Takt sollte man auch für die Berechnungen verwenden, wenn man es nicht unnötig verkomplizieren möchte.
Mann nimmt einfach eine Sekunde und teilt sie durch die Anzhal an Taktzyklen, die der Speicher pro Sekunde schaffen kann... und schon hat man die Zeit, die ein Takt dauert:

Als Zugriffszeit berechnet sich aus (1sec/300MHz)*1 => 3,33ns bei einer CL1
bzw. anders herum formuliert: bei 300MHz dauert jeder Takt 3,33ns
und
Als Zugriffszeit berechnet sich aus (1sec/300MHz)*2 => 6,66ns bei einer CL2
bzw. anders herum formuliert: bei 300MHz dauern 2 Takte 6,66ns
und
Als Zugriffszeit berechnet sich aus (1sec/300MHz)*3 => 10ns bei einer CL3
bzw. anders herum formuliert: bei 300MHz dauern 3 Takte 10ns

Wie du siehst, wenn man mit dem realen Takt rechnet wirds viel einfacher, als wenn man mit dem Pseudotakt "2400" rechnet.

Das ist eine neue interessante Entwcklung durch DDR4.
Bis inkl. DDR3 waren eigentlich fast alle Ramriegel CL2-Module und nur wenige "Schrottmodule" hatten CL3.
Aber seit die Taktrate bei DDR4 so stark anzieht hat jetzt dieses DDR4-Modul eine CL3 und dennoch eine normalschnelle Zugriffszeit von weiterhin 10ns.

Die CL muss man gar nicht ausrechnen, weil die ja vom Hersteller festgelegt wird.
Es ist die Anzahl an Zyklen, die bis zu einem neuen Zugriff benötigt werden.

Aus meiner Berechnung heraus wird auch klar, dass die CL12-Angabe des Herstellers kaum so stimmen kann.
DDR4 mit oben genannten CL-Werten kann es eigentlich nicht geben...
Kurze Erklärung: die MHz-Zahl wird ja künstlich durch den Faktor 8 aufgebauscht.
Die Hersteller nehmen einfach die reale MHz-Zahl *8 und haben dann ihre "Fake-MHz".
Sprich an unserem obigen Beispiel:
300MHz*8=2400MHz

Weil sie das so machen, müssen sie aber auch die CL*8 nehmen, weil sich sonst eine viel zu kurze Zugriffszeit ergeben würde.
Somit müsste jetzt der o.g. Speicher eine Fake-CL von CL3*8=CL24 haben.
Der Hersteller gibt jetzt jedoch eine CL12 an!
Also nur die Hälfte... dieses Vorgehen ist mir soeben erst aufgefallen.
Noch vor wenigen Monaten hatte sämtlicher DDR4-2400-Speicher eine CL24.
Jetzt sollen es nur noch CL12 sein?

Anders gesagt, man kann nicht die MHz mit 8 multiplizieren um auf die Fake-MHz zu kommen, zugleich die CL aber nur mit 4!
Kein Wunder daher auch, dass es Probleme mit den Berechnungen gibt, weil ja der Faktor 2 fehlt, den ihr oben künstlich mit *2000 (anstatt *1000) einbauen müsst.

Leute lasst euch nicht veräppeln, echt unfassbar, würde gerne mal wissen, mit welcher Begründung sie jetzt zu dieser neuen Fake-CL kommen...

Wie es zu den ganzen Umrechnungen kommt, bitte lies es in meinem Link nach, dann muss ich es nicht extra neu tippen...;)
 
Zuletzt bearbeitet:
Unlimited1980 schrieb:
Als Zugriffszeit berechnet sich aus (1sec/300MHz)*1 => 3,33ns bei einer CL1
bzw. anders herum formuliert: bei 300MHz dauert jeder Takt 3,33ns

Hz = 1/s
Also steht bei dir (Einheitenprobe):

1s / 300.000.000 / 1s = s -> s² / 300.000.000 = s
Kurzum, dass was du da rechnest funktioniert schon anhand der Einheitenprobe nicht. Auch wenn der Wert der herauskommt richtig sein mag, das ist eher Zufall als eine richtige Rechnung.

Richtig:

Anzahl Takte / Frequenz

Anzahl Takte ist ohne Einheit und die Frequenz wird in Hz bzw 1/s angegeben.


Welche Frequenz und die Timingwerte angeht, da ist nur wichtig, dass diese sich auf die selbe Referenz beziehen. Nicht mehr und nicht weniger! Auch werden die Frequenzen nicht künstlich aufgebauscht. Was bei RAM wichtig ist, ist die Anbindung nach Außen, also entsprechend der Bustakt oder die erreichbaren MT/s (MegaTransfers je Sekunde). Der interne Arbeitstakt des Speichers interessiert ja am aller wenigsten.
 
Hier der Unterschied in der Praxis.

Habe mal den AS SSD BENCH über meine Ramdisk laufen lassen:
Bild 1: 1.600 MHz, CL 9, CR 2T, CPU-Takt 2,7 GHz
Bild 2: 1.333 MHz, CL 7, CR 1T, CPU-Takt 3,5 GHz
Bild 3: 1.333 MHz, CL 7, CR 2T, CPU-Takt 3,5 GHz
Bild 4: 1.600 MHz, CL 9, CR 2T, CPU-Takt 3,5 GHz

Das Ergebnis hat mich in der Deutlichkeit doch schon überrascht.



Bild_1.pngBild_2.png



EDIT:

Muss meinen Beitrag leider relativieren, sorry.

Habe noch 2 neue Bilder angehängt. Anscheinend hängt die Abweichung in Bild 1 nur mit der geringeren CPU-Taktrate zusammen. Der Speichertakt, die Timings und auch die Command Rate haben kaum Auswirkungen auf den Speicherdurchsatz.

Nochmals sorry.



Bild_3.pngBild_4.png
 
Zuletzt bearbeitet: (Beitrag ergänzt)
An mwh.re Das ist ein sehr guter fund.

Wie ist das zu erklären?

Du schafft mit den Bild 2: 1.333 MHz, CL 7, CR 1T den kleinen Arbeitsspeicher mehr Durchsatz?

Liegt es an 1T?

Da muss ich wirklich rätseln wieso denn sowas Möglich ist, Mit kleineren Arbeitsspeicher einen höheren Durchsatz zu erreichen?

Laut unlimited1980 (https://www.computerbase.de/forum/t...ichts-14-nanometer-ist.1416200/#post-16586860) laufen diese nur mit 200MHZ und per Bank 8 mal Interleaved wenn ich das noch so richtig in Erinnerung habe d.h das die realen 1.600 Mhz nicht erreicht werden. Wenn ich den Beitrag von Unlimited1980 verstanden habe

Aber das ist doch ein klarer Beweis das echter CR 1T Speicher (Der langsamer getaktet ist!) Schneller als 2T 1.600 Mhz ist!

Wieso ich das sagen, weil es mir auch selbst aufgefallen ist, wenn man 1600 Speicher auf 1866MHZ Übertaktet laufen diese seltsamer weise unter Windows langsamer als die originalen 1600MHZ speicher, weil Windows mit denen sichtbar schneller Startet und der PC wenn er lange nicht benutzt wird immer noch die selbe performante leistung bringt.
Bei übertaktetem 1866MHZ Speicher muss ich den PC wenn dieser 5 Tage in betrieb war einmal ausschalten damit ich wieder einen Guten durchsatz erreiche.
Daher lass ich das mit den übertaktet der Speicher sein, denn mir ist aufgefallen einen Mehrgewinnen erreich man dadurch nicht.
Ergänzung ()

Hat den keiner éine Antwort auf die Frage?
Wieso hat mwh.re dort mehr Umsätze?
 
Siehe Post #14.
 
Piktogramm schrieb:
Hz = 1/s
Also steht bei dir (Einheitenprobe):

1s / 300.000.000 / 1s = s -> s² / 300.000.000 = s
Kurzum, dass was du da rechnest funktioniert schon anhand der Einheitenprobe nicht. Auch wenn der Wert der herauskommt richtig sein mag, das ist eher Zufall als eine richtige Rechnung.

Nanana...du denkst also, es kommt bei meiner Rechnung "zufällig" die richtige Zahl raus?
Auch wenn es ein guter Hinweis ist... ich mag die klugscheißerische Art nicht und sooooo einfach kannst du es dir auch nicht machen.
Bloß weil die "Einheitenprobe" nicht stimmt, ist etwas nicht gleich totaler Bullshit!
Der Kehrwert der Frequenz ist die Periodenlänge...

Ich muss zugeben, dass ich die Einheiten nur oberflächlich durchdacht habe.
Aber ich habs ja auch nicht blind aus Wiki rauskopiert.

Daher jetzt in korrigierter Form:
Als Zugriffszeit berechnet sich aus (1/300MHz)*1 => 3,33ns bei einer CL1
bzw. anders herum formuliert: bei 300MHz dauert jeder Takt 3,33ns bei einer CL1
Ergänzung ()

Piktogramm schrieb:
Auch werden die Frequenzen nicht künstlich aufgebauscht. Was bei RAM wichtig ist, ist die Anbindung nach Außen, also entsprechend der Bustakt oder die erreichbaren MT/s (MegaTransfers je Sekunde). Der interne Arbeitstakt des Speichers interessiert ja am aller wenigsten.

Das einzige was hier interessiert ist die Taktrate des RAM!
Zumindest wenn man einfache Berechnungen mit CL und Zugriffzeit anstellen möchte.
Für CL und Zugriffszeit ist alleine die REALE Taktrate des RAM relevant!

Ich wüsste nicht, warum hier MT/s helfen sollten.
MT/s sind ohnehin absolut wertlos, weil es lange vor ihrer künstlichen Einführung bereits den Begriff der Bandbreite gab, der weniger zweideutig und genauer die Bandbreite des RAM angibt.
MT/s tut so als wäre es etwas supertolles Neues, dabei gibt dieser Wert einfach nur ebenfalls die Bandbreite an.

So überflüssig wie ein Kropf.
Wie wenn man bei Autos schreiben würde:

Leistung: 420PS
Pferdestärken: 420

Piktogramm schrieb:
Was bei RAM wichtig ist, ist die Anbindung nach Außen, also entsprechend der Bustakt oder die erreichbaren MT/s (MegaTransfers je Sekunde). Der interne Arbeitstakt des Speichers interessiert ja am aller wenigsten.

Erklär mal bitte, was du mit "Der interne Arbeitstakt des Speichers", im Gegenzug zu " Anbindung nach Außen, also entsprechend der Bustakt" überhaupt meinst.
Ich vermute an dieser Stelle nämlich einen Denkfehler deinerseits.
Wie gesagt, es geht hier ja um die Berechnung der Latenzzeit aus der Cl...

Ich zitiere hier mal die Wiki:
http://de.wikipedia.org/wiki/Column_Address_Strobe_Latency
"Die CL gibt an, wie viele Taktzyklen der Speicherbaustein benötigt, um die während des CAS gelieferten Daten zu verarbeiten, bevor er weitere Befehle entgegennehmen, bzw. das Ergebnis mitteilen kann. Je höher der CL-Wert, desto mehr Taktzyklen werden für die Verarbeitung benötigt, womit auch die davon abhängende Verzögerung größer wird."

Da steht nirgends "wie viele Bustakte der Bus" braucht... es geht eindeutig und logischerweise um die Taktzyklen des Speichers!
Da kann sich auch jeder selber mit einem gesunden Menschenverstand zusammenreimen.

Wenn ich da schon wieder 2 Posts weiter oben lesen, wo die Leute von einem angeblichen SPeicher mit 1600MHz schreibt!
Das gibt es nicht!!!!

Der 1600MT/s-DDR3-Speicher hat nur lächerliche 200MHz Speichertakt!
Punkt.

200MHz
Daraus errechnet sich im Kehrwert (1/200MHz) eine Dauer pro Takt von 5ns.
Bei einer CL2 hat der Speicher also eine Zugriffszeit von 10ns.

Bei einer CL3 wären es 15ns.


Ich denke Ax156 hat es schon richtig verstanden... wenn man den Speicher übertaktet bekommt man schlechtere Werte

Unübertakteter Speicher,
reale Werte
200MHz/CL2/5ns/10ns
fakewerte
1600MHz/CL8

Übertakteter Speicher,
reale Werte
233MHz/CL3/4,3ns/12,875ns
fakewerte
1866MHz/CL12

Übertakteter Speicher muss meist auf CL3 erhöhen, welches der FakeCL12 entspricht, also eine deutliche Verschlechterung auf eine Latenzzeit von 12,875ns!
Das wird auch nur teilweise dadurch kompensiert, dass der Speicher ja jetzt schneller taktet und 1 CL dadurch auch kürzer wird.
FakeCL-Werte zwischen 8 und 12 gibt es nicht real, weil man real einen Sprung von einer Lantenzzeit von CL2 auf CL3 macht. Es gibt real keine Latenzzeit von CL2.5 oder einem halben Takt -ist ja auch logisch!


Bitte benutzt zum Ausrechnen der Latenzzeit immer den realen Speichertakt.
Das ist dann ein einfacher Dreisatz!
Außerdem können euch die Speicherhersteller dann nicht mehr so leicht mit ihren FakeCL-Angaben über den Tisch ziehen, wenn ihr darüber informiert seid, welche CL-Angaben überhaupt nicht realistisch von einem Speicher bei einem bestimmten REALEN Takt umgesetzt werden können und er dadurch automatisch zur nächst schlechteren CL-Stufe "Runterschalten" muss.

Wenn man alle Nullen zuvor wegkürzt kann man auch noch einfacher rechnen:

1/200MHz => 1/0,2THz => 1ns/0,2=5ns
1/233MHz => 1/0,233THz => 1ns/0,233=4,3ns
 
Zuletzt bearbeitet:
Ich hätte gerne mal eine Quelle, die Deine Aussagen untermauert. Warum MUSS übertakteter Speicher auf CL3 erhöhen? Versteh ich nicht. Und was ist für Dich überhaupt "übertakteter Speicher"? Warum bezeichnest Du ein 1600MHz Modul als "unübertakteter Speicher", ein 1866MHz oder ein DDR4-2400 Modul als "übertakteter Speicher"? Ist ja wohl völlig willkürlich gewählt, diese Grenze...
 
Unlimited1980 schrieb:
Nanana...du denkst also, es kommt bei meiner Rechnung "zufällig" die richtige Zahl raus?
[...]
Bloß weil die "Einheitenprobe" nicht stimmt, ist etwas nicht gleich totaler Bullshit!

Öhm doch, wenn die Einheitenprobe nicht passt, dann ist das Ergebnis immer Bullshit. Die Einheit stellt eine Bezugsgröße dar und wenn diese falsch ist, ist das Ergebnis im Ganzen falsch und damit auch die Aussage einer Gleichung entsprechend sinnlos.

Unlimited1980 schrieb:
Der Kehrwert der Frequenz ist die Periodenlänge...

Stimmt, auch wenn das bisher nicht von Belang war :)


Daher jetzt in korrigierter Form:
Als Zugriffszeit berechnet sich aus (1/300MHz)*1 => 3,33ns bei einer CL1
bzw. anders herum formuliert: bei 300MHz dauert jeder Takt 3,33ns bei einer CL1

YEAH, die Einheiten stimmen (und auch die Werte) :)



Ich wüsste nicht, warum hier MT/s helfen sollten.
MT/s sind ohnehin absolut wertlos, weil es lange vor ihrer künstlichen Einführung bereits den Begriff der Bandbreite gab, der weniger zweideutig und genauer die Bandbreite des RAM angibt.
MT/s tut so als wäre es etwas supertolles Neues, dabei gibt dieser Wert einfach nur ebenfalls die Bandbreite an.

So überflüssig wie ein Kropf.
Wie wenn man bei Autos schreiben würde:

Leistung: 420PS
Pferdestärken: 420

Ja, nein und vielleicht :D

Die Angabe der Latenz mittels der "CL Werte" ist immer eine relative Angabe. Entsprechend sind diese Werte von der Bezugsgröße abhänig. Wobei es egal ist, welche Bezugsgröße man nimmt, solang sich beide Werte aufeinander beziehen ist alles in Butter. Das war die erste Aussage.

Die zweite Aussage ist, dass die interne Arbeitsfrequenz der Speicherchips für die meisten Anwendungen recht egal ist und man entsprechend gleich sinnvolle Werte für die Geschwindigkeit der Anbindung angibt. Wobei ein anderes Wort für Anbindung schlicht und ergreifend "Bus" ist. Wobei auch hier wieder egal ist, ob man die MT/s angibt, den I/O Takt oder was auch immer. Hauptsache es ist erkennbar was es ist (naja und der Empfänger der Information muss wissen, was die Aussage zwischen Wert + Einheit + angegebener Größe ist (AHHH schonwieder Einheiten :D )).
Sinnvollerweise gibt man bei Busen jedoch nicht die interne Arbeitsfrequenz der einzelnen Kommunikationspartner an, ht umrechnen und werden trotzdem zusammen angegeben. Also ist dein Beispiel (wie die meisten Autobeispiele in der IT) wirksondern eine typische Größe des Buses und normiert alle sich darauf basierenden Größen auf diese Größe (zum Beispiel die "CL Werte"). Denn was interessiert ist nicht, dass die Speicherzellen mit 200MHz laufen, sondern dass beim Kommunikationspartner ein Vielfaches an Information je Sekunde ankommt :)

Im Übrigen steht im Fahrzeugbrief die Leistung des Fahrzeugs einmal in PS und einmal in kW. Die Werte lassen sich über einen Faktor kinderleicht umrechnen und werden trotzdem zusammen angegeben. Also ist dein Beispiel (wie die meisten Autobeispiele in der IT) wirklich unpassend :D
 
AnkH schrieb:
Versteh ich nicht. Und was ist für Dich überhaupt "übertakteter Speicher"? Warum bezeichnest Du ein 1600MHz Modul als "unübertakteter Speicher", ein 1866MHz oder ein DDR4-2400 Modul als "übertakteter Speicher"? Ist ja wohl völlig willkürlich gewählt, diese Grenze...

Herrje, was die Leute manchmal alles nicht verstehen, ... :D naja, vermutlich stehst du nur etwas auf dem Schlauch... siehst den Wald vor lauter Bäumen nicht, daher easy:D:
Du willst also wissen, was übertakteter Speicher ggü. unübertaktetem Speicher ist?
Wenn du Speicher kaufst mit einem Speichertakt von 200MHz und diesen:
A. mit 200MHz betreibst, dann ist er unübertaktet
B. diesem mit einem beliebigen Takt >200MHz betreibst, z.B. 233MHz, dann ist dieser übertaktet.

AnkH schrieb:
Ich hätte gerne mal eine Quelle, die Deine Aussagen untermauert. Warum MUSS übertakteter Speicher auf CL3 erhöhen? Versteh ich nicht.

Die Quelle ist wiki und dein eigener gesunder Menschenverstand.
Und ja, was ich mit dem o.g. BEISPIEL sagen wollte ist:

Die "echte CL" wird in der Zahl der Takte des "echten Speichertaktes" angegeben, daher kann man sie immer nur in 1er-Schritten erhöhen!
Überleg mal warum man die CL nur in 1er-Schritten erhöhen kann?
...und nicht in 0.5er-Schritten?
Gibt es halbe Bits?
Gibt es halbe Takte?
Gibt es halbe Menschen?

Jedenfalls glaube mir, es ist so!
Es gibt dadurch nur CLs folgender Reihe:

CL1
CL2
CL3
CL4
CL5
CL6
etc...


Weil die auf den Modulen aufgedruckte Fake-CL jedoch ein Vielfaches der "echten CL" ist, kann sich diese nicht in 1er-Schritten erhöhen, sondern nur in "Vielfachen" der echten CL.
Das meinte ich mit dem "MUSS"!
Der Speicher MUSS in Fake-CL gemessen immer in 4er-Schritten erhöhen!
Das ist rein willkürlich und schwachsinnig und unnötig kompliziert von den RAM-Herstellern so festgelegt, weil sie nur so den Speicher anstatt als 200MHz-Speicher als 1600-erter-Speicher verkaufen können, ohne dass man es Betrug nennen könnte.

Ich bin dagegen, dass man es auf diese Weise unnötig verkompliziert!

==============================================
Kleiner Exkurs bezüglich Berechnung der Fake-CL:
Derzeit scheint es so, dass die SPeicherhersteller WILLKÜRLICH für die Fake-CL den Multiplikator 4 gewählt haben.
Was ich kritisiere, da man für den Fake-Speichertakt den Multiplikator 8 gewählt hat!
D.h. die Hersteller geben die Fake-CL derzeit eigentlich falsch an, sie ist in Wirklichkeit höher!
Doppelt so hoch!

Wenn man die MHz mit 8*200Mhz=1600Mhz angibt, dann muss man auch die CL mit 8*CL2= CL16 angeben!
Ich habe noch nicht herausgefunden, wie und mit welcher Begründung sich die Hersteller erlauben können an dieser Stelle zu tricksen!
Bis vor kurzen jedenfalls wurde die Fake-CL bei DDR3-1600 noch korrekt mit CL16 angeben und mit Einführung von DDR4 wurde stillschweigend auf die Angabe von CL8/9 gewechselt... ohne Angabe von Gründen, wohlgemerkt, bei genau dem selben Speicher.
Der Speicher ist real weder schneller noch langsamer geworden.

Man hat einfach auf die Kritik an DDR4 und die angeblich so hohe Fake-CL reagiert und diese künstlich halbiert.
Immerhin hatte Standard DDR4 "damals" Fake-CL-Werte von CL24.
Der größte Witz dahinter war jedoch, dass die echte CL NIE so hoch gestiegen ist, sondern schon seit Jahrzehnten bei CL2 und 10ns liegt!
siehe mein Thread hierzu:
https://www.computerbase.de/forum/t...mmer-schlechter-werdenden-latenzzeit.1387424/
Die Hersteller hatten sich das Problem nur selber ins Haus geholt, durch die Angabe der viel zu hohen Fake-MHz, mussten sie auch viel zu hohe Fake-CL angeben.
So lächerlich.

Wohlgemerkt bedeutet Fake-CL24 bei 2400Fake-MHz aber immernoch eine Zugriffzeit von 10ns!
Genauso so schnell wie Fake-CL16 bei 1600Fake-MHz, das hatte nach der damaligen Fake-CL-Angabe auch eine Zugriffszeit von 10ns...
Auch jetziges Fake-Mhz-RAM mit der zugehörigen Fake-CL-Angabe hat weiterhin eine Standard-Zugriffszeit von 10ns:
Fake-CL12 bei 2400Fake-MHz: 10ns
Fake-CL8 bei 1600Fake-MHz: 10ns

Es sah also vorher/nachher nur auf dem Papier schlechter/besser aus.
...der Speicher selber war in echten MHz und echten CL gemessen nie besser/schlechter... es ist so lächerlich!
Man pickt sich quasi die Rosinen raus.
Der Speichertakt wird neuerdings mit einem hohen Multiplikator erhöht, die Zugriffszeit aber mit einem nur halb so hohen.
==============================================

Wie auch immer, das ist ein weites Feld und ein völlig anderes Thema!
Hier gehts einfach nur um die Berechnung der Zugriffszeit und die Anzahl der Latenzzyklen.
Jedenfalls für Fake-CL sieht die Reihe dann so aus:


Vergleichsreihe echte CL und Fake-CL
[table="width: 500, class: outer_border, align: left"]
[tr]
[td]echte CL[/td]
[td]Faktor[/td]
[td]Fake-CL[/td]
[td]MHz[/td]
[td]berechnete Zeit pro Taktzyklus [ns][/td]
[td]berechnete echte Zugriffszeit [ns][/td]
[/tr]
[tr]
[td]CL1[/td]
[td]*4[/td]
[td]CL4[/td]
[td]200[/td]
[td]5[/td]
[td]5[/td]
[/tr]
[tr]
[td]CL2[/td]
[td]*4[/td]
[td]CL8[/td]
[td]200[/td]
[td]5[/td]
[td]10[/td]
[/tr]
[tr]
[td]CL3[/td]
[td]*4[/td]
[td]CL12[/td]
[td]200[/td]
[td]5[/td]
[td]15[/td]
[/tr]
[tr]
[td]CL4[/td]
[td]*4[/td]
[td]CL16[/td]
[td]200[/td]
[td]5[/td]
[td]20[/td]
[/tr]
[tr]
[td]CL5[/td]
[td]*4[/td]
[td]CL20[/td]
[td]200[/td]
[td]5[/td]
[td]25[/td]

[/tr]
[/table]
Anmerkung: Die "berechnete echte Zugriffszeit [ns]" berechnet sicher folgendermaßen:
"berechnete Zeit pro Taktzyklus [ns]" * "echte CL" = 5ns * 2 = 10ns

Dabei wird dann auch klar, dass es keine Fake-CL von CL9 / CL10 oder CL11 geben kann, weil diese einer echten CL von CL2,25 / CL2,5 und CL2,75 entsprechen würde.
Somit "echte" CL-Werte, die nicht möglich sind.

D.H. der RAM im o.g. Beispiel muss immer von Fake-CL8 auf Fake-CL 12 hochspringen.
Damit ist die CL aber deutlich schlechter geworden, als eigentlich "geplant" mit CL9.... und ein Übertakten lohnt sich oft nicht mehr.

Als unbedarfter User stellt man also evtl. CL9 ein, damit man gut übertakten kann.
Man denkt, das ist ja nicht so viel langsamer.
Aber was man halt nicht weiß ist, dass das System jeden Wert >Fake-CL8 intern automatisch als CL12 registrieren muss.
Somit fährt man doch erheblich schlechter, als man eigentlich vorhatte.
Dies dürfte sich auch in den Benchmarks zeigen.

Dies erklärt auch, weswegen 1600ertder RAM mit Fake-CL8 schneller ist als 1866er mit Fake-CL9.
Diese Information ist daher beim RAMkauf sehrsehr wichtig, wenn man sich von den Herstellern nicht durch die Fake-CL-Angaben über den Tisch ziehen lassen möchte!
Denn in Wirklichkeit hat der o.g. Beispiel-RAM folgende Werte
1600er: 200MHz, CL2, 10ns
1866er: 233MHz, CL3, 12,875ns
Sprich für einen geringen Vorteil (33MHz) muss letzterer eine -in Takten gemessen- 50% schlechtere CL in Kauf nehmen. Dies wird zwar teilweise kompensiert, da der Takt höher ist und ein Takt dadurch weniger lang braucht, als bei 200MHz-Speicher, aber der Nachteil durch die deutliche Erhöhung der echten CL (28,75%) ist unterm Strich größer, als der Vorteil durch die höhere Taktrate (16,5%).
Somit ist in diesem Bsp. der 1866-er Speicher ca. 12,25% langsam als der 1600erter.

Als Anleitung für den Alltag gilt somit: kauft niemals irgendeinen RAM der schlechter ist als Fake-CL8!
Fake-CL9 suggeriert nämlich einen nur marginal schlechteren CL-Wert, der jedoch real erheblich schlechter ist, da intern auf CL12 oder gar CL16 "aufgerundet" werden muss (je nachdem wie der Hersteller bei diesem RAM die intransparenten Fakewerte halt berechnet hat). Der "eingestellte Wert von CL9 wird euch zwar in allen Tools brav angezeigt, aber intern wird mit anderen Werten gearbeitet.
Überprüft es am besten selber mit Benchmarks.

Würden die Hersteller den ganzen Fake-MHz und Fake-CL-Schrott einfach weglassen, hätten wir diese ganze Problematik erst gar nicht!
Aber die Hersteller könnten auch nicht verschleiern, wie schlecht ihr Fake-CL-Speicher wirklich performt.
Ergänzung ()

Piktogramm schrieb:
Die Angabe der Latenz mittels der "CL Werte" ist immer eine relative Angabe. Entsprechend sind diese Werte von der Bezugsgröße abhänig. Wobei es egal ist, welche Bezugsgröße man nimmt, solang sich beide Werte aufeinander beziehen ist alles in Butter. Das war die erste Aussage.

Cool, das ist völlig richtig so!
:D
Piktogramm schrieb:
Die zweite Aussage ist, dass die interne Arbeitsfrequenz der Speicherchips für die meisten Anwendungen recht egal ist und man entsprechend gleich sinnvolle Werte für die Geschwindigkeit der Anbindung angibt. Wobei ein anderes Wort für Anbindung schlicht und ergreifend "Bus" ist. Wobei auch hier wieder egal ist, ob man die MT/s angibt, den I/O Takt oder was auch immer. Hauptsache es ist erkennbar was es ist (naja und der Empfänger der Information muss wissen, was die Aussage zwischen Wert + Einheit + angegebener Größe ist (AHHH schonwieder Einheiten :D )).
Sinnvollerweise gibt man bei Busen jedoch nicht die interne Arbeitsfrequenz der einzelnen Kommunikationspartner an, ht umrechnen und werden trotzdem zusammen angegeben. Also ist dein Beispiel (wie die meisten Autobeispiele in der IT) wirksondern eine typische Größe des Buses und normiert alle sich darauf basierenden Größen auf diese Größe (zum Beispiel die "CL Werte"). Denn was interessiert ist nicht, dass die Speicherzellen mit 200MHz laufen, sondern dass beim Kommunikationspartner ein Vielfaches an Information je Sekunde ankommt :)

Hier hast du nur teilweise recht!
Weil: es geht in diesem Thread darum die Zugriffszeit des Speichers in ns zu berechnen und darum eine SINNVOLLE CL-Angabe zu machen.
Für beides ist einzig und alleine der "echte Speichertakt" des Speichers relevant und nichts anderes.

Aus diesen beiden Werten lassen sich die beiden gesuchten Parameter am leichtesten Berechnen (einfach der Kehrwert!!) bzw. damit kann man am besten Rückschlüsse auf wahre Qualität und Geschwindigkeit des Speicher ziehen, wohingegen die Fake-MHz und Fake-CL einzig und alleine von den Herstellern zu Marketingzwecken geschaffen wurden und dem User im Alltag keinerlei Vorteile bringen, sondern nur den Herstellern dabei helfen schlechten Speicher auf dem Papier gut aussehen zu lassen und zu besseren Preisenzu verkaufen zu können.

U.A. ist es, wie ich es oben geschildert habe, durch die verworrenen Angaben von Fake-CL und Fake-MHz möglich, geschickt die wahre (schlechte) CL zu verschleiern und dadurch langsameren Speicher so aussehen zu lassen, als wäre er schneller...

Abschließend noch zu deinem letzten Satz: für die Angabe von Zugriffszeit und CL ist die Angabe der Bandbreite völlig irrelevant!
Aber FALLS mich die Bandbreite wirklich interessiert, dann ist auch einzig die Angabe der BANDBREITE interessant und nicht irgendwelche Fake-Werte des Herstellers.

Also auch wenn es in diesen Thread (s.Überschrift!) eigentlich nicht um die Bandbreite geht, kann ich ja trotzdem gerne mal drauf eingehen: ich finde auch diese lässt sich viel einfacher und für den gesunden Menschenverstand nachbvollziehbarer aus der echten Takrate berechnen, als aus irgendwelchen Fake-Werten!

Aus der echten MHz-Zahl kann ich ganz easy die Bandbreite berechnen:
[Beispielswerte in Klammer, 1600erter DDR3)
[Taktrate(200MHz) * pro Takt übertragene Bits (512bit)]/8 = 12800MB/s

Anmerkungen:
=> [die eckige Klammer wird durch 8 geteilt], um von Bits auf Byte umzurechnen
=> die "pro Takt übertragene Bits (512bit)" errechnen sich folgendermaßen:

pro Takt übertragene Bits (512bit) = Datenbreite des Moduls (64bit) * Datentransportkapazitätmultiplikator pro Takt durch prefecht (8)

Also abschließend gesagt, es gibt wirklich keinen grund für die ganzen Fakewerteschwemme der Hersteller.
Die echten Werte sind transparenter, man kann besser mit ihnen rechnen, sie zeigen anschaulicher und unkomplizierter, welche Qualität der Speicher wirklich hat.
Man kann Speicher damit erheblich besser vergleichen und sieht sofort welcher zwar eine höhere Taktrate hat, aber dennoch langsamer sein muss.

Die Fakewerteschwemme ist nur für den Hersteller wichtig, weil sie den Consumer komplett verwirrt und den Speicherkauf zu einer Wissenschaft macht, die er eigentlich gar nicht ist.
Darüber hinaus wird durch die hohen Fake-MHz-Angaben bzw. künstlich gesunkenen Fake-CL-Angaben ein Fortschritt suggeriert, der im schlechtesten Fall real gar nicht existiert und damit Kaufanreize gegeben, die im schlechtesten Fall sogar den uninformierten Konsumenten dahin leiten können, einen schnellen Speicher durch langsameren zu ersetzen und dabei auch noch mehr gutes Geld für den langsameren auszugeben, als der schnellere kosten würde....
:D
 
Zuletzt bearbeitet:
Zurück
Oben